org.opengis.util
Interface Record


@UML(identifier="Record",
     specification=ISO_19103)
public interface Record

A list of logically related elements as (name, value) pairs in a dictionary. A record may be used as an implementation representation for features.

This class can be think as the equivalent of the Java Object class.

Since:
GeoAPI 2.1
See Also:
RecordType

Method Summary
 Map<MemberName,Object> getAttributes()
          Returns the dictionary of all (name, value) pairs in this record.
 RecordType getRecordType()
          Returns the type definition of record.
 Object locate(MemberName name)
          Returns the value for an attribute of the specified name.
 void set(MemberName name, Object value)
          Sets the value for the attribute of the specified name.
 

Method Detail

getRecordType

@UML(identifier="recordType",
     obligation=OPTIONAL,
     specification=ISO_19103)
RecordType getRecordType()
Returns the type definition of record. All attributes named in this record must be defined in the returned record type. In other words, the following relationship must holds:

This method can be think as the equivalent of the Java Object.getClass() method.

Returns:
The type definition of this record, or null.

getAttributes

@UML(identifier="memberValue",
     obligation=MANDATORY,
     specification=ISO_19103)
Map<MemberName,Object> getAttributes()
Returns the dictionary of all (name, value) pairs in this record. The returned map shall not allows key addition. It may allows the replacement of values for existing keys only.

Returns:
The dictionary of all (name, value) pairs in this record.
See Also:
RecordType.getMemberTypes()
Departure from OGC/ISO specification:
Figure 15 in ISO 19103:2005 specifies a cardinality of 1. However, this seems to contradict the semantics of the locate(name) and RecordType.getMemberTypes() methods.

locate

@UML(identifier="locate",
     obligation=MANDATORY,
     specification=ISO_19103)
Object locate(MemberName name)
Returns the value for an attribute of the specified name. This is functionally equivalent to getAttributes().get(name). The type of the returned object is given by getRecordType().getMemberTypes().get(name).

Parameters:
name - The name of the attribute to lookup.
Returns:
The value of the attribute for the given name.
See Also:
RecordType.locate(MemberName)

set

void set(MemberName name,
         Object value)
         throws UnsupportedOperationException
Sets the value for the attribute of the specified name. This is functionally equivalent to getAttributes().put(name,value). Remind that name keys are constrained to record type members only.

Parameters:
name - The name of the attribute to modify.
value - The new value for the attribute.
Throws:
UnsupportedOperationException - if this record is not modifiable.
Departure from OGC/ISO specification:
This method provides no additional functionality compared to the ISO standard methods, but is declared in GeoAPI as a convenient shortcut.


Copyright © 1994-2011 Open Geospatial Consortium. All Rights Reserved.