Class DBRegistry

java.lang.Object
com.netscape.cmscore.dbs.DBRegistry
Direct Known Subclasses:
LDAPRegistry

public class DBRegistry extends Object
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.
  • Constructor Details

    • DBRegistry

      public DBRegistry()
  • Method Details

    • registerObjectClass

      public void registerObjectClass(String className, String[] ldapNames) throws EDBException
      Registers object class.
      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.
      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.
      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.
      Parameters:
      ufName - attribute name
      Returns:
      true if attribute is registered already
    • registerDynamicMapper

      public void registerDynamicMapper(DBDynAttrMapper mapper)
      Registers a dynamic attribute mapper.
      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.
      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
      Creates LDAP-based search filters with help of registered mappers.
      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.
      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.
      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.
      Parameters:
      obj - database object
      Returns:
      LDAP attribute set
      Throws:
      EBaseException - failed to create set
    • createObject

      public IDBObj createObject(netscape.ldap.LDAPAttributeSet attrs) throws EBaseException
      Creates object from attribute set.
      Parameters:
      attrs - LDAP attribute set
      Returns:
      database object
      Throws:
      EBaseException - failed to create object
    • getId

      public String getId()
    • setId

      public void setId(String id) throws EBaseException
      Throws:
      EBaseException
    • init

      public void init(ConfigStore config) throws EBaseException
      Throws:
      EBaseException
    • startup

      public void startup() throws EBaseException
      Throws:
      EBaseException
    • shutdown

      public void shutdown()
    • getConfigStore

      public ConfigStore getConfigStore()