org.apache.felix.dm.impl.metatype
Class ObjectClassDefinitionImpl

java.lang.Object
  extended by org.apache.felix.dm.impl.metatype.ObjectClassDefinitionImpl
All Implemented Interfaces:
ObjectClassDefinition

public class ObjectClassDefinitionImpl
extends Object
implements ObjectClassDefinition

ObjectClassDefinition implementation.


Field Summary
 
Fields inherited from interface org.osgi.service.metatype.ObjectClassDefinition
ALL, OPTIONAL, REQUIRED
 
Constructor Summary
ObjectClassDefinitionImpl(String id, String name, String description, List propertiesMetaData, Resource resource)
           
 
Method Summary
 AttributeDefinition[] getAttributeDefinitions(int filter)
          Return the attribute definitions for this object class.
 String getDescription()
          Return a description of this object class.
 InputStream getIcon(int size)
          Return an InputStream object that can be used to create an icon from.
 String getID()
          Return the id of this object class.
 String getName()
          Return the name of this object class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectClassDefinitionImpl

public ObjectClassDefinitionImpl(String id,
                                 String name,
                                 String description,
                                 List propertiesMetaData,
                                 Resource resource)
Method Detail

getAttributeDefinitions

public AttributeDefinition[] getAttributeDefinitions(int filter)
Description copied from interface: ObjectClassDefinition
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.

Specified by:
getAttributeDefinitions in interface ObjectClassDefinition
Parameters:
filter - ALL,REQUIRED,OPTIONAL
Returns:
An array of attribute definitions or null if no attributes are selected

getDescription

public String getDescription()
Description copied from interface: ObjectClassDefinition
Return a description of this object class. The description may be localized.

Specified by:
getDescription in interface ObjectClassDefinition
Returns:
The description of this object class.

getID

public String getID()
Description copied from interface: ObjectClassDefinition
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.

Specified by:
getID in interface ObjectClassDefinition
Returns:
The id of this object class.

getIcon

public InputStream getIcon(int size)
                    throws IOException
Description copied from interface: ObjectClassDefinition
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.

Specified by:
getIcon in interface ObjectClassDefinition
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:
IOException - If the InputStream cannot be returned.

getName

public String getName()
Description copied from interface: ObjectClassDefinition
Return the name of this object class. The name may be localized.

Specified by:
getName in interface ObjectClassDefinition
Returns:
The name of this object class.


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.