Package org.opengis.util
Interface NameFactory
-
- All Superinterfaces:
Factory
public interface NameFactory extends Factory
Factory for generic names and international strings.Note: Despite the "create(…)
" method names, implementations may return cached instances.- Since:
- 2.0
Departure from OGC/ISO specification:
Added in order to provide constructors forGenericName
and related interfaces.
-
-
Method Summary
Modifier and Type Method Description GenericName
createGenericName(NameSpace scope, CharSequence... parsedNames)
Creates a local or scoped name from an array of parsed names.InternationalString
createInternationalString(Map<Locale,String> strings)
Creates an international string from a set of strings in different locales.LocalName
createLocalName(NameSpace scope, CharSequence name)
Creates a local name from the given character sequence.MemberName
createMemberName(NameSpace scope, CharSequence name, TypeName attributeType)
Creates a member name from the given character sequence and attribute type.NameSpace
createNameSpace(GenericName name, Map<String,?> properties)
Creates a namespace having the given name and separators.TypeName
createTypeName(NameSpace scope, CharSequence name)
Creates a type name from the given character sequence.GenericName
parseGenericName(NameSpace scope, CharSequence name)
Constructs a generic name from a qualified name.
-
-
-
Method Detail
-
createInternationalString
InternationalString createInternationalString(Map<Locale,String> strings)
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
NameSpace createNameSpace(GenericName name, Map<String,?> properties)
Creates a namespace having the given name and separators. Theproperties
argument is optional: if non-null, the given properties may be given to the namespace to be created. The properties can include for example the separator character to be used between the parsed names.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.
Keys for additional standard properties Property name Purpose "separator"
The separator to insert between parsed names in that namespace. "separator.head"
The separator to insert between the namespace and the head.
If omitted, then the default is the same value than"separator"
.Examples:- For URN namespace,
separator
=":"
is typically sufficient. - For HTTP namespace,
separator.head
="://"
andseparator
="."
.
- Parameters:
name
- the name of the namespace to be returned. This argument can be created usingcreateGenericName(null, namespace)
.properties
- an optional map of properties to be assigned to the namespace, ornull
if none.- Returns:
- a namespace having the given name and separators.
- For URN namespace,
-
createTypeName
TypeName createTypeName(NameSpace scope, CharSequence name)
Creates a type name from the given character sequence. The character sequence shall complies to the same restriction thancreateLocalName
.- Parameters:
scope
- the scope of the type name to be created, ornull
for a global namespace.name
- the type name as a string or an international string.- Returns:
- the type name for the given character sequence.
-
createMemberName
MemberName createMemberName(NameSpace scope, CharSequence name, TypeName attributeType)
Creates a member name from the given character sequence and attribute type.- Parameters:
scope
- the scope of the member name to be created, ornull
for a global namespace.name
- the member name as a string or an international string.attributeType
- the type of the data associated with the record member.- Returns:
- the member name for the given character sequence.
- Since:
- 3.1
-
createLocalName
LocalName createLocalName(NameSpace scope, CharSequence name)
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 (typicallyLocale.ROOT
) 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.
-
createGenericName
GenericName createGenericName(NameSpace scope, CharSequence... parsedNames)
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 (typicallyLocale.ROOT
) for the unlocalized string to be returned byLocalName.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.
-
parseGenericName
GenericName parseGenericName(NameSpace scope, CharSequence name)
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-dependent 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-dependent separator.- Returns:
- a name parsed from the given string.
-
-