Class R_OSGiNamespace

java.lang.Object
org.eclipse.ecf.core.identity.Namespace
org.eclipse.ecf.provider.r_osgi.identity.R_OSGiNamespace
All Implemented Interfaces:
Serializable, org.eclipse.core.runtime.IAdaptable
Direct Known Subclasses:
R_OSGiWSNamespace, R_OSGiWSSNamespace

public class R_OSGiNamespace extends Namespace
The R-OSGi default transport namespace (r-osgi://).
See Also:
  • Field Details

  • Constructor Details

    • R_OSGiNamespace

      public R_OSGiNamespace()
      constructor.
    • R_OSGiNamespace

      protected R_OSGiNamespace(String name, String description)
      Parameters:
      name - name
      description - description
      Since:
      3.5
  • Method Details

    • getDefault

      public static Namespace getDefault()
      get the singleton instance of this namespace.
      Returns:
      the instance.
    • createInstance

      public ID createInstance(Object[] parameters) throws IDCreateException
      create a new ID within this namespace.
      Specified by:
      createInstance in class Namespace
      Parameters:
      parameters - the parameter to pass to the ID.
      Returns:
      the new ID
      Throws:
      IDCreateException - if the creation fails.
      See Also:
    • getScheme

      public String getScheme()
      get the scheme of this namespace.
      Specified by:
      getScheme in class Namespace
      Returns:
      the scheme.
      See Also:
    • getSupportedSchemes

      public String[] getSupportedSchemes()
      get all supported schemes.
      Overrides:
      getSupportedSchemes in class Namespace
      Returns:
      an array of supported schemes.
      See Also:
    • getSupportedParameterTypes

      public 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.