Class LDAPRegistry

java.lang.Object
com.netscape.cmscore.dbs.DBRegistry
com.netscape.cmscore.dbs.LDAPRegistry

public class LDAPRegistry extends DBRegistry
A class represents a registry where all the schema (object classes and attribute) information is stored. Attribute mappers can be registered with this registry. Given the schema information stored, this registry has knowledge to convert a Java object into a LDAPAttributeSet or vice versa.
Version:
$Revision$, $Date$
Author:
thomask
  • Field Details

    • logger

      public static final org.slf4j.Logger logger
  • Constructor Details

    • LDAPRegistry

      public LDAPRegistry()
      Constructs registry.
  • Method Details

    • getId

      public String getId()
      Retrieves subsystem identifier.
      Overrides:
      getId in class DBRegistry
    • setId

      public void setId(String id) throws EBaseException
      Sets subsystem identifier. This is an internal subsystem, and is not loadable.
      Overrides:
      setId in class DBRegistry
      Throws:
      EBaseException
    • init

      public void init(ConfigStore config) throws EBaseException
      Initializes the internal registery. Connects to the data source, and create a pool of connection of which applications can use. Optionally, check the integrity of the database.
      Overrides:
      init in class DBRegistry
      Throws:
      EBaseException
    • getConfigStore

      public ConfigStore getConfigStore()
      Retrieves configuration store.
      Overrides:
      getConfigStore in class DBRegistry
    • startup

      public void startup() throws EBaseException
      Starts up this subsystem.
      Overrides:
      startup in class DBRegistry
      Throws:
      EBaseException
    • shutdown

      public void shutdown()
      Shutdowns this subsystem gracefully.
      Overrides:
      shutdown in class DBRegistry
    • registerObjectClass

      public void registerObjectClass(String className, String[] ldapNames) throws EDBException
      Registers object class.
      Overrides:
      registerObjectClass in class DBRegistry
      Parameters:
      className - java class to create for the object classes
      ldapNames - a list of LDAP object classes
      Throws:
      EDBException - failed to register
    • isObjectClassRegistered

      public boolean isObjectClassRegistered(String className)
      See if an object class is registered.
      Overrides:
      isObjectClassRegistered in class DBRegistry
      Parameters:
      className - java class to create
      Returns:
      true if object class is registered already
    • registerAttribute

      public void registerAttribute(String ufName, DBAttrMapper mapper) throws EDBException
      Registers attribute mapper.
      Overrides:
      registerAttribute in class DBRegistry
      Parameters:
      ufName - LDAP attribute name
      mapper - mapper to invoke for the attribute
      Throws:
      EDBException - failed to register
    • isAttributeRegistered

      public boolean isAttributeRegistered(String ufName)
      See if an attribute is registered.
      Overrides:
      isAttributeRegistered in class DBRegistry
      Parameters:
      ufName - attribute name
      Returns:
      true if attribute is registered already
    • registerDynamicMapper

      public void registerDynamicMapper(DBDynAttrMapper mapper)
      Description copied from class: DBRegistry
      Registers a dynamic attribute mapper.
      Overrides:
      registerDynamicMapper in class DBRegistry
      Parameters:
      mapper - The dynamic mapper to register
    • getFilter

      public String getFilter(String filter) throws EBaseException
      Creates LDAP-based search filters with help of registered mappers. Parses filter from filter string specified in RFC1558.
      Overrides:
      getFilter in class DBRegistry
      Parameters:
      filter - CMS-based filter
      Returns:
      LDAP-based filter string
      Throws:
      EBaseException - failed to convert filter
    • getFilter

      public String getFilter(String filter, IFilterConverter c) throws EBaseException
      Description copied from class: DBRegistry
      Creates LDAP-based search filters with help of registered mappers.
      Overrides:
      getFilter in class DBRegistry
      Parameters:
      filter - CMS-based filter
      c - filter converter
      Returns:
      LDAP-based filter string
      Throws:
      EBaseException - failed to convert filter
    • mapObject

      public void mapObject(IDBObj parent, String name, Object obj, netscape.ldap.LDAPAttributeSet attrs) throws EBaseException
      Maps object into LDAP attribute set.
      Overrides:
      mapObject in class DBRegistry
      Parameters:
      parent - object's parent
      name - name of the object
      obj - object to be mapped
      attrs - LDAP attribute set
      Throws:
      EBaseException - failed to map object
    • getLDAPAttributes

      public String[] getLDAPAttributes(String[] attrs) throws EBaseException
      Retrieves a list of LDAP attributes that are associated with the given attributes. This method is used for searches, to map the database attributes to LDAP attributes.
      Overrides:
      getLDAPAttributes in class DBRegistry
      Parameters:
      attrs - attributes
      Returns:
      LDAP-based attributes
      Throws:
      EBaseException - failed to map attributes
    • createLDAPAttributeSet

      public netscape.ldap.LDAPAttributeSet createLDAPAttributeSet(IDBObj obj) throws EBaseException
      Creates attribute set from object.
      Overrides:
      createLDAPAttributeSet in class DBRegistry
      Parameters:
      obj - database object
      Returns:
      LDAP attribute set
      Throws:
      EBaseException - failed to create set
    • createObject

      public IDBObj createObject(netscape.ldap.LDAPAttributeSet attrs) throws EDBException
      Creates object from attribute set.
      Overrides:
      createObject in class DBRegistry
      Parameters:
      attrs - LDAP attribute set
      Returns:
      database object
      Throws:
      EDBException