Interface ObjectFactory
-
- All Superinterfaces:
Factory
- All Known Subinterfaces:
CoordinateOperationFactory
,CRSFactory
,CSFactory
,DatumFactory
- All Known Implementing Classes:
AbstractCoordinateOperationFactory
,AuthorityBackedFactory
,BufferedCoordinateOperationFactory
,DatumAliases
,DefaultCoordinateOperationFactory
,ReferencingObjectFactory
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
argument. The map can be aProperties
instance. The map shall contains at least a"name"
property. In the common case where the name is the only property, the map may be constructed withCollections.singletonMap("name", theName)
where theName is an arbitrary name as free text.Implementations are encouraged to recognize at least the properties listed in the following table. Additional implementation-specific properties can be added. Unknown properties shall be ignored.
Property name Value type Value given to "name" ReferenceIdentifier
orString
IdentifiedObject.getName()
"alias" String
,String[]
,GenericName
orGenericName[]
IdentifiedObject.getAlias()
"authority" String
orCitation
Identifier.getAuthority()
on the name"codespace" String
ReferenceIdentifier.getCodeSpace()
on the name"version" String
ReferenceIdentifier.getVersion()
on the name"identifiers" Identifier
orIdentifier[]
IdentifiedObject.getIdentifiers()
"remarks" String
orInternationalString
IdentifiedObject.getRemarks()
The
"name"
property is mandatory. All others are optional. All localizable attributes like"remarks"
can have a language and country code suffix. For example the"remarks_fr"
property stands for remarks in French and the"remarks_fr_CA"
property stands for remarks in French Canadian.- Since:
- GeoAPI 2.0
- Author:
- Martin Desruisseaux (IRD)