Package org.apache.sis.util.iso
Class DefaultRecord
Object
DefaultRecord
- All Implemented Interfaces:
- Serializable,- Record
A list of logically related elements as (name, value) pairs in a dictionary.
 By definition, all record fields have a [1 … 1] multiplicity
 (for a more flexible construct, see features).
 Since all fields are expected to be assigned a value, the initial values on 
DefaultRecord
 instantiation are unspecified. Some may be null, or some may be zero.
 Limitations
- Multi-threading: DefaultRecordinstances are not thread-safe. Synchronization, if needed, shall be done externally by the caller.
- Serialization: this class is serializable if the associated RecordTypeand all values are also serializable. Note in particular thatDefaultRecordSchemais currently not serializable, so users wanting serialization may need to define their own schema implementation.
- Since:
- 0.5
- See Also:
Defined in the sis-metadata module
- 
Constructor SummaryConstructorsConstructorDescriptionDefaultRecord(Record record) Creates a new record initialized to a shallow copy of the given record.DefaultRecord(RecordType type) Creates a new record for the given record type.
- 
Method SummaryModifier and TypeMethodDescriptionstatic DefaultRecordcastOrCopy(Record other) Returns a SIS implementation with the name and fields of the given arbitrary implementation.booleanCompares this record with the given object for equality.Deprecated.Returns the dictionary of all (name, value) pairs in this record.Returns the type definition of this record.intReturns a hash code value for this record.locate(MemberName name) Returns the value for an attribute of the specified name.voidset(MemberName name, Object value) Sets the value for the attribute of the specified name.voidSets all attribute values in this record, in attribute order.Returns a string representation of this record.
- 
Constructor Details- 
DefaultRecordCreates a new record for the given record type. The initial values are unspecified - they may be null or zero. Callers can assign values by a call tosetAll(Object[]).- Parameters:
- type- the type definition of the new record.
 
- 
DefaultRecordCreates a new record initialized to a shallow copy of the given record. The fields contained in the given record are not recursively copied.- Parameters:
- record- the record to copy (cannot be null).
- Since:
- 0.8
 
 
- 
- 
Method Details- 
castOrCopyReturns a SIS implementation with the name and fields of the given arbitrary implementation. This method performs the first applicable action in the following choices:- If the given object is null, then this method returnsnull.
- Otherwise if the given object is already an instance of DefaultRecord, then it is returned unchanged.
- Otherwise a new DefaultRecordinstance is created using the copy constructor and returned. Note that this is a shallow copy operation, since the fields contained in the given object are not recursively copied.
 - Parameters:
- other- The object to get as a SIS implementation, or- nullif none.
- Returns:
- A SIS implementation containing the fields of the given object
         (may be the given object itself), or nullif the argument wasnull.
- Since:
- 0.8
 
- If the given object is 
- 
getRecordTypeReturns the type definition of this record.- Specified by:
- getRecordTypein interface- Record
- Returns:
- the type definition of this record.
 
- 
getAttributesDeprecated.RenamedgetFields()for consistency with the 2015 revision of ISO 19103 standard.Returns the dictionary of all (name, value) pairs in this record. This method returns a view which will delegate allgetandputoperations to thelocate(MemberName)andset(MemberName, Object)methods respectively.- Specified by:
- getAttributesin interface- Record
- Returns:
- the dictionary of all (name, value) pairs in this record.
- See Also:
 
- 
getFieldsReturns the dictionary of all (name, value) pairs in this record. This method returns a view which will delegate allgetandputoperations to thelocate(MemberName)andset(MemberName, Object)methods respectively.- Returns:
- the dictionary of all (name, value) pairs in this record.
- Since:
- 1.1
 
- 
locateReturns the value for an attribute of the specified name.
- 
setSets the value for the attribute of the specified name.- Specified by:
- setin interface- Record
- Parameters:
- name- the name of the attribute to modify.
- value- the new value for the attribute.
- Throws:
- IllegalArgumentException- if the given name is not a field of this record.
- ClassCastException- if the given value is not an instance of the expected type for this record.
 
- 
setAllSets all attribute values in this record, in attribute order.- Parameters:
- newValues- the attribute values.
- Throws:
- IllegalArgumentException- if the given number of values does not match the expected number.
- ClassCastException- if a value is not an instance of the expected type for this record.
 
- 
equalsCompares this record with the given object for equality.
- 
hashCodepublic int hashCode()Returns a hash code value for this record.
- 
toStringReturns a string representation of this record. The string representation is for debugging purpose and may change in any future SIS version.
 
- 
getFields()for consistency with the 2015 revision of ISO 19103 standard.