org.apache.directory.server.core.jndi
Interface ServerDirStateFactory

All Superinterfaces:
javax.naming.spi.DirStateFactory, javax.naming.spi.StateFactory

public interface ServerDirStateFactory
extends javax.naming.spi.DirStateFactory

A specialized StateFactory that is optimized for our server-side JNDI provider. This factory reports the id of the objectClass that it is associated with. This makes it easier for the server side provider to find the required factory rather than attempt several others within the list of state factories. JNDI SPI methods are inefficient since they are designed to try all state factories to produce an object. Our provider looks up the most specific state factories based on additional information. This makes a huge difference when the number of StateFactories becomes large.
Eventually, it is highly feasible for generated schemas, to also include state and object factories for various objectClasses. This means the number of factories will increase. By associating object and state factories with their respective objectClasses we can integrate this into the schema subsystem making factory lookups extremely fast and efficient without costing the user too much to create and store objects within the directory.

Version:
$Rev: 434579 $
Author:
Apache Directory Project

Nested Class Summary
 
Nested classes/interfaces inherited from interface javax.naming.spi.DirStateFactory
javax.naming.spi.DirStateFactory.Result
 
Method Summary
 java.lang.Class getAssociatedClass()
          Gets the Class instance associated with this StateFactory.
 java.lang.String getObjectClassId()
          Gets either the OID for the objectClass or the human readable name for the objectClass this DirStateFactory is associated with.
 
Methods inherited from interface javax.naming.spi.DirStateFactory
getStateToBind
 
Methods inherited from interface javax.naming.spi.StateFactory
getStateToBind
 

Method Detail

getObjectClassId

java.lang.String getObjectClassId()
Gets either the OID for the objectClass or the human readable name for the objectClass this DirStateFactory is associated with. Note that associating this factory with an objectClass automatically associates this DirStateFactory with all descendents of the objectClass.

Returns:
the OID or human readable name of the objectClass associated with this StateFactory

getAssociatedClass

java.lang.Class getAssociatedClass()
Gets the Class instance associated with this StateFactory. Objects to be persisted by this StateFactory must be of this type, a subclass of this type, or implement this type if it is an interface.

Returns:
the class associated with this factory.


Copyright © 2003-2010 Apache Software Foundation. All Rights Reserved.