Package com.netscape.cmscore.dbs
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 Summary
Fields Modifier and Type Field Description static org.slf4j.Loggerlogger
-
Constructor Summary
Constructors Constructor Description LDAPRegistry()Constructs registry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description netscape.ldap.LDAPAttributeSetcreateLDAPAttributeSet(IDBObj obj)Creates attribute set from object.IDBObjcreateObject(netscape.ldap.LDAPAttributeSet attrs)Creates object from attribute set.IConfigStoregetConfigStore()Retrieves configuration store.java.lang.StringgetFilter(java.lang.String filter)Creates LDAP-based search filters with help of registered mappers.java.lang.StringgetFilter(java.lang.String filter, IFilterConverter c)Creates LDAP-based search filters with help of registered mappers.java.lang.StringgetId()Retrieves subsystem identifier.java.lang.String[]getLDAPAttributes(java.lang.String[] attrs)Retrieves a list of LDAP attributes that are associated with the given attributes.voidinit(IConfigStore config)Initializes the internal registery.booleanisAttributeRegistered(java.lang.String ufName)See if an attribute is registered.booleanisObjectClassRegistered(java.lang.String className)See if an object class is registered.voidmapObject(IDBObj parent, java.lang.String name, java.lang.Object obj, netscape.ldap.LDAPAttributeSet attrs)Maps object into LDAP attribute set.voidregisterAttribute(java.lang.String ufName, DBAttrMapper mapper)Registers attribute mapper.voidregisterDynamicMapper(DBDynAttrMapper mapper)Registers a dynamic attribute mapper.voidregisterObjectClass(java.lang.String className, java.lang.String[] ldapNames)Registers object class.voidsetId(java.lang.String id)Sets subsystem identifier.voidshutdown()Shutdowns this subsystem gracefully.voidstartup()Starts up this subsystem.
-
-
-
Method Detail
-
getId
public java.lang.String getId()
Retrieves subsystem identifier.- Overrides:
getIdin classDBRegistry
-
setId
public void setId(java.lang.String id) throws EBaseExceptionSets subsystem identifier. This is an internal subsystem, and is not loadable.- Overrides:
setIdin classDBRegistry- Throws:
EBaseException
-
init
public void init(IConfigStore 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:
initin classDBRegistry- Throws:
EBaseException
-
getConfigStore
public IConfigStore getConfigStore()
Retrieves configuration store.- Overrides:
getConfigStorein classDBRegistry
-
startup
public void startup() throws EBaseExceptionStarts up this subsystem.- Overrides:
startupin classDBRegistry- Throws:
EBaseException
-
shutdown
public void shutdown()
Shutdowns this subsystem gracefully.- Overrides:
shutdownin classDBRegistry
-
registerObjectClass
public void registerObjectClass(java.lang.String className, java.lang.String[] ldapNames) throws EDBExceptionRegisters object class.- Overrides:
registerObjectClassin classDBRegistry- Parameters:
className- java class to create for the object classesldapNames- 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.- Overrides:
isObjectClassRegisteredin classDBRegistry- 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 EDBExceptionRegisters attribute mapper.- Overrides:
registerAttributein classDBRegistry- Parameters:
ufName- LDAP attribute namemapper- 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.- Overrides:
isAttributeRegisteredin classDBRegistry- Parameters:
ufName- attribute name- Returns:
- true if attribute is registered already
-
registerDynamicMapper
public void registerDynamicMapper(DBDynAttrMapper mapper)
Description copied from class:DBRegistryRegisters a dynamic attribute mapper.- Overrides:
registerDynamicMapperin classDBRegistry- Parameters:
mapper- The dynamic mapper to register
-
getFilter
public java.lang.String getFilter(java.lang.String filter) throws EBaseExceptionCreates LDAP-based search filters with help of registered mappers. Parses filter from filter string specified in RFC1558.- Overrides:
getFilterin classDBRegistry- 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 EBaseExceptionDescription copied from class:DBRegistryCreates LDAP-based search filters with help of registered mappers.- Overrides:
getFilterin classDBRegistry- Parameters:
filter- CMS-based filterc- 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.- Overrides:
mapObjectin classDBRegistry- Parameters:
parent- object's parentname- name of the objectobj- object to be mappedattrs- LDAP attribute set- Throws:
EBaseException- failed to map object
-
getLDAPAttributes
public java.lang.String[] getLDAPAttributes(java.lang.String[] attrs) throws EBaseExceptionRetrieves 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:
getLDAPAttributesin classDBRegistry- 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:
createLDAPAttributeSetin classDBRegistry- 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:
createObjectin classDBRegistry- Parameters:
attrs- LDAP attribute set- Returns:
- database object
- Throws:
EDBException
-
-