je/examples/collections/ship/sentity/Part.java
2021-06-06 13:46:45 -04:00

96 lines
2.4 KiB
Java
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*-
* Copyright (C) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
*
* This file was distributed by Oracle as part of a version of Oracle Berkeley
* DB Java Edition made available at:
*
* http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
*
* Please see the LICENSE file included in the top-level directory of the
* appropriate version of Oracle Berkeley DB Java Edition for a copy of the
* license and additional information.
*/
package collections.ship.sentity;
import java.io.Serializable;
/**
* A Part represents the combined key/data pair for a part entity.
*
* <p> In this sample, Part is created from the stored key/data entry using a
* TupleSerialEntityBinding. See {@link SampleViews.PartBinding} for details.
* </p>
*
* <p> The binding is "tricky" in that it uses this class for both the stored
* data entry and the combined entity object. To do this, the key field(s) are
* transient and are set by the binding after the data object has been
* deserialized. This avoids the use of a PartData class completely. </p>
*
* <p> Since this class is used directly for data storage, it must be
* Serializable. </p>
*
* @author Mark Hayes
*/
public class Part implements Serializable {
private transient String number;
private String name;
private String color;
private Weight weight;
private String city;
public Part(String number, String name, String color, Weight weight,
String city) {
this.number = number;
this.name = name;
this.color = color;
this.weight = weight;
this.city = city;
}
/**
* Set the transient key fields after deserializing. This method is only
* called by data bindings.
*/
final void setKey(String number) {
this.number = number;
}
public final String getNumber() {
return number;
}
public final String getName() {
return name;
}
public final String getColor() {
return color;
}
public final Weight getWeight() {
return weight;
}
public final String getCity() {
return city;
}
public String toString() {
return "[Part: number=" + number +
" name=" + name +
" color=" + color +
" weight=" + weight +
" city=" + city + ']';
}
}