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:
TypeName
is the name of aRecordType
.MemberName
is the name of an attribute in aRecord
orRecordType
.
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.
RecordType
s 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 byPredicate
from 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.