Class DBRegistry

  • Direct Known Subclasses:
    LDAPRegistry

    public class DBRegistry
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      DBRegistry()  
    • Constructor Detail

      • DBRegistry

        public DBRegistry()
    • Method Detail

      • registerObjectClass

        public void registerObjectClass​(java.lang.String className,
                                        java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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 java.lang.String getFilter​(java.lang.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 java.lang.String getFilter​(java.lang.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,
                              java.lang.String name,
                              java.lang.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 java.lang.String[] getLDAPAttributes​(java.lang.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 java.lang.String getId()
      • shutdown

        public void shutdown()