Package org.opengis.referencing
Interface ObjectFactory
-
- All Superinterfaces:
Factory
- All Known Subinterfaces:
CoordinateOperationFactory
,CRSFactory
,CSFactory
,DatumFactory
public interface ObjectFactory extends Factory
Base interface for all factories of identified objects. Factories build up complex objects from simpler objects or values. This factory allows applications to make coordinate systems, datum or coordinate reference systems that cannot be created by an authority factory. This factory is very flexible, whereas the authority factory is easier to use.Object properties
Most factory methods expect aMap<String,?>
argument. The table below lists the keys thatObjectFactory
implementations shall accept, together with the type of values associated to those keys (the alternative types column gives examples of types that factory implementations may accept as well for convenience). A value for the"name"
key is mandatory, while all other properties are optional. Factory methods shall ignore unknown properties.Keys for standard properties Key Value type Alternative types Value returned by "name" Identifier
String
(see alternative below)IdentifiedObject.getName()
"alias" GenericName[]
GenericName
,String
orString[]
IdentifiedObject.getAlias()
"identifiers" Identifier[]
Identifier
IdentifiedObject.getIdentifiers()
"remarks" InternationalString
String
(see localization below)IdentifiedObject.getRemarks()
Note: Multi-values are arrays instead than collections in order to allow implementations to check the element type by Java reflection. Such reflection can not be performed on collections because of type erasure.Implementations may allow an alternative way to define the
"name"
property for user convenience:Convenience keys (non-standard) Key Value type Alternative types Value returned by "name" String
Identifier.getCode()
"authority" Citation
String
Identifier.getAuthority()
"codespace" String
Identifier.getCodeSpace()
"version" String
Identifier.getVersion()
Localization
Localizable attributes like"remarks"
can be specified either as a singleInternationalString
, or as one or manyString
s associated to keys suffixed by a language and country code. For example the"remarks_fr"
key stands for remarks in French and the"remarks_fr_CA"
key stands for remarks in French Canadian.- Since:
- 2.0
Departure from OGC/ISO specification:
This interface is not part of any OGC specification. It is added for uniformity, in order to provide a common base class for all referencing factories producingIdentifiedObject
instances.