org.eclipse.ecf.remoteservice.rest.identity
Class RestNamespace

java.lang.Object
  extended by org.eclipse.ecf.core.identity.Namespace
      extended by org.eclipse.ecf.remoteservice.rest.identity.RestNamespace
All Implemented Interfaces:
java.io.Serializable, org.eclipse.core.runtime.IAdaptable

public class RestNamespace
extends Namespace

This class represents a Namespace for RestClientContainers.

See Also:
Serialized Form

Field Summary
static java.lang.String NAME
          The name of this namespace.
static java.lang.String SCHEME
          The scheme of this namespace.
 
Fields inherited from class org.eclipse.ecf.core.identity.Namespace
SCHEME_SEPARATOR
 
Constructor Summary
RestNamespace()
           
RestNamespace(java.lang.String name, java.lang.String desc)
           
 
Method Summary
 ID createInstance(java.lang.Object[] parameters)
          Creates an instance of an RestID.
 java.lang.String getScheme()
          Get the primary scheme associated with this namespace.
 java.lang.Class[][] getSupportedParameterTypes()
          Get the supported parameter types for IDs created via subsequent calls to Namespace.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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NAME

public static final java.lang.String NAME
The name of this namespace.

See Also:
Constant Field Values

SCHEME

public static final java.lang.String SCHEME
The scheme of this namespace.

See Also:
Constant Field Values
Constructor Detail

RestNamespace

public RestNamespace()

RestNamespace

public RestNamespace(java.lang.String name,
                     java.lang.String desc)
Method Detail

createInstance

public ID createInstance(java.lang.Object[] parameters)
                  throws IDCreateException
Creates an instance of an RestID. The parameters must contain specific information.

Specified by:
createInstance in class Namespace
Parameters:
parameters - a collection of attributes to call the right constructor on RestID.
Returns:
an instance of RestID. Will not be null.
Throws:
IDCreateException - if construction fails

getScheme

public java.lang.String 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 (\":\").

Specified by:
getScheme in class Namespace
Returns:
a String scheme identifier. Must not be null.

getSupportedParameterTypes

public java.lang.Class[][] getSupportedParameterTypes()
Description copied from class: Namespace
Get the supported parameter types for IDs created via subsequent calls to Namespace.createInstance(Object[]). Callers may use this method to determine the available parameter types, and then create and pass in conforming Object arrays to to Namespace.createInstance(Object[]).

An empty two-dimensional array (new Class[0][0]) is the default returned by this abstract superclass. This means that the Object [] passed to Namespace.createInstance(Object[]) will be ignored.

Subsclasses should override this method to specify the parameters that they will accept in calls to Namespace.createInstance(Object[]). The rows of the returned Class array are the acceptable types for a given invocation of createInstance.

Consider the following example:

 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 into Namespace.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 class Namespace
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 to Namespace.createInstance(Object[]) will be ignored.