Package org.eclipse.ecf.core.identity
Class URIID.URIIDNamespace
java.lang.Object
org.eclipse.ecf.core.identity.Namespace
org.eclipse.ecf.core.identity.URIID.URIIDNamespace
- All Implemented Interfaces:
Serializable
,org.eclipse.core.runtime.IAdaptable
- Enclosing class:
- URIID
- Since:
- 3.7
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.ecf.core.identity.Namespace
SCHEME_SEPARATOR
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateInstance
(Object[] parameters) Make an instance of this namespace.Get the primary scheme associated with this namespace.Class<?>[][]
Get the supported parameter types for IDs created via subsequent calls toNamespace.createInstance(Object[])
.Methods inherited from class org.eclipse.ecf.core.identity.Namespace
equals, getAdapter, getCompareToForObject, getDescription, getHashCodeForID, getInitStringFromExternalForm, getName, getNameForID, getSupportedSchemes, hashCode, initialize, testIDEquals, toExternalForm, toString
-
Field Details
-
UUID_PROTOCOL
- Since:
- 3.8
- See Also:
-
-
Constructor Details
-
URIIDNamespace
-
URIIDNamespace
public URIIDNamespace()
-
-
Method Details
-
createInstance
Description copied from class:Namespace
Make an instance of this namespace. Namespace subclasses, provided by plugins must implement this method to construct ID instances for the given namespace.Namespace.getSupportedParameterTypes()
to get information relevant to deciding what parameter types are expected by this method.- Specified by:
createInstance
in classNamespace
- Parameters:
parameters
- an Object[] of parameters for creating ID instances. May be null.- Returns:
- a non-null ID instance. The class used may extend BaseID or may implement the ID interface directly
- Throws:
IDCreateException
- if construction fails
-
createRandomUUID
- Throws:
IDCreateException
- Since:
- 3.8
-
getScheme
Description copied from class:Namespace
Get the primary scheme associated with this namespace. Subclasses must provide an implementation that returns a non-null
scheme identifier. Note that the returned scheme should not contain the Namespace.SCHEME_SEPARATOR (\":\"). -
getSupportedParameterTypes
Description copied from class:Namespace
Get the supported parameter types for IDs created via subsequent calls toNamespace.createInstance(Object[])
. Callers may use this method to determine the available parameter types, and then create and pass in conforming Object arrays to toNamespace.createInstance(Object[])
.Namespace.createInstance(Object[])
will be ignored.Namespace.createInstance(Object[])
. The rows of the returned Class array are the acceptable types for a given invocation of createInstance.public Class[][] getSupportedParameterTypes() { return new Class[][] { { String.class }, { String.class, String.class } }; }
The above means that there are two acceptable values for the Object [] passed intoNamespace.createInstance(Object[])
: 1) a single String, and 2) two Strings. These would therefore be acceptable as input to createInstance:ID newID1 = namespace.createInstance(new Object[] { "Hello" }); ID newID2 = namespace.createInstance(new Object[] { "Hello", "There"}};
- Overrides:
getSupportedParameterTypes
in classNamespace
- Returns:
- Class [][] an array of class []s. Rows of the returned
two-dimensional array define the acceptable parameter types for a
single call to
Namespace.createInstance(Object[])
. If zero-length Class arrays are returned (i.e. Class[0][0]), then Object [] parameters toNamespace.createInstance(Object[])
will be ignored.
-