Package org.opengis.util
| Records | Names | Factories | Other |
|---|---|---|---|
ISO 19103 object ├─ RecordSchema ├─ Type │ └─ RecordType └─ Record |
ISO 19103 object └─ GenericName ├─ ScopedName └─ LocalName ├─ TypeName └─ MemberName |
GeoAPI object └─ Factory ├─ NameFactory ├─ ObjectFactory └─ AuthorityFactory |
GeoAPI object └─ InternationalString |
Names and Namespaces
The job of a "name" in the context of ISO 19103 is to associate that name with an Object.
A use of the namespace structure defined in 19103 is the translation of given names into specific storage formats.
XML has different naming rules than shapefiles, and both are different than netCDF.
Specialized names are mapped to data as below:
TypeNameis the name of aRecordType.MemberNameis the name of an attribute in aRecordorRecordType.
GenericName javadoc provides more details about name structure.
Records and Schemas
A RecordType is similar to a struct declaration in C/C++, a table definition
in SQL, a RECORD in Pascal, or an attribute-only class declaration in Java if it were stripped of
all notions of inheritance.
RecordTypes can be organized into a named collection called RecordSchema,
which is similar to a schema in SQL or a package in Java. Both records and schemas behave as dictionaries
for their members.
A Record is an instance of RecordType containing the actual attribute values.
If we think about RecordType as equivalent to a simple feature (ISO 19109) or a Java class,
then we can establish the following equivalence table:
| ISO 19103 | ISO 19109 | Java equivalent |
|---|---|---|
Record |
Feature |
Object |
Record.getRecordType() |
Feature.getType() |
Object.getClass() |
RecordType |
FeatureType |
Class |
RecordType.getTypeName() |
FeatureType.getName() |
Class.getName() |
RecordType.getContainer() |
Class.getPackage() |
|
RecordType.getMembers() |
FeatureType.getProperties(boolean) |
Class.getFields() |
RecordType.locate(MemberName) |
getProperty(String) |
Class.getField(String) |
RecordType.isInstance(Record) |
Class.isInstance(Object) |
|
RecordSchema |
Package |
- Since:
- 1.0
-
Interface Summary Interface Description CodeList.Filter Deprecated. Replaced byPredicatefrom the standard Java library.ControlledVocabulary Common interface of all enumerations and code lists defined in GeoAPI.Factory Base interface for all factories.GenericName A sequence of identifiers rooted within the context of a namespace.InternationalString LocalName Identifier within a name space for a local object.MemberName The name to identify a member of a record.NameFactory Factory for generic names and international strings.NameSpace A domain in which names given by character strings are defined.Record A list of logically related elements as (name, value) pairs in a dictionary.RecordSchema A collection of record types.RecordType The type definition of a record.ScopedName A composite of aLocalName(as head) for locating another name space, and aGenericName(as tail) valid in that name space.Type The type definition.TypeName -
Exception Summary Exception Description FactoryException Thrown when a factory can not create an instance of the requested object.NoSuchIdentifierException Thrown when an identifier provided to a factory method can not be found.