Package org.geotools.api.util
Interface NameFactory
public interface NameFactory
Factory for generic names and international strings.
Implementation note: despite the "create" name, implementations may return cached instances.
- Since:
- GeoAPI 2.0
- Author:
- Jesse Crossley (SYS Technologies), Martin Desruisseaux (Geomatys)
-
Method Summary
Modifier and TypeMethodDescriptioncreateGenericName
(NameSpace scope, CharSequence... parsedNames) Creates a local or scoped name from an array of parsed names.createInternationalString
(Map<Locale, String> strings) Creates an international string from a set of strings in different locales.createLocalName
(NameSpace scope, CharSequence name) Creates a local name from the given character sequence.createNameSpace
(GenericName name, String headSeparator, String separator) Creates a namespace having the given name and separators.parseGenericName
(NameSpace scope, CharSequence name) Constructs a generic name from a qualified name.
-
Method Details
-
createInternationalString
Creates an international string from a set of strings in different locales.- Parameters:
strings
- String value for each locale key.- Returns:
- The international string.
-
createNameSpace
Creates a namespace having the given name and separators.Implementation note: despite the "create" name, implementations may return existing instances.
- Parameters:
name
- The name of the namespace to be returned. This argument can be created usingcreateGenericName(null, parsedNames)
.headSeparator
- The separator to insert between the namespace and the head. For HTTP namespace, it is"://"
. For URN namespace, it is typically":"
.separator
- The separator to insert between parsed names in that namespace. For HTTP namespace, it is"."
. For URN namespace, it is typically":"
.- Returns:
- A namespace having the given name and separators.
- Since:
- GeoAPI 2.2
-
createLocalName
Creates a local name from the given character sequence. The character sequence can be either aString
or anInternationalString
instance. In the later case, implementations can use an arbitrary locale (typicallyENGLISH
, but not necessarly) for the unlocalized string to be returned byLocalName.toString()
.- Parameters:
scope
- The scope of the local name to be created, ornull
for a global namespace.name
- The local name as a string or an international string.- Returns:
- The local name for the given character sequence.
- Since:
- GeoAPI 2.2
-
createGenericName
Creates a local or scoped name from an array of parsed names. The array elements can be eitherString
orInternationalString
instances. In the later case, implementations can use an arbitrary locale (typicallyENGLISH
, but not necessarly) for the unlocalized string to be returned byGenericName.toString()
.If the length of the
parsedNames
array is 1, then this method returns an instance ofLocalName
. If the length is 2 or more, then this method returns an instance ofScopedName
.- Parameters:
scope
- The scope of the generic name to be created, ornull
for a global namespace.parsedNames
- The local names as an array of strings or international strings. This array must contains at least one element.- Returns:
- The generic name for the given parsed names.
- Since:
- GeoAPI 2.2
-
parseGenericName
Constructs a generic name from a qualified name. This method splits the given name around a separator inferred from the given scope, or an implementation-dependant default separator if the given scope is null.For example if the
scope
argument is the namespace"urn:ogc:def"
with":"
as the separator, and if thename
argument is the string"crs:epsg:4326"
, then the result is a scoped name having a depth of 3, which is the length of the list of parsed names ("crs"
,"epsg"
,"4326"
).- Parameters:
scope
- The scope of the generic name to be created, ornull
for a global namespace.name
- The qualified name, as a sequence of names separated by a scope-dependant separator.- Returns:
- A name parsed from the given string.
- Since:
- GeoAPI 2.2
-