OSGi™ Service Platform
Release 4 Version 4.1

org.osgi.service.metatype
Interface ObjectClassDefinition


public interface ObjectClassDefinition

Description for the data type information of an objectclass.


Field Summary
static int ALL
          Argument for getAttributeDefinitions(int).
static int OPTIONAL
          Argument for getAttributeDefinitions(int).
static int REQUIRED
          Argument for getAttributeDefinitions(int).
 
Method Summary
 AttributeDefinition[] getAttributeDefinitions(int filter)
          Return the attribute definitions for this object class.
 java.lang.String getDescription()
          Return a description of this object class.
 java.io.InputStream getIcon(int size)
          Return an InputStream object that can be used to create an icon from.
 java.lang.String getID()
          Return the id of this object class.
 java.lang.String getName()
          Return the name of this object class.
 

Field Detail

REQUIRED

public static final int REQUIRED
Argument for getAttributeDefinitions(int).

REQUIRED indicates that only the required definitions are returned. The value is 1.

See Also:
Constant Field Values

OPTIONAL

public static final int OPTIONAL
Argument for getAttributeDefinitions(int).

OPTIONAL indicates that only the optional definitions are returned. The value is 2.

See Also:
Constant Field Values

ALL

public static final int ALL
Argument for getAttributeDefinitions(int).

ALL indicates that all the definitions are returned. The value is -1.

See Also:
Constant Field Values
Method Detail

getName

public java.lang.String getName()
Return the name of this object class. The name may be localized.

Returns:
The name of this object class.

getID

public java.lang.String getID()
Return the id of this object class.

ObjectDefintion objects share a global namespace in the registry. They share this aspect with LDAP/X.500 attributes. In these standards the OSI Object Identifier (OID) is used to uniquely identify object classes. If such an OID exists, (which can be requested at several standard organisations and many companies already have a node in the tree) it can be returned here. Otherwise, a unique id should be returned which can be a java class name (reverse domain name) or generated with a GUID algorithm. Note that all LDAP defined object classes already have an OID associated. It is strongly advised to define the object classes from existing LDAP schemes which will give the OID for free. Many such schemes exist ranging from postal addresses to DHCP parameters.

Returns:
The id of this object class.

getDescription

public java.lang.String getDescription()
Return a description of this object class. The description may be localized.

Returns:
The description of this object class.

getAttributeDefinitions

public AttributeDefinition[] getAttributeDefinitions(int filter)
Return the attribute definitions for this object class.

Return a set of attributes. The filter parameter can distinguish between ALL,REQUIRED or the OPTIONAL attributes.

Parameters:
filter - ALL,REQUIRED,OPTIONAL
Returns:
An array of attribute definitions or null if no attributes are selected

getIcon

public java.io.InputStream getIcon(int size)
                            throws java.io.IOException
Return an InputStream object that can be used to create an icon from.

Indicate the size and return an InputStream object containing an icon. The returned icon maybe larger or smaller than the indicated size.

The icon may depend on the localization.

Parameters:
size - Requested size of an icon, e.g. a 16x16 pixels icon then size = 16
Returns:
An InputStream representing an icon or null
Throws:
java.io.IOException - If the InputStream cannot be returned.

OSGi™ Service Platform
Release 4 Version 4.1

Copyright © OSGi Alliance (2000, 2007). All Rights Reserved. Licensed under the OSGi Specification License, Version 1.0