org.opends.server.core
Class DirectoryServer

java.lang.Object
  extended by org.opends.server.core.DirectoryServer
All Implemented Interfaces:
java.lang.Thread.UncaughtExceptionHandler, AlertGenerator

public class DirectoryServer
extends java.lang.Object
implements java.lang.Thread.UncaughtExceptionHandler, AlertGenerator

This class defines the core of the Directory Server. It manages the startup and shutdown processes and coordinates activities between all other components.


Method Summary
static boolean addMissingRDNAttributes()
          Indicates whether the Directory Server should automatically add missing RDN attributes to an entry whenever it is added.
static boolean allowAttributeNameExceptions()
          Indicates whether to be more flexible in the set of characters allowed for attribute names.
static boolean bindWithDNRequiresPassword()
          Indicates whether simple bind requests that contain a bind DN will also be required to have a password.
static void bootstrapClient()
          Bootstraps the appropriate Directory Server structures that may be needed by client-side tools.
 void bootstrapServer()
          Bootstraps the Directory Server by initializing all the necessary structures that should be in place before the configuration may be read.
static boolean checkSchema()
          Indicates whether the Directory Server should perform schema checking.
static void connectionClosed(ClientConnection clientConnection)
          Indicates that the specified client connection has been closed.
static BaseDnRegistry copyBaseDnRegistry()
          Obtains a copy of the server's base DN registry.
static void createAndRegisterWorkflowsWithDefaultNetworkGroup(Backend backend)
          Creates a set of workflows for a given backend and registers the workflows with the default network group.
static WorkflowImpl createWorkflow(DN baseDN, Backend backend)
          Creates one workflow for a given base DN in a backend.
static void deregisterAccountStatusNotificationHandler(DN handlerDN)
          Deregisters the specified account status notification handler with the Directory Server.
static void deregisterAlertGenerator(AlertGenerator alertGenerator)
          Deregisters the provided alert generator with the Directory Server.
static void deregisterAlertHandler(AlertHandler alertHandler)
          Deregisters the provided alert handler with the Directory Server.
static DN deregisterAlternateRootBindDN(DN alternateRootBindDN)
          Deregisters the provided alternate root bind DN from the server.
static void deregisterApproximateMatchingRule(ApproximateMatchingRule matchingRule)
          Deregisters the provided approximate matching rule with the Directory Server.
static void deregisterAttributeSyntax(AttributeSyntax syntax)
          Deregisters the provided attribute syntax with the Directory Server.
static void deregisterAttributeType(AttributeType attributeType)
          Deregisters the provided attribute type with the Directory Server.
static void deregisterBackend(Backend backend)
          Deregisters the provided backend with the Directory Server.
static void deregisterBackendInitializationListener(BackendInitializationListener listener)
          Deegisters the provided backend initialization listener with the Directory Server.
static void deregisterBackupTaskListener(BackupTaskListener listener)
          Deregisters the provided backup task listener with the Directory Server.
static void deregisterBaseDN(DN baseDN)
          Deregisters the provided base DN with the server.
static void deregisterCertificateMapper(DN mapperDN)
          Deregisters the specified certificate mapper with the Directory Server.
static void deregisterChangeNotificationListener(ChangeNotificationListener changeListener)
          Deregisters the provided change notification listener with the Directory Server so that it will no longer be notified of any add, delete, modify, or modify DN operations that are performed.
static void deregisterConnectionHandler(ConnectionHandler handler)
          Deregisters the provided connection handler with the Directory Server.
static void deregisterDITContentRule(DITContentRule ditContentRule)
          Deregisters the provided DIT content rule with the Directory Server.
static void deregisterDITStructureRule(DITStructureRule ditStructureRule)
          Deregisters the provided DIT structure rule with the Directory Server.
static void deregisterEqualityMatchingRule(EqualityMatchingRule matchingRule)
          Deregisters the provided equality matching rule with the Directory Server.
static void deregisterExportTaskListener(ExportTaskListener listener)
          Deregisters the provided LDIF export task listener with the Directory Server.
static void deregisterIdentityMapper(DN configEntryDN)
          Deregisters the provided identity mapper for use with the Directory Server.
static void deregisterImportTaskListener(ImportTaskListener listener)
          Deregisters the provided LDIF import task listener with the Directory Server.
static void deregisterInvokableComponent(InvokableComponent component)
          Deregisters the provided invokable component with the Directory Server.
static void deregisterKeyManagerProvider(DN providerDN)
          Deregisters the specified key manager provider with the Directory Server.
static void deregisterMatchingRule(MatchingRule matchingRule)
          Deregisters the provided matching rule with the Directory Server.
static void deregisterMatchingRuleUse(MatchingRuleUse matchingRuleUse)
          Deregisters the provided matching rule use with the Directory Server.
static void deregisterMonitorProvider(java.lang.String lowerName)
          Deregisters the specified monitor provider from the Directory Server.
static void deregisterNameForm(NameForm nameForm)
          Deregisters the provided name form with the Directory Server.
static void deregisterObjectClass(ObjectClass objectClass)
          Deregisters the provided objectclass with the Directory Server.
static void deregisterOrderingMatchingRule(OrderingMatchingRule matchingRule)
          Deregisters the provided ordering matching rule with the Directory Server.
static void deregisterPasswordGenerator(DN configEntryDN)
          Deregisters the provided password generator for use with the Directory Server.
static void deregisterPasswordPolicy(DN configEntryDN)
          Deregisters the provided password policy with the Directory Server.
static void deregisterPasswordStorageScheme(DN configEntryDN)
          Deregisters the specified password storage scheme with the Directory Server.
static void deregisterPasswordValidator(DN configEntryDN)
          Deregisters the provided password validator for use with the Directory Server.
static void deregisterPersistentSearch(PersistentSearch persistentSearch)
          Deregisters the provided persistent search operation with the Directory Server so that it will no longer be notified of any add, delete, modify, or modify DN operations that are performed.
static void deregisterRestoreTaskListener(RestoreTaskListener listener)
          Deregisters the provided restore task listener with the Directory Server.
static void deregisterRetentionPolicy(DN configEntryDN)
          Deregisters the provided log retention policy with the Directory Server.
static void deregisterRootDN(DN rootDN)
          Deregisters the provided root DN with the Directory Server.
static void deregisterRotationPolicy(DN configEntryDN)
          Deregisters the provided log rotation policy with the Directory Server.
static void deregisterSASLMechanismHandler(java.lang.String name)
          Deregisters the provided SASL mechanism handler with the Directory Server.
static void deregisterShutdownListener(ServerShutdownListener listener)
          Deregisters the provided shutdown listener with the Directory Server.
static void deregisterSubstringMatchingRule(SubstringMatchingRule matchingRule)
          Deregisters the provided substring matching rule with the Directory Server.
static void deregisterSupportedControl(java.lang.String controlOID)
          Deregisters the provided OID as a supported control for the Directory Server.
static void deregisterSupportedExtension(java.lang.String oid)
          Deregisters the provided extended operation handler with the Directory Server.
static void deregisterSupportedFeature(java.lang.String featureOID)
          Deregisters the provided OID as a supported feature for the Directory Server.
static void deregisterSupportedLDAPVersion(int supportedLDAPVersion, ConnectionHandler connectionHandler)
          Deregisters the provided LDAP protocol version as supported within the Directory Server.
static void deregisterSynchronizationProvider(SynchronizationProvider provider)
          Deregisters the provided synchronization provider with the Directory Server.
static void deregisterTrustManagerProvider(DN providerDN)
          Deregisters the specified trust manager provider with the Directory Server.
static void deregisterVirtualAttribute(VirtualAttributeRule rule)
          Deregisters the provided virtual attribute rule with the Directory Server.
static void enqueueRequest(AbstractOperation operation)
          Adds the provided operation to the work queue so that it will be processed by one of the worker threads.
static boolean entryExists(DN entryDN)
          Indicates whether the specified entry exists in the Directory Server.
static AccountStatusNotificationHandler getAccountStatusNotificationHandler(DN handlerDN)
          Retrieves the account status notification handler with the specified configuration entry DN.
static java.util.concurrent.ConcurrentHashMap<DN,AccountStatusNotificationHandler> getAccountStatusNotificationHandlers()
          Retrieves the set of account status notification handlers defined in the Directory Server, as a mapping between the DN of the configuration entry and the notification handler implementation.
static DN getActualRootBindDN(DN alternateRootBindDN)
          Retrieves the real entry DN for the root user with the provided alternate bind DN.
static java.util.concurrent.CopyOnWriteArrayList<AlertHandler> getAlertHandlers()
          Retrieves the set of alert handlers that have been registered with the Directory Server.
 java.util.LinkedHashMap<java.lang.String,java.lang.String> getAlerts()
          Retrieves information about the set of alerts that this generator may produce.
static java.util.Set<java.lang.String> getAllowedTasks()
          Retrieves a set containing the names of the allowed tasks that may be invoked in the server.
static java.util.concurrent.ConcurrentHashMap<DN,DN> getAlternateRootBindDNs()
          Retrieves the set of alternate bind DNs for root users, mapped between the alternate DN and the real DN.
static ApproximateMatchingRule getApproximateMatchingRule(java.lang.String lowerName)
          Retrieves the approximate matching rule with the specified name or OID.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,ApproximateMatchingRule> getApproximateMatchingRules()
          Retrieves the set of approximate matching rules registered with the Directory Server.
static AttributeSyntax getAttributeSyntax(java.lang.String oid, boolean allowDefault)
          Retrieves the requested attribute syntax.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,AttributeSyntax> getAttributeSyntaxes()
          Retrieves the set of attribute syntaxes defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getAttributeSyntaxSet()
          Retrieves the set of encoded attribute syntaxes that have been defined in the Directory Server.
static AttributeType getAttributeType(java.lang.String lowerName)
          Retrieves the attribute type for the provided lowercase name or OID.
static AttributeType getAttributeType(java.lang.String lowerName, boolean returnDefault)
          Retrieves the attribute type for the provided lowercase name or OID.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,AttributeType> getAttributeTypes()
          Retrieves the set of attribute type definitions that have been defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getAttributeTypeSet()
          Retrieves the set of encoded attribute types that have been defined in the Directory Server.
static AuthenticatedUsers getAuthenticatedUsers()
          Retrieves the authenticated users manager for the Directory Server.
static PasswordStorageScheme getAuthPasswordStorageScheme(java.lang.String name)
          Retrieves the specified authentication password storage scheme.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,PasswordStorageScheme> getAuthPasswordStorageSchemes()
          Retrieves the set of authentication password storage schemes defined in the Directory Server, as a mapping between the scheme name and the corresponding implementation.
static Backend getBackend(DN entryDN)
          Retrieves the backend that should be used to handle operations on the specified entry.
static Backend getBackend(java.lang.String backendID)
          Retrieves the backend with the specified backend ID.
static java.util.Set<BackendInitializationListener> getBackendInitializationListeners()
          Retrieves the set of backend initialization listeners that have been registered with the Directory Server.
static java.util.Map<java.lang.String,Backend> getBackends()
          Retrieves the set of backends that have been registered with the Directory Server, as a mapping between the backend ID and the corresponding backend.
static Backend getBackendWithBaseDN(DN baseDN)
          Retrieves the backend with the specified base DN.
static java.util.Map<DN,Backend> getBaseDNs()
          Retrieves the entire set of base DNs registered with the Directory Server, mapped from the base DN to the backend responsible for that base DN.
static CertificateMapper getCertificateMapper(DN mapperDN)
          Retrieves the certificate mapper registered with the provided entry DN.
static java.util.Map<DN,CertificateMapper> getCertificateMappers()
          Retrieves the set of certificate mappers registered with the Directory Server.
static java.util.concurrent.CopyOnWriteArrayList<ChangeNotificationListener> getChangeNotificationListeners()
          Retrieves the set of change notification listeners registered with the Directory Server.
static java.lang.ClassLoader getClassLoader()
          Gets the class loader to be used with this directory server application.
 java.lang.String getClassName()
          Retrieves the fully-qualified name of the Java class for this alert generator implementation.
 DN getComponentEntryDN()
          Retrieves the DN of the configuration entry with which this alert generator is associated.
static ConfigEntry getConfigEntry(DN entryDN)
          Retrieves the requested entry from the Directory Server configuration.
static java.lang.String getConfigFile()
          Retrieves the path to the configuration file used to initialize the Directory Server.
static ConfigHandler getConfigHandler()
          Retrieves a reference to the Directory Server configuration handler.
static java.util.concurrent.CopyOnWriteArrayList<ConnectionHandler> getConnectionHandlers()
          Retrieves the set of connection handlers configured in the Directory Server.
static CryptoManagerImpl getCryptoManager()
          Retrieves a reference to the Directory Server crypto manager.
static long getCurrentConnections()
          Retrieves the number of client connections that are currently established.
static AttributeSyntax getDefaultAttributeSyntax()
          Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema.
static AttributeType getDefaultAttributeType(java.lang.String name)
          Causes the Directory Server to construct a new attribute type definition with the provided name and using the default attribute syntax.
static AttributeType getDefaultAttributeType(java.lang.String name, AttributeSyntax syntax)
          Causes the Directory Server to construct a new attribute type definition with the provided name and syntax.
static ObjectClass getDefaultAuxiliaryObjectClass(java.lang.String name)
          Causes the Directory Server to construct a new auxiliary objectclass definition with the provided name and with no required or allowed attributes.
static AttributeSyntax getDefaultBinarySyntax()
          Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store binary values.
static AttributeSyntax getDefaultBooleanSyntax()
          Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store Boolean values.
static CompressedSchema getDefaultCompressedSchema()
          Retrieves the default compressed schema manager for the Directory Server.
static AttributeSyntax getDefaultDNSyntax()
          Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store DN values.
static AttributeSyntax getDefaultIntegerSyntax()
          Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store integer values.
static ObjectClass getDefaultObjectClass(java.lang.String name)
          Causes the Directory Server to construct a new objectclass definition with the provided name and with no required or allowed attributes.
static PasswordPolicy getDefaultPasswordPolicy()
          Retrieves the default password policy for the Directory Server.
static DN getDefaultPasswordPolicyDN()
          Retrieves the DN of the configuration entry for the default password policy for the Directory Server.
static AttributeSyntax getDefaultStringSyntax()
          Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store string values.
static java.lang.ThreadGroup getDirectoryThreadGroup()
          Retrieves the thread group that should be used by all threads associated with the Directory Server.
static java.util.Set<Privilege> getDisabledPrivileges()
          Retrieves the set of privileges that have been disabled.
static DITContentRule getDITContentRule(ObjectClass objectClass)
          Retrieves the DIT content rule associated with the specified objectclass.
static java.util.concurrent.ConcurrentHashMap<ObjectClass,DITContentRule> getDITContentRules()
          Retrieves the set of DIT content rules defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getDITContentRuleSet()
          Retrieves the set of encoded DIT content rules that have been defined in the Directory Server.
static DITStructureRule getDITStructureRule(int ruleID)
          Retrieves the DIT structure rule associated with the provided rule ID.
static DITStructureRule getDITStructureRule(NameForm nameForm)
          Retrieves the DIT structure rule associated with the provided name form.
static java.util.concurrent.ConcurrentHashMap<NameForm,DITStructureRule> getDITStructureRules()
          Retrieves the set of DIT structure rules defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getDITStructureRuleSet()
          Retrieves the set of encoded DIT structure rules that have been defined in the Directory Server.
static Entry getEntry(DN entryDN)
          Retrieves the entry with the requested DN.
static EntryCache getEntryCache()
          Retrieves the entry cache for the Directory Server.
static DirectoryEnvironmentConfig getEnvironmentConfig()
          Retrieves the environment configuration for the Directory Server.
static EqualityMatchingRule getEqualityMatchingRule(java.lang.String lowerName)
          Retrieves the equality matching rule with the specified name or OID.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,EqualityMatchingRule> getEqualityMatchingRules()
          Retrieves the set of equality matching rules registered with the Directory Server.
static ExtendedOperationHandler getExtendedOperationHandler(java.lang.String oid)
          Retrieves the handler for the extended operation for the provided OID.
static GroupManager getGroupManager()
          Retrieves the Directory Server group manager.
static IdentityMapper getIdentityMapper(DN configEntryDN)
          Retrieves the Directory Server identity mapper whose configuration resides in the specified configuration entry.
static java.util.concurrent.ConcurrentHashMap<DN,IdentityMapper> getIdentityMappers()
          Retrieves the set of identity mappers defined in the Directory Server configuration, as a mapping between the DN of the configuration entry and the identity mapper.
static long getIdleTimeLimit()
          Retrieves the maximum length of time in milliseconds that client connections should be allowed to remain idle without being disconnected.
static DirectoryServer getInstance()
          Retrieves the instance of the Directory Server that is associated with this JVM.
static JMXMBean getJMXMBean(DN configEntryDN)
          Retrieves the JMX MBean associated with the specified entry in the Directory Server configuration.
static java.util.concurrent.ConcurrentHashMap<DN,JMXMBean> getJMXMBeans()
          Retrieves the set of JMX MBeans that are associated with the server.
static javax.management.MBeanServer getJMXMBeanServer()
          Retrieves a reference to the JMX MBean server that is associated with the Directory Server.
static KeyManagerProvider getKeyManagerProvider(DN providerDN)
          Retrieves the key manager provider registered with the provided entry DN.
static java.util.Map<DN,KeyManagerProvider> getKeyManagerProviders()
          Retrieves the set of key manager providers registered with the Directory Server.
static int getLookthroughLimit()
          Retrieves the default maximum number of entries that should checked for matches during a search.
static java.util.List<java.util.Properties> getMailServerPropertySets()
          Retrieves the sets of information about the mail servers configured for use by the Directory Server.
static MatchingRule getMatchingRule(java.lang.String lowerName)
          Retrieves the matching rule with the specified name or OID.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,MatchingRule> getMatchingRules()
          Retrieves the set of matching rules registered with the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getMatchingRuleSet()
          Retrieves the set of encoded matching rules that have been defined in the Directory Server.
static MatchingRuleUse getMatchingRuleUse(MatchingRule matchingRule)
          Retrieves the matching rule use associated with the provided matching rule.
static java.util.concurrent.ConcurrentHashMap<MatchingRule,MatchingRuleUse> getMatchingRuleUses()
          Retrieves the set of matching rule uses defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getMatchingRuleUseSet()
          Retrieves the set of encoded matching rule uses that have been defined in the Directory Server.
static long getMaxAllowedConnections()
          Retrieves the maximum number of concurrent client connections that may be established.
static long getMaxConnections()
          Retrieves the maximum number of client connections that have been established concurrently.
static MonitorProvider<? extends MonitorProviderCfg> getMonitorProvider(java.lang.String lowerName)
          Retrieves the monitor provider with the specified name.
static DN getMonitorProviderDN(MonitorProvider provider)
          Construct the DN of a monitor provider entry.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,MonitorProvider<? extends MonitorProviderCfg>> getMonitorProviders()
          Retrieves the set of monitor providers that have been registered with the Directory Server, as a mapping between the monitor name (in all lowercase characters) and the monitor implementation.
static NameForm getNameForm(ObjectClass objectClass)
          Retrieves the name form associated with the specified objectclass.
static NameForm getNameForm(java.lang.String lowerName)
          Retrieves the name form associated with the specified name or OID.
static java.util.concurrent.ConcurrentHashMap<ObjectClass,NameForm> getNameForms()
          Retrieves the set of name forms defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getNameFormSet()
          Retrieves the set of encoded name forms that have been defined in the Directory Server.
static ObjectClass getObjectClass(java.lang.String lowerName)
          Retrieves the objectclass for the provided lowercase name or OID.
static ObjectClass getObjectClass(java.lang.String lowerName, boolean returnDefault)
          Retrieves the objectclass for the provided lowercase name or OID.
static AttributeType getObjectClassAttributeType()
          Retrieves the attribute type for the "objectClass" attribute.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,ObjectClass> getObjectClasses()
          Retrieves the set of objectclasses defined in the Directory Server.
static java.util.LinkedHashSet<AttributeValue> getObjectClassSet()
          Retrieves the set of encoded objectclasses that have been defined in the Directory Server.
static java.util.Map<java.lang.String,java.lang.Long> getOfflineBackendsStateIDs()
          This method returns a map that contains a unique offline state id, such as checksum, for every server backend that has registered one.
static java.util.List<Modification> getOfflineSchemaChanges()
          Retrieves a list of modifications detailing any schema changes that may have been made with the server offline (e.g., by directly editing the schema configuration files).
static OperatingSystem getOperatingSystem()
          Retrieves the operating system on which the Directory Server is running.
static OrderingMatchingRule getOrderingMatchingRule(java.lang.String lowerName)
          Retrieves the ordering matching rule with the specified name or OID.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,OrderingMatchingRule> getOrderingMatchingRules()
          Retrieves the set of ordering matching rules registered with the Directory Server.
static PasswordGenerator getPasswordGenerator(DN configEntryDN)
          Retrieves the password generator registered with the provided configuration entry DN.
static java.util.concurrent.ConcurrentHashMap<DN,PasswordGenerator> getPasswordGenerators()
          Retrieves the set of password generators that have been registered for use with the Directory Server as a mapping between the DN of the associated generator configuration entry and the generator implementation.
static PasswordPolicy[] getPasswordPolicies()
          Retrieves the set of password policies registered with the Directory Server.
static PasswordPolicy getPasswordPolicy(DN configEntryDN)
          Retrieves the password policy registered for the provided configuration entry.
static PasswordPolicyConfig getPasswordPolicyConfig(DN configEntryDN)
          Retrieves the password policy registered for the provided configuration entry.
static PasswordStorageScheme getPasswordStorageScheme(DN configEntryDN)
          Retrieves the password storage scheme defined in the specified configuration entry.
static PasswordStorageScheme getPasswordStorageScheme(java.lang.String lowerName)
          Retrieves the specified password storage scheme.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,PasswordStorageScheme> getPasswordStorageSchemes()
          Retrieves the set of password storage schemes defined in the Directory Server, as a mapping between the all-lowercase scheme name and the corresponding implementation.
static PasswordValidator<? extends PasswordValidatorCfg> getPasswordValidator(DN configEntryDN)
          Retrieves the password validator registered with the provided configuration entry DN.
static java.util.concurrent.ConcurrentHashMap<DN,PasswordValidator<? extends PasswordValidatorCfg>> getPasswordValidators()
          Retrieves the set of password validators that have been registered for use with the Directory Server as a mapping between the DN of the associated validator configuration entry and the validator implementation.
static java.util.concurrent.CopyOnWriteArrayList<PersistentSearch> getPersistentSearches()
          Retrieves the set of persistent searches registered with the Directory Server.
static PluginConfigManager getPluginConfigManager()
          Retrieves a reference to the Directory Server plugin configuration manager.
static java.util.Map<DN,Backend> getPrivateNamingContexts()
          Retrieves the set of private naming contexts defined in the Directory Server, mapped from the naming context DN to the corresponding backend.
static IdentityMapper getProxiedAuthorizationIdentityMapper()
          Retrieves the identity mapper that should be used to resolve authorization IDs contained in proxied authorization V2 controls.
static DN getProxiedAuthorizationIdentityMapperDN()
          Retrieves the DN of the configuration entry for the identity mapper that should be used in conjunction with proxied authorization V2 controls.
static java.util.Map<DN,Backend> getPublicNamingContexts()
          Retrieves the set of public naming contexts defined in the Directory Server, mapped from the naming context DN to the corresponding backend.
static RetentionPolicy getRetentionPolicy(DN configEntryDN)
          Retrieves the log retention policy registered for the provided configuration entry.
static java.util.concurrent.CopyOnWriteArraySet<DN> getRootDNs()
          Retrieves the DNs for the root users configured in the Directory Server.
static Entry getRootDSE()
          Retrieves the root DSE entry for the Directory Server.
static RootDSEBackend getRootDSEBackend()
          Retrieves the root DSE backend for the Directory Server.
static java.util.Set<Privilege> getRootPrivileges()
          Retrieves the set of privileges that should automatically be granted to root users when they authenticate.
static RotationPolicy getRotationPolicy(DN configEntryDN)
          Retrieves the log rotation policy registered for the provided configuration entry.
static SASLMechanismHandler getSASLMechanismHandler(java.lang.String name)
          Retrieves the handler for the specified SASL mechanism.
static Schema getSchema()
          Retrieves a reference to the Directory Server schema.
static DN getSchemaDN()
          Retrieves the DN of the entry containing the server schema definitions.
static ResultCode getServerErrorResultCode()
          Retrieves the result code that should be used when the Directory Server encounters an internal server error.
static java.lang.String getServerRoot()
          Retrieves the path to the root directory for this instance of the Directory Server.
static AcceptRejectWarn getSingleStructuralObjectClassPolicy()
          Retrieves the policy that should be used regarding enforcement of a single structural objectclass per entry.
static int getSizeLimit()
          Retrieves the default maximum number of entries that should be returned for a search.
static long getStartTime()
          Retrieves the time that the Directory Server was started, in milliseconds since the epoch.
static java.lang.String getStartTimeUTC()
          Retrieves the time that the Directory Server was started, formatted in UTC.
static SubstringMatchingRule getSubstringMatchingRule(java.lang.String lowerName)
          Retrieves the substring matching rule with the specified name or OID.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,SubstringMatchingRule> getSubstringMatchingRules()
          Retrieves the set of substring matching rules registered with the Directory Server.
static java.util.TreeSet<java.lang.String> getSupportedControls()
          Retrieves the set of supported controls registered with the Directory Server.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,ExtendedOperationHandler> getSupportedExtensions()
          Retrieves the set of extended operations that may be processed by the Directory Server.
static java.util.TreeSet<java.lang.String> getSupportedFeatures()
          Retrieves the set of supported features registered with the Directory Server.
static java.util.Set<java.lang.Integer> getSupportedLDAPVersions()
          Retrieves the supported LDAP versions for the Directory Server.
static java.util.concurrent.ConcurrentHashMap<java.lang.String,SASLMechanismHandler> getSupportedSASLMechanisms()
          Retrieves the set of SASL mechanisms that are supported by the Directory Server.
static java.util.concurrent.CopyOnWriteArrayList<SynchronizationProvider<SynchronizationProviderCfg>> getSynchronizationProviders()
          Retrieves the set of synchronization providers that have been registered with the Directory Server.
static AcceptRejectWarn getSyntaxEnforcementPolicy()
          Retrieves the policy that should be used when an attribute value is found that is not valid according to the associated attribute syntax.
static int getTimeLimit()
          Retrieves the default maximum length of time in seconds that should be allowed when processing a search.
static ObjectClass getTopObjectClass()
          Retrieves the "top" objectClass, which should be the topmost objectclass in the inheritance chain for most other objectclasses.
static long getTotalConnections()
          Retrieves the total number of client connections that have been established since the Directory Server started.
static TrustManagerProvider getTrustManagerProvider(DN providerDN)
          Retrieves the trust manager provider registered with the provided entry DN.
static java.util.Map<DN,TrustManagerProvider> getTrustManagerProviders()
          Retrieves the set of trust manager providers registered with the Directory Server.
static boolean getUseNanoTime()
          Retrieves whether operation processing times should be collected with nanosecond resolution.
static java.lang.String getVersionString()
          Retrieves the full version string for the Directory Server.
static java.util.List<VirtualAttributeRule> getVirtualAttributes()
          Retrieves the set of virtual attribute rules registered with the Directory Server.
static java.util.List<VirtualAttributeRule> getVirtualAttributes(Entry entry)
          Retrieves the set of virtual attribute rules registered with the Directory Server that are applicable to the provided entry.
static GlobalCfgDefn.WorkflowConfigurationMode getWorkflowConfigurationMode()
          Retrieves the workflow configuration mode.
static WorkQueue getWorkQueue()
          Retrieves a reference to the Directory Server work queue.
static WritabilityMode getWritabilityMode()
          Retrieves the writability mode for the Directory Server.
static boolean hasBackend(java.lang.String backendID)
          Indicates whether the Directory Server has a backend with the specified backend ID.
 void initializeConfiguration()
          Instantiates the configuration handler and loads the Directory Server configuration.
 void initializeConfiguration(java.lang.String configClass, java.lang.String configFile)
          Instantiates the configuration handler and loads the Directory Server configuration.
 void initializeCryptoManager()
          Initializes the crypto manager for the Directory Server.
 void initializeGroupManager()
          Initializes the Directory Server group manager.
static void initializeJMX()
          Performs a minimal set of JMX initialization.
 void initializePasswordPolicyComponents()
          Initializes the set of password policy components for use by the Directory Server.
 void initializePlugins()
          Initializes the set of plugins defined in the Directory Server.
 void initializePlugins(java.util.Set<PluginType> pluginTypes)
          Initializes the set of plugins defined in the Directory Server.
 void initializeSchema()
          Initializes the schema elements for the Directory Server, including the matching rules, attribute syntaxes, attribute types, and object classes.
static boolean isDisabled(Privilege privilege)
          Indicates whether the specified privilege is disabled.
static boolean isNamingContext(DN dn)
          Indicates whether the specified DN is one of the Directory Server naming contexts.
static boolean isRootDN(DN userDN)
          Indicates whether the provided DN is the DN for one of the root users configured in the Directory Server.
static boolean isRunning()
          Indicates whether the Directory Server is currently running.
static boolean isRunningAsWindowsService()
          Returns true if this server is configured to run as a windows service.
 boolean isShuttingDown()
          Indicates whether the server is currently in the process of shutting down.
static boolean isSupportedControl(java.lang.String controlOID)
          Indicates whether the specified OID is registered with the Directory Server as a supported control.
static boolean isSupportedFeature(java.lang.String featureOID)
          Indicates whether the specified OID is registered with the Directory Server as a supported feature.
static java.lang.Class<?> loadClass(java.lang.String name)
          Loads the named class using this directory server application's class loader.
static boolean lockdownMode()
          Indicates whether the Directory Server is currently configured to operate in the lockdown mode, in which all non-root requests will be rejected and all connection attempts from non-loopback clients will be rejected.
static boolean mailServerConfigured()
          Indicates whether the Directory Server is configured with information about one or more mail servers and may therefore be used to send e-mail messages.
static void main(java.lang.String[] args)
          Parses the provided command-line arguments and uses that information to bootstrap and start the Directory Server.
static long newConnectionAccepted(ClientConnection clientConnection)
          Indicates that a new connection has been accepted and increments the associated counters.
static boolean notifyAbandonedOperations()
          Indicates whether the Directory Server should send a response to an operation that has been abandoned.
static void notifyBackupBeginning(Backend backend, BackupConfig config)
          Notifies the registered backup task listeners that the server will be beginning a backup task with the provided information.
static void notifyBackupEnded(Backend backend, BackupConfig config, boolean successful)
          Notifies the registered backup task listeners that the server has completed processing on a backup task with the provided information.
static void notifyExportBeginning(Backend backend, LDIFExportConfig config)
          Notifies the registered LDIF export task listeners that the server will be beginning an export task with the provided information.
static void notifyExportEnded(Backend backend, LDIFExportConfig config, boolean successful)
          Notifies the registered LDIF export task listeners that the server has completed processing on an export task with the provided information.
static void notifyImportBeginning(Backend backend, LDIFImportConfig config)
          Notifies the registered LDIF import task listeners that the server will be beginning an import task with the provided information.
static void notifyImportEnded(Backend backend, LDIFImportConfig config, boolean successful)
          Notifies the registered LDIF import task listeners that the server has completed processing on an import task with the provided information.
static void notifyRestoreBeginning(Backend backend, RestoreConfig config)
          Notifies the registered restore task listeners that the server will be beginning a restore task with the provided information.
static void notifyRestoreEnded(Backend backend, RestoreConfig config, boolean successful)
          Notifies the registered restore task listeners that the server has completed processing on a restore task with the provided information.
static void printVersion(java.io.OutputStream outputStream)
          Prints out the version string for the Directory Server.
static void reconfigureWorkflows(GlobalCfgDefn.WorkflowConfigurationMode oldMode, GlobalCfgDefn.WorkflowConfigurationMode newMode)
          Reconfigures the workflows when configuration mode has changed.
static void registerAccountStatusNotificationHandler(DN handlerDN, AccountStatusNotificationHandler handler)
          Registers the provided account status notification handler with the Directory Server.
static void registerAlertGenerator(AlertGenerator alertGenerator)
          Registers the provided alert generator with the Directory Server.
static void registerAlertHandler(AlertHandler alertHandler)
          Registers the provided alert handler with the Directory Server.
static void registerAlternateRootDN(DN actualRootEntryDN, DN alternateRootBindDN)
          Registers an alternate root bind DN using the provided information.
static void registerApproximateMatchingRule(ApproximateMatchingRule matchingRule, boolean overwriteExisting)
          Registers the provided approximate matching rule with the Directory Server.
static void registerAttributeSyntax(AttributeSyntax syntax, boolean overwriteExisting)
          Registers the provided attribute syntax with the Directory Server.
static void registerAttributeType(AttributeType attributeType, boolean overwriteExisting)
          Registers the provided attribute type with the Directory Server.
static void registerBackend(Backend backend)
          Registers the provided backend with the Directory Server.
static void registerBackendInitializationListener(BackendInitializationListener listener)
          Registers the provided backend initialization listener with the Directory Server.
static void registerBackupTaskListener(BackupTaskListener listener)
          Registers the provided backup task listener with the Directory Server.
static void registerBaseDN(DN baseDN, Backend backend, boolean isPrivate)
          Registers the provided base DN with the server.
static void registerCertificateMapper(DN mapperDN, CertificateMapper mapper)
          Registers the provided certificate mapper with the Directory Server.
static void registerChangeNotificationListener(ChangeNotificationListener changeListener)
          Registers the provided change notification listener with the Directory Server so that it will be notified of any add, delete, modify, or modify DN operations that are performed.
static void registerConnectionHandler(ConnectionHandler<? extends ConnectionHandlerCfg> handler)
          Registers the provided connection handler with the Directory Server.
static void registerDITContentRule(DITContentRule ditContentRule, boolean overwriteExisting)
          Registers the provided DIT content rule with the Directory Server.
static void registerDITStructureRule(DITStructureRule ditStructureRule, boolean overwriteExisting)
          Registers the provided DIT structure rule with the Directory Server.
static void registerEqualityMatchingRule(EqualityMatchingRule matchingRule, boolean overwriteExisting)
          Registers the provided equality matching rule with the Directory Server.
static void registerExportTaskListener(ExportTaskListener listener)
          Registers the provided LDIF export task listener with the Directory Server.
static void registerIdentityMapper(DN configEntryDN, IdentityMapper identityMapper)
          Registers the provided identity mapper for use with the Directory Server.
static void registerImportTaskListener(ImportTaskListener listener)
          Registers the provided LDIF import task listener with the Directory Server.
static void registerInvokableComponent(InvokableComponent component)
          Registers the provided invokable component with the Directory Server.
static void registerKeyManagerProvider(DN providerDN, KeyManagerProvider provider)
          Registers the provided key manager provider with the Directory Server.
static void registerMatchingRule(MatchingRule matchingRule, boolean overwriteExisting)
          Registers the provided matching rule with the Directory Server.
static void registerMatchingRuleUse(MatchingRuleUse matchingRuleUse, boolean overwriteExisting)
          Registers the provided matching rule use with the Directory Server.
static void registerMonitorProvider(MonitorProvider<? extends MonitorProviderCfg> monitorProvider)
          Registers the provided monitor provider with the Directory Server.
static void registerNameForm(NameForm nameForm, boolean overwriteExisting)
          Registers the provided name form with the Directory Server.
static void registerObjectClass(ObjectClass objectClass, boolean overwriteExisting)
          Registers the provided objectclass with the Directory Server.
static void registerOfflineBackendStateID(java.lang.String backend, long id)
          This method allows any server backend to register its unique offline state, such as checksum, in a global map other server components can access to determine if any changes were made to given backend while offline.
static void registerOrderingMatchingRule(OrderingMatchingRule matchingRule, boolean overwriteExisting)
          Registers the provided ordering matching rule with the Directory Server.
static void registerPasswordGenerator(DN configEntryDN, PasswordGenerator generator)
          Registers the provided password generator for use with the Directory Server.
static void registerPasswordPolicy(DN configEntryDN, PasswordPolicyConfig config)
          Registers the provided password policy with the Directory Server.
static void registerPasswordStorageScheme(DN configEntryDN, PasswordStorageScheme scheme)
          Registers the provided password storage scheme with the Directory Server.
static void registerPasswordValidator(DN configEntryDN, PasswordValidator<? extends PasswordValidatorCfg> validator)
          Registers the provided password validator for use with the Directory Server.
static void registerPersistentSearch(PersistentSearch persistentSearch)
          Registers the provided persistent search operation with the Directory Server so that it will be notified of any add, delete, modify, or modify DN operations that are performed.
static void registerRestoreTaskListener(RestoreTaskListener listener)
          Registers the provided restore task listener with the Directory Server.
static void registerRetentionPolicy(DN configEntryDN, RetentionPolicy policy)
          Registers the provided log retention policy with the Directory Server.
static void registerRootDN(DN rootDN)
          Registers the provided root DN with the Directory Server.
static void registerRotationPolicy(DN configEntryDN, RotationPolicy policy)
          Registers the provided log rotation policy with the Directory Server.
static void registerSASLMechanismHandler(java.lang.String name, SASLMechanismHandler handler)
          Registers the provided SASL mechanism handler with the Directory Server.
static void registerShutdownListener(ServerShutdownListener listener)
          Registers the provided shutdown listener with the Directory Server so that it will be notified when the server shuts down.
static void registerSubstringMatchingRule(SubstringMatchingRule matchingRule, boolean overwriteExisting)
          Registers the provided substring matching rule with the Directory Server.
static void registerSupportedControl(java.lang.String controlOID)
          Registers the provided OID as a supported control for the Directory Server.
static void registerSupportedExtension(java.lang.String oid, ExtendedOperationHandler handler)
          Registers the provided extended operation handler with the Directory Server.
static void registerSupportedFeature(java.lang.String featureOID)
          Registers the provided OID as a supported feature for the Directory Server.
static void registerSupportedLDAPVersion(int supportedLDAPVersion, ConnectionHandler connectionHandler)
          Registers the provided LDAP protocol version as supported within the Directory Server.
static void registerSynchronizationProvider(SynchronizationProvider<SynchronizationProviderCfg> provider)
          Registers the provided synchronization provider with the Directory Server.
static void registerTrustManagerProvider(DN providerDN, TrustManagerProvider provider)
          Registers the provided trust manager provider with the Directory Server.
static void registerVirtualAttribute(VirtualAttributeRule rule)
          Registers the provided virtual attribute rule with the Directory Server.
static DirectoryServer reinitialize()
          Reinitializes the server following a shutdown, preparing it for a call to startServer.
static DirectoryServer reinitialize(DirectoryEnvironmentConfig config)
          Reinitializes the server following a shutdown, preparing it for a call to startServer.
static boolean rejectUnauthenticatedRequests()
          Indicates whether an unauthenticated request should be rejected.
static boolean replaceVirtualAttribute(VirtualAttributeRule oldRule, VirtualAttributeRule newRule)
          Replaces the specified virtual attribute rule in the set of virtual attributes registered with the Directory Server.
static void restart(java.lang.String className, Message reason)
          Causes the Directory Server to perform an in-core restart.
static void restart(java.lang.String className, Message reason, DirectoryEnvironmentConfig config)
          Causes the Directory Server to perform an in-core restart.
static boolean returnBindErrorMessages()
          Indicates whether responses to failed bind operations should include a message explaining the reason for the failure.
static boolean saveConfigOnSuccessfulStartup()
          Indicates whether the Directory Server should save a copy of its configuration whenever it is started successfully.
static void sendAlertNotification(AlertGenerator generator, java.lang.String alertType, Message alertMessage)
          Sends an alert notification with the provided information.
static void setAddMissingRDNAttributes(boolean addMissingRDNAttributes)
          Specifies whether the Directory Server should automatically add missing RDN attributes to an entry whenever it is added.
static void setAllowAttributeNameExceptions(boolean allowAttributeNameExceptions)
          Specifies whether to be more flexible in the set of characters allowed for attribute names.
static void setAllowedTasks(java.util.Set<java.lang.String> allowedTasks)
          Specifies the set of allowed tasks that may be invoked in the server.
static void setBindWithDNRequiresPassword(boolean bindWithDNRequiresPassword)
          Specifies whether simple bind requests that contain a bind DN will also be required to have a password.
static void setCheckSchema(boolean checkSchema)
          Specifies whether the Directory Server should perform schema checking.
static void setDefaultPasswordPolicyDN(DN defaultPasswordPolicyDN)
          Specifies the DN of the configuration entry for the default password policy for the Directory Server.
static void setDisabledPrivileges(java.util.Set<Privilege> disabledPrivileges)
          Specifies the set of privileges that should be disabled in the server.
static void setEntryCache(EntryCache entryCache)
          Specifies the entry cache that should be used by the Directory Server.
 void setEnvironmentConfig(DirectoryEnvironmentConfig config)
          Sets the environment configuration for the Directory Server.
static void setIdleTimeLimit(long idleTimeLimit)
          Specifies the maximum length of time in milliseconds that client connections should be allowed to remain idle without being disconnected.
static void setLockdownMode(boolean lockdownMode)
          Specifies whether the server should operate in lockdown mode.
static void setLookthroughLimit(int lookthroughLimit)
          Specifies the default maximum number of entries that should be checked for matches during a search.
static void setMailServerPropertySets(java.util.List<java.util.Properties> mailServerPropertySets)
          Specifies the set of mail server properties that should be used for SMTP communication.
static void setMaxAllowedConnections(long maxAllowedConnections)
          Specifies the maximum number of concurrent client connections that may be established.
static void setNotifyAbandonedOperations(boolean notifyAbandonedOperations)
          Specifies whether the Directory Server should send a response to an operation that has been abandoned.
static void setOfflineSchemaChanges(java.util.List<Modification> offlineSchemaChanges)
          Specifies a list of modifications detailing any schema changes that may have been made with the server offline.
static void setProxiedAuthorizationIdentityMapperDN(DN proxiedAuthorizationIdentityMapperDN)
          Specifies the DN of the configuration entry for the identity mapper that should be used in conjunction with proxied authorization V2 controls.
static void setRejectUnauthenticatedRequests(boolean rejectUnauthenticatedRequests)
          Specifies whether an unauthenticated request should be rejected.
static void setReturnBindErrorMessages(boolean returnBindErrorMessages)
          Specifies whether responses to failed bind operations should include a message explaining the reason for the failure.
static void setSaveConfigOnSuccessfulStartup(boolean saveConfigOnSuccessfulStartup)
          Specifies whether the Directory Server should save a copy of its configuration whenever it is started successfully.
static void setSchema(Schema schema)
          Replaces the Directory Server schema with the provided schema.
static void setSchemaDN(DN schemaDN)
          Specifies the DN of the entry containing the server schema definitions.
static void setServerErrorResultCode(ResultCode serverErrorResultCode)
          Specifies the result code that should be used when the Directory Server encounters an internal server error.
static void setSingleStructuralObjectClassPolicy(AcceptRejectWarn singleStructuralClassPolicy)
          Specifies the policy that should be used regarding enforcement of a single structural objectclass per entry.
static void setSizeLimit(int sizeLimit)
          Specifies the default maximum number of entries that should be returned for a search.
static void setSyntaxEnforcementPolicy(AcceptRejectWarn syntaxEnforcementPolicy)
          Retrieves the policy that should be used when an attribute value is found that is not valid according to the associated attribute syntax.
static void setTimeLimit(int timeLimit)
          Specifies the default maximum length of time in seconds that should be allowed when processing a search.
static void setUseNanoTime(boolean useNanoTime)
          Specifies whether to collect nanosecond resolution processing times for operations.
static void setWorkflowConfigurationMode(GlobalCfgDefn.WorkflowConfigurationMode workflowConfigurationMode)
          Specifies whether the workflows are configured automatically or manually.
static void setWritabilityMode(WritabilityMode writabilityMode)
          Specifies the writability mode for the Directory Server.
static void shutDown(java.lang.String className, Message reason)
          Initiates the Directory Server shutdown process.
 void startServer()
          Starts up the Directory Server.
 void uncaughtException(java.lang.Thread thread, java.lang.Throwable exception)
          Provides a means of handling a case in which a thread is about to die because of an unhandled exception.
static boolean workflowConfigurationModeIsAuto()
          Indicates whether the workflow configuration mode is 'auto' or not.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static DirectoryServer getInstance()
Retrieves the instance of the Directory Server that is associated with this JVM.

Returns:
The instance of the Directory Server that is associated with this JVM.

getEnvironmentConfig

public static DirectoryEnvironmentConfig getEnvironmentConfig()
Retrieves the environment configuration for the Directory Server.

Returns:
The environment configuration for the Directory Server.

setEnvironmentConfig

public void setEnvironmentConfig(DirectoryEnvironmentConfig config)
                          throws InitializationException
Sets the environment configuration for the Directory Server. This method may only be invoked when the server is not running.

Parameters:
config - The environment configuration for the Directory Server.
Throws:
InitializationException - If the Directory Server is currently running.

isRunning

public static boolean isRunning()
Indicates whether the Directory Server is currently running.

Returns:
true if the server is currently running, or false if not.

bootstrapClient

public static void bootstrapClient()
Bootstraps the appropriate Directory Server structures that may be needed by client-side tools. This is not intended for use in running the server itself.


bootstrapServer

public void bootstrapServer()
                     throws InitializationException
Bootstraps the Directory Server by initializing all the necessary structures that should be in place before the configuration may be read. This step must be completed before the server may be started or the configuration is loaded, but it will not be allowed while the server is running.

Throws:
InitializationException - If a problem occurs while attempting to bootstrap the server.

initializeJMX

public static void initializeJMX()
                          throws InitializationException
Performs a minimal set of JMX initialization. This may be used by the core Directory Server or by command-line tools.

Throws:
InitializationException - If a problem occurs while attempting to initialize the JMX subsystem.

initializeConfiguration

public void initializeConfiguration(java.lang.String configClass,
                                    java.lang.String configFile)
                             throws InitializationException
Instantiates the configuration handler and loads the Directory Server configuration.

Parameters:
configClass - The fully-qualified name of the Java class that will serve as the configuration handler for the Directory Server.
configFile - The path to the file that will hold either the entire server configuration or enough information to allow the server to access the configuration in some other repository.
Throws:
InitializationException - If a problem occurs while trying to initialize the config handler.

initializeConfiguration

public void initializeConfiguration()
                             throws InitializationException
Instantiates the configuration handler and loads the Directory Server configuration.

Throws:
InitializationException - If a problem occurs while trying to initialize the config handler.

getConfigFile

public static java.lang.String getConfigFile()
Retrieves the path to the configuration file used to initialize the Directory Server.

Returns:
The path to the configuration file used to initialize the Directory Server.

startServer

public void startServer()
                 throws ConfigException,
                        InitializationException
Starts up the Directory Server. It must have already been bootstrapped and cannot be running.

Throws:
ConfigException - If there is a problem with the Directory Server configuration that prevents a critical component from being instantiated.
InitializationException - If some other problem occurs while attempting to initialize and start the Directory Server.

getAuthenticatedUsers

public static AuthenticatedUsers getAuthenticatedUsers()
Retrieves the authenticated users manager for the Directory Server.

Returns:
The authenticated users manager for the Directory Server.

initializeCryptoManager

public void initializeCryptoManager()
                             throws ConfigException,
                                    InitializationException
Initializes the crypto manager for the Directory Server.

Throws:
ConfigException - If a configuration problem is identified while initializing the crypto manager.
InitializationException - If a problem occurs while initializing the crypto manager that is not related to the server configuration.

getCryptoManager

public static CryptoManagerImpl getCryptoManager()
Retrieves a reference to the Directory Server crypto manager.

Returns:
A reference to the Directory Server crypto manager.

mailServerConfigured

public static boolean mailServerConfigured()
Indicates whether the Directory Server is configured with information about one or more mail servers and may therefore be used to send e-mail messages.

Returns:
true if the Directory Server is configured to be able to send e-mail messages, or false if not.

setMailServerPropertySets

public static void setMailServerPropertySets(java.util.List<java.util.Properties> mailServerPropertySets)
Specifies the set of mail server properties that should be used for SMTP communication.

Parameters:
mailServerPropertySets - A list of Properties objects that provide information that can be used to communicate with SMTP servers.

getMailServerPropertySets

public static java.util.List<java.util.Properties> getMailServerPropertySets()
Retrieves the sets of information about the mail servers configured for use by the Directory Server.

Returns:
The sets of information about the mail servers configured for use by the Directory Server.

initializeSchema

public void initializeSchema()
                      throws ConfigException,
                             InitializationException
Initializes the schema elements for the Directory Server, including the matching rules, attribute syntaxes, attribute types, and object classes.

Throws:
ConfigException - If there is a configuration problem with any of the schema elements.
InitializationException - If a problem occurs while initializing the schema elements that is not related to the server configuration.

getDefaultCompressedSchema

public static CompressedSchema getDefaultCompressedSchema()
Retrieves the default compressed schema manager for the Directory Server.

Returns:
The default compressed schema manager for the Directory Server.

getBackendInitializationListeners

public static java.util.Set<BackendInitializationListener> getBackendInitializationListeners()
Retrieves the set of backend initialization listeners that have been registered with the Directory Server. The contents of the returned set must not be altered.

Returns:
The set of backend initialization listeners that have been registered with the Directory Server.

registerBackendInitializationListener

public static void registerBackendInitializationListener(BackendInitializationListener listener)
Registers the provided backend initialization listener with the Directory Server.

Parameters:
listener - The backend initialization listener to register with the Directory Server.

deregisterBackendInitializationListener

public static void deregisterBackendInitializationListener(BackendInitializationListener listener)
Deegisters the provided backend initialization listener with the Directory Server.

Parameters:
listener - The backend initialization listener to deregister with the Directory Server.

createAndRegisterWorkflowsWithDefaultNetworkGroup

public static void createAndRegisterWorkflowsWithDefaultNetworkGroup(Backend backend)
                                                              throws DirectoryException
Creates a set of workflows for a given backend and registers the workflows with the default network group. There are as many workflows as base DNs defined in the backend. This method is intended to be called when workflow configuration mode is auto.

Parameters:
backend - the backend handled by the workflow
Throws:
DirectoryException - If the workflow ID for the provided workflow conflicts with the workflow ID of an existing workflow.

createWorkflow

public static WorkflowImpl createWorkflow(DN baseDN,
                                          Backend backend)
                                   throws DirectoryException
Creates one workflow for a given base DN in a backend.

Parameters:
baseDN - the base DN of the workflow to create
backend - the backend handled by the workflow
Returns:
the newly created workflow
Throws:
DirectoryException - If the workflow ID for the provided workflow conflicts with the workflow ID of an existing workflow.

reconfigureWorkflows

public static void reconfigureWorkflows(GlobalCfgDefn.WorkflowConfigurationMode oldMode,
                                        GlobalCfgDefn.WorkflowConfigurationMode newMode)
Reconfigures the workflows when configuration mode has changed. This method is invoked when workflows need to be reconfigured while the server is running. If the reconfiguration is valid then the method update the workflow configuration mode.

Parameters:
oldMode - the current workflow configuration mode
newMode - the new workflow configuration mode

initializeGroupManager

public void initializeGroupManager()
                            throws ConfigException,
                                   InitializationException
Initializes the Directory Server group manager.

Throws:
ConfigException - If there is a configuration problem with any of the group implementations.
InitializationException - If a problem occurs while initializing the group manager that is not related to the server configuration.

getGroupManager

public static GroupManager getGroupManager()
Retrieves the Directory Server group manager.

Returns:
The Directory Server group manager.

initializePasswordPolicyComponents

public void initializePasswordPolicyComponents()
                                        throws ConfigException,
                                               InitializationException
Initializes the set of password policy components for use by the Directory Server.

Throws:
ConfigException - If there is a configuration problem with any of the password policy components.
InitializationException - If a problem occurs while initializing the password policy components that is not related to the server configuration.

getOperatingSystem

public static OperatingSystem getOperatingSystem()
Retrieves the operating system on which the Directory Server is running.

Returns:
The operating system on which the Directory Server is running.

getDirectoryThreadGroup

public static java.lang.ThreadGroup getDirectoryThreadGroup()
Retrieves the thread group that should be used by all threads associated with the Directory Server.

Returns:
The thread group that should be used by all threads associated with the Directory Server.

getConfigHandler

public static ConfigHandler getConfigHandler()
Retrieves a reference to the Directory Server configuration handler.

Returns:
A reference to the Directory Server configuration handler.

initializePlugins

public void initializePlugins()
                       throws ConfigException,
                              InitializationException
Initializes the set of plugins defined in the Directory Server.

Throws:
ConfigException - If there is a configuration problem with any of the Directory Server plugins.
InitializationException - If a problem occurs while initializing the plugins that is not related to the server configuration.

initializePlugins

public void initializePlugins(java.util.Set<PluginType> pluginTypes)
                       throws ConfigException,
                              InitializationException
Initializes the set of plugins defined in the Directory Server. Only the specified types of plugins will be initialized.

Parameters:
pluginTypes - The set of plugin types for the plugins to initialize.
Throws:
ConfigException - If there is a configuration problem with any of the Directory Server plugins.
InitializationException - If a problem occurs while initializing the plugins that is not related to the server configuration.

getPluginConfigManager

public static PluginConfigManager getPluginConfigManager()
Retrieves a reference to the Directory Server plugin configuration manager.

Returns:
A reference to the Directory Server plugin configuration manager.

getConfigEntry

public static ConfigEntry getConfigEntry(DN entryDN)
                                  throws ConfigException
Retrieves the requested entry from the Directory Server configuration.

Parameters:
entryDN - The DN of the configuration entry to retrieve.
Returns:
The requested entry from the Directory Server configuration.
Throws:
ConfigException - If a problem occurs while trying to retrieve the requested entry.

getServerRoot

public static java.lang.String getServerRoot()
Retrieves the path to the root directory for this instance of the Directory Server.

Returns:
The path to the root directory for this instance of the Directory Server.

getStartTime

public static long getStartTime()
Retrieves the time that the Directory Server was started, in milliseconds since the epoch.

Returns:
The time that the Directory Server was started, in milliseconds since the epoch.

getStartTimeUTC

public static java.lang.String getStartTimeUTC()
Retrieves the time that the Directory Server was started, formatted in UTC.

Returns:
The time that the Directory Server was started, formatted in UTC.

getSchema

public static Schema getSchema()
Retrieves a reference to the Directory Server schema.

Returns:
A reference to the Directory Server schema.

setSchema

public static void setSchema(Schema schema)
Replaces the Directory Server schema with the provided schema.

Parameters:
schema - The new schema to use for the Directory Server.

getOfflineSchemaChanges

public static java.util.List<Modification> getOfflineSchemaChanges()
Retrieves a list of modifications detailing any schema changes that may have been made with the server offline (e.g., by directly editing the schema configuration files). Note that this information will not be available until the server backends (and in particular, the schema backend) have been initialized.

Returns:
A list of modifications detailing any schema changes that may have been made with the server offline, or an empty list if no offline schema changes have been detected.

setOfflineSchemaChanges

public static void setOfflineSchemaChanges(java.util.List<Modification> offlineSchemaChanges)
Specifies a list of modifications detailing any schema changes that may have been made with the server offline.

Parameters:
offlineSchemaChanges - A list of modifications detailing any schema changes that may have been made with the server offline. It must not be null.

getMatchingRules

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,MatchingRule> getMatchingRules()
Retrieves the set of matching rules registered with the Directory Server. The mapping will be between the lowercase name or OID for each matching rule and the matching rule implementation. The same matching rule instance may be included multiple times with different keys.

Returns:
The set of matching rules registered with the Directory Server.

getMatchingRuleSet

public static java.util.LinkedHashSet<AttributeValue> getMatchingRuleSet()
Retrieves the set of encoded matching rules that have been defined in the Directory Server.

Returns:
The set of encoded matching rules that have been defined in the Directory Server.

getMatchingRule

public static MatchingRule getMatchingRule(java.lang.String lowerName)
Retrieves the matching rule with the specified name or OID.

Parameters:
lowerName - The lowercase name or OID for the matching rule to retrieve.
Returns:
The requested matching rule, or null if no such matching rule has been defined in the server.

registerMatchingRule

public static void registerMatchingRule(MatchingRule matchingRule,
                                        boolean overwriteExisting)
                                 throws DirectoryException
Registers the provided matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another matching rule with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterMatchingRule

public static void deregisterMatchingRule(MatchingRule matchingRule)
Deregisters the provided matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to deregister with the server.

getApproximateMatchingRules

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,ApproximateMatchingRule> getApproximateMatchingRules()
Retrieves the set of approximate matching rules registered with the Directory Server. The mapping will be between the lowercase name or OID for each approximate matching rule and the matching rule implementation. The same approximate matching rule instance may be included multiple times with different keys.

Returns:
The set of approximate matching rules registered with the Directory Server.

getApproximateMatchingRule

public static ApproximateMatchingRule getApproximateMatchingRule(java.lang.String lowerName)
Retrieves the approximate matching rule with the specified name or OID.

Parameters:
lowerName - The lowercase name or OID for the approximate matching rule to retrieve.
Returns:
The requested approximate matching rule, or null if no such matching rule has been defined in the server.

registerApproximateMatchingRule

public static void registerApproximateMatchingRule(ApproximateMatchingRule matchingRule,
                                                   boolean overwriteExisting)
                                            throws DirectoryException
Registers the provided approximate matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another matching rule with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterApproximateMatchingRule

public static void deregisterApproximateMatchingRule(ApproximateMatchingRule matchingRule)
Deregisters the provided approximate matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to deregister with the server.

getEqualityMatchingRules

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,EqualityMatchingRule> getEqualityMatchingRules()
Retrieves the set of equality matching rules registered with the Directory Server. The mapping will be between the lowercase name or OID for each equality matching rule and the matching rule implementation. The same equality matching rule instance may be included multiple times with different keys.

Returns:
The set of equality matching rules registered with the Directory Server.

getEqualityMatchingRule

public static EqualityMatchingRule getEqualityMatchingRule(java.lang.String lowerName)
Retrieves the equality matching rule with the specified name or OID.

Parameters:
lowerName - The lowercase name or OID for the equality matching rule to retrieve.
Returns:
The requested equality matching rule, or null if no such matching rule has been defined in the server.

registerEqualityMatchingRule

public static void registerEqualityMatchingRule(EqualityMatchingRule matchingRule,
                                                boolean overwriteExisting)
                                         throws DirectoryException
Registers the provided equality matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another matching rule with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterEqualityMatchingRule

public static void deregisterEqualityMatchingRule(EqualityMatchingRule matchingRule)
Deregisters the provided equality matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to deregister with the server.

getOrderingMatchingRules

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,OrderingMatchingRule> getOrderingMatchingRules()
Retrieves the set of ordering matching rules registered with the Directory Server. The mapping will be between the lowercase name or OID for each ordering matching rule and the matching rule implementation. The same ordering matching rule instance may be included multiple times with different keys.

Returns:
The set of ordering matching rules registered with the Directory Server.

getOrderingMatchingRule

public static OrderingMatchingRule getOrderingMatchingRule(java.lang.String lowerName)
Retrieves the ordering matching rule with the specified name or OID.

Parameters:
lowerName - The lowercase name or OID for the ordering matching rule to retrieve.
Returns:
The requested ordering matching rule, or null if no such matching rule has been defined in the server.

registerOrderingMatchingRule

public static void registerOrderingMatchingRule(OrderingMatchingRule matchingRule,
                                                boolean overwriteExisting)
                                         throws DirectoryException
Registers the provided ordering matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another matching rule with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterOrderingMatchingRule

public static void deregisterOrderingMatchingRule(OrderingMatchingRule matchingRule)
Deregisters the provided ordering matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to deregister with the server.

getSubstringMatchingRules

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,SubstringMatchingRule> getSubstringMatchingRules()
Retrieves the set of substring matching rules registered with the Directory Server. The mapping will be between the lowercase name or OID for each substring matching rule and the matching rule implementation. The same substring matching rule instance may be included multiple times with different keys.

Returns:
The set of substring matching rules registered with the Directory Server.

getSubstringMatchingRule

public static SubstringMatchingRule getSubstringMatchingRule(java.lang.String lowerName)
Retrieves the substring matching rule with the specified name or OID.

Parameters:
lowerName - The lowercase name or OID for the substring matching rule to retrieve.
Returns:
The requested substring matching rule, or null if no such matching rule has been defined in the server.

registerSubstringMatchingRule

public static void registerSubstringMatchingRule(SubstringMatchingRule matchingRule,
                                                 boolean overwriteExisting)
                                          throws DirectoryException
Registers the provided substring matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another matching rule with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterSubstringMatchingRule

public static void deregisterSubstringMatchingRule(SubstringMatchingRule matchingRule)
Deregisters the provided substring matching rule with the Directory Server.

Parameters:
matchingRule - The matching rule to deregister with the server.

getObjectClasses

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,ObjectClass> getObjectClasses()
Retrieves the set of objectclasses defined in the Directory Server.

Returns:
The set of objectclasses defined in the Directory Server.

getObjectClassSet

public static java.util.LinkedHashSet<AttributeValue> getObjectClassSet()
Retrieves the set of encoded objectclasses that have been defined in the Directory Server.

Returns:
The set of encoded objectclasses that have been defined in the Directory Server.

getObjectClass

public static ObjectClass getObjectClass(java.lang.String lowerName)
Retrieves the objectclass for the provided lowercase name or OID.

Parameters:
lowerName - The lowercase name or OID for the objectclass to retrieve.
Returns:
The requested objectclass, or null if there is no such objectclass defined in the server schema.

getObjectClass

public static ObjectClass getObjectClass(java.lang.String lowerName,
                                         boolean returnDefault)
Retrieves the objectclass for the provided lowercase name or OID. It can optionally return a generated "default" version if the requested objectclass is not defined in the schema.

Parameters:
lowerName - The lowercase name or OID for the objectclass to retrieve.
returnDefault - Indicates whether to generate a default version if the requested objectclass is not defined in the server schema.
Returns:
The objectclass type, or null if there is no objectclass with the specified name or OID defined in the server schema and a default class should not be returned.

registerObjectClass

public static void registerObjectClass(ObjectClass objectClass,
                                       boolean overwriteExisting)
                                throws DirectoryException
Registers the provided objectclass with the Directory Server.

Parameters:
objectClass - The objectclass instance to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another objectclass with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterObjectClass

public static void deregisterObjectClass(ObjectClass objectClass)
Deregisters the provided objectclass with the Directory Server.

Parameters:
objectClass - The objectclass instance to deregister with the server.

getTopObjectClass

public static ObjectClass getTopObjectClass()
Retrieves the "top" objectClass, which should be the topmost objectclass in the inheritance chain for most other objectclasses. If no such objectclass could be found, then one will be constructed.

Returns:
The "top" objectClass.

getDefaultObjectClass

public static ObjectClass getDefaultObjectClass(java.lang.String name)
Causes the Directory Server to construct a new objectclass definition with the provided name and with no required or allowed attributes. This should only be used if there is no objectclass for the specified name. It will not register the created objectclass with the Directory Server.

Parameters:
name - The name to use for the objectclass, as provided by the user.
Returns:
The constructed objectclass definition.

getDefaultAuxiliaryObjectClass

public static ObjectClass getDefaultAuxiliaryObjectClass(java.lang.String name)
Causes the Directory Server to construct a new auxiliary objectclass definition with the provided name and with no required or allowed attributes. This should only be used if there is no objectclass for the specified name. It will not register the created objectclass with the Directory Server.

Parameters:
name - The name to use for the objectclass, as provided by the user.
Returns:
The constructed objectclass definition.

getAttributeTypes

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,AttributeType> getAttributeTypes()
Retrieves the set of attribute type definitions that have been defined in the Directory Server.

Returns:
The set of attribute type definitions that have been defined in the Directory Server.

getAttributeTypeSet

public static java.util.LinkedHashSet<AttributeValue> getAttributeTypeSet()
Retrieves the set of encoded attribute types that have been defined in the Directory Server.

Returns:
The set of encoded attribute types that have been defined in the Directory Server.

getAttributeType

public static AttributeType getAttributeType(java.lang.String lowerName)
Retrieves the attribute type for the provided lowercase name or OID.

Parameters:
lowerName - The lowercase attribute name or OID for the attribute type to retrieve.
Returns:
The requested attribute type, or null if there is no attribute with the specified type defined in the server schema.

getAttributeType

public static AttributeType getAttributeType(java.lang.String lowerName,
                                             boolean returnDefault)
Retrieves the attribute type for the provided lowercase name or OID. It can optionally return a generated "default" version if the requested attribute type is not defined in the schema.

Parameters:
lowerName - The lowercase name or OID for the attribute type to retrieve.
returnDefault - Indicates whether to generate a default version if the requested attribute type is not defined in the server schema.
Returns:
The requested attribute type, or null if there is no attribute with the specified type defined in the server schema and a default type should not be returned.

registerAttributeType

public static void registerAttributeType(AttributeType attributeType,
                                         boolean overwriteExisting)
                                  throws DirectoryException
Registers the provided attribute type with the Directory Server.

Parameters:
attributeType - The attribute type to register with the Directory Server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another attribute type with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterAttributeType

public static void deregisterAttributeType(AttributeType attributeType)
Deregisters the provided attribute type with the Directory Server.

Parameters:
attributeType - The attribute type to deregister with the Directory Server.

getObjectClassAttributeType

public static AttributeType getObjectClassAttributeType()
Retrieves the attribute type for the "objectClass" attribute.

Returns:
The attribute type for the "objectClass" attribute.

getDefaultAttributeType

public static AttributeType getDefaultAttributeType(java.lang.String name)
Causes the Directory Server to construct a new attribute type definition with the provided name and using the default attribute syntax. This should only be used if there is no real attribute type for the specified name.

Parameters:
name - The name to use for the attribute type, as provided by the user.
Returns:
The constructed attribute type definition.

getDefaultAttributeType

public static AttributeType getDefaultAttributeType(java.lang.String name,
                                                    AttributeSyntax syntax)
Causes the Directory Server to construct a new attribute type definition with the provided name and syntax. This should only be used if there is no real attribute type for the specified name.

Parameters:
name - The name to use for the attribute type, as provided by the user.
syntax - The syntax to use for the attribute type.
Returns:
The constructed attribute type definition.

getAttributeSyntaxes

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,AttributeSyntax> getAttributeSyntaxes()
Retrieves the set of attribute syntaxes defined in the Directory Server.

Returns:
The set of attribute syntaxes defined in the Directory Server.

getAttributeSyntaxSet

public static java.util.LinkedHashSet<AttributeValue> getAttributeSyntaxSet()
Retrieves the set of encoded attribute syntaxes that have been defined in the Directory Server.

Returns:
The set of encoded attribute syntaxes that have been defined in the Directory Server.

getAttributeSyntax

public static AttributeSyntax getAttributeSyntax(java.lang.String oid,
                                                 boolean allowDefault)
Retrieves the requested attribute syntax.

Parameters:
oid - The OID of the syntax to retrieve.
allowDefault - Indicates whether to return the default attribute syntax if the requested syntax is unknown.
Returns:
The requested attribute syntax, the default syntax if the requested syntax is unknown and the caller has indicated that the default is acceptable, or null otherwise.

registerAttributeSyntax

public static void registerAttributeSyntax(AttributeSyntax syntax,
                                           boolean overwriteExisting)
                                    throws DirectoryException
Registers the provided attribute syntax with the Directory Server.

Parameters:
syntax - The attribute syntax to register with the Directory Server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another attribute syntax with the same OID or name).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterAttributeSyntax

public static void deregisterAttributeSyntax(AttributeSyntax syntax)
Deregisters the provided attribute syntax with the Directory Server.

Parameters:
syntax - The attribute syntax to deregister with the Directory Server.

getDefaultAttributeSyntax

public static AttributeSyntax getDefaultAttributeSyntax()
Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema.

Returns:
The default attribute syntax that should be used for attributes that are not defined in the server schema.

getDefaultBinarySyntax

public static AttributeSyntax getDefaultBinarySyntax()
Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store binary values.

Returns:
The default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store binary values.

getDefaultBooleanSyntax

public static AttributeSyntax getDefaultBooleanSyntax()
Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store Boolean values.

Returns:
The default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store Boolean values.

getDefaultDNSyntax

public static AttributeSyntax getDefaultDNSyntax()
Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store DN values.

Returns:
The default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store DN values.

getDefaultIntegerSyntax

public static AttributeSyntax getDefaultIntegerSyntax()
Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store integer values.

Returns:
The default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store integer values.

getDefaultStringSyntax

public static AttributeSyntax getDefaultStringSyntax()
Retrieves the default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store string values.

Returns:
The default attribute syntax that should be used for attributes that are not defined in the server schema and are meant to store string values.

getMatchingRuleUses

public static java.util.concurrent.ConcurrentHashMap<MatchingRule,MatchingRuleUse> getMatchingRuleUses()
Retrieves the set of matching rule uses defined in the Directory Server.

Returns:
The set of matching rule uses defined in the Directory Server.

getMatchingRuleUseSet

public static java.util.LinkedHashSet<AttributeValue> getMatchingRuleUseSet()
Retrieves the set of encoded matching rule uses that have been defined in the Directory Server.

Returns:
The set of encoded matching rule uses that have been defined in the Directory Server.

getMatchingRuleUse

public static MatchingRuleUse getMatchingRuleUse(MatchingRule matchingRule)
Retrieves the matching rule use associated with the provided matching rule.

Parameters:
matchingRule - The matching rule for which to retrieve the matching rule use.
Returns:
The matching rule use for the provided matching rule, or null if none is defined.

registerMatchingRuleUse

public static void registerMatchingRuleUse(MatchingRuleUse matchingRuleUse,
                                           boolean overwriteExisting)
                                    throws DirectoryException
Registers the provided matching rule use with the Directory Server.

Parameters:
matchingRuleUse - The matching rule use to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another matching rule use with the same matching rule).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterMatchingRuleUse

public static void deregisterMatchingRuleUse(MatchingRuleUse matchingRuleUse)
Deregisters the provided matching rule use with the Directory Server.

Parameters:
matchingRuleUse - The matching rule use to deregister with the server.

getDITContentRules

public static java.util.concurrent.ConcurrentHashMap<ObjectClass,DITContentRule> getDITContentRules()
Retrieves the set of DIT content rules defined in the Directory Server.

Returns:
The set of DIT content rules defined in the Directory Server.

getDITContentRuleSet

public static java.util.LinkedHashSet<AttributeValue> getDITContentRuleSet()
Retrieves the set of encoded DIT content rules that have been defined in the Directory Server.

Returns:
The set of encoded DIT content rules that have been defined in the Directory Server.

getDITContentRule

public static DITContentRule getDITContentRule(ObjectClass objectClass)
Retrieves the DIT content rule associated with the specified objectclass.

Parameters:
objectClass - The objectclass for which to retrieve the associated DIT content rule.
Returns:
The requested DIT content rule, or null if no such rule is defined in the schema.

registerDITContentRule

public static void registerDITContentRule(DITContentRule ditContentRule,
                                          boolean overwriteExisting)
                                   throws DirectoryException
Registers the provided DIT content rule with the Directory Server.

Parameters:
ditContentRule - The DIT content rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another DIT content rule with the same structural objectclass).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterDITContentRule

public static void deregisterDITContentRule(DITContentRule ditContentRule)
Deregisters the provided DIT content rule with the Directory Server.

Parameters:
ditContentRule - The DIT content rule to deregister with the server.

getDITStructureRules

public static java.util.concurrent.ConcurrentHashMap<NameForm,DITStructureRule> getDITStructureRules()
Retrieves the set of DIT structure rules defined in the Directory Server.

Returns:
The set of DIT structure rules defined in the Directory Server.

getDITStructureRuleSet

public static java.util.LinkedHashSet<AttributeValue> getDITStructureRuleSet()
Retrieves the set of encoded DIT structure rules that have been defined in the Directory Server.

Returns:
The set of encoded DIT structure rules that have been defined in the Directory Server.

getDITStructureRule

public static DITStructureRule getDITStructureRule(int ruleID)
Retrieves the DIT structure rule associated with the provided rule ID.

Parameters:
ruleID - The rule ID for which to retrieve the associated DIT structure rule.
Returns:
The requested DIT structure rule, or null if no such rule is defined.

getDITStructureRule

public static DITStructureRule getDITStructureRule(NameForm nameForm)
Retrieves the DIT structure rule associated with the provided name form.

Parameters:
nameForm - The name form for which to retrieve the associated DIT structure rule.
Returns:
The requested DIT structure rule, or null if no such rule is defined.

registerDITStructureRule

public static void registerDITStructureRule(DITStructureRule ditStructureRule,
                                            boolean overwriteExisting)
                                     throws DirectoryException
Registers the provided DIT structure rule with the Directory Server.

Parameters:
ditStructureRule - The DIT structure rule to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another DIT structure rule with the same name form).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterDITStructureRule

public static void deregisterDITStructureRule(DITStructureRule ditStructureRule)
Deregisters the provided DIT structure rule with the Directory Server.

Parameters:
ditStructureRule - The DIT structure rule to deregister with the server.

getNameForms

public static java.util.concurrent.ConcurrentHashMap<ObjectClass,NameForm> getNameForms()
Retrieves the set of name forms defined in the Directory Server.

Returns:
The set of name forms defined in the Directory Server.

getNameFormSet

public static java.util.LinkedHashSet<AttributeValue> getNameFormSet()
Retrieves the set of encoded name forms that have been defined in the Directory Server.

Returns:
The set of encoded name forms that have been defined in the Directory Server.

getNameForm

public static NameForm getNameForm(ObjectClass objectClass)
Retrieves the name form associated with the specified objectclass.

Parameters:
objectClass - The objectclass for which to retrieve the associated name form.
Returns:
The requested name form, or null if no such name form is defined in the schema.

getNameForm

public static NameForm getNameForm(java.lang.String lowerName)
Retrieves the name form associated with the specified name or OID.

Parameters:
lowerName - The name or OID of the name form to retrieve, formatted in all lowercase characters.
Returns:
The requested name form, or null if no such name form is defined in the schema.

registerNameForm

public static void registerNameForm(NameForm nameForm,
                                    boolean overwriteExisting)
                             throws DirectoryException
Registers the provided name form with the Directory Server.

Parameters:
nameForm - The name form to register with the server.
overwriteExisting - Indicates whether to overwrite an existing mapping if there are any conflicts (i.e., another name form with the same structural objectclass).
Throws:
DirectoryException - If a conflict is encountered and the overwriteExisting flag is set to false

deregisterNameForm

public static void deregisterNameForm(NameForm nameForm)
Deregisters the provided name form with the Directory Server.

Parameters:
nameForm - The name form to deregister with the server.

getVirtualAttributes

public static java.util.List<VirtualAttributeRule> getVirtualAttributes()
Retrieves the set of virtual attribute rules registered with the Directory Server.

Returns:
The set of virtual attribute rules registered with the Directory Server.

getVirtualAttributes

public static java.util.List<VirtualAttributeRule> getVirtualAttributes(Entry entry)
Retrieves the set of virtual attribute rules registered with the Directory Server that are applicable to the provided entry.

Parameters:
entry - The entry for which to retrieve the applicable virtual attribute rules.
Returns:
The set of virtual attribute rules registered with the Directory Server that apply to the given entry. It may be an empty list if there are no applicable virtual attribute rules.

registerVirtualAttribute

public static void registerVirtualAttribute(VirtualAttributeRule rule)
Registers the provided virtual attribute rule with the Directory Server.

Parameters:
rule - The virtual attribute rule to be registered.

deregisterVirtualAttribute

public static void deregisterVirtualAttribute(VirtualAttributeRule rule)
Deregisters the provided virtual attribute rule with the Directory Server.

Parameters:
rule - The virutal attribute rule to be deregistered.

replaceVirtualAttribute

public static boolean replaceVirtualAttribute(VirtualAttributeRule oldRule,
                                              VirtualAttributeRule newRule)
Replaces the specified virtual attribute rule in the set of virtual attributes registered with the Directory Server. If the old rule cannot be found in the list, then the set of registered virtual attributes is not updated.

Parameters:
oldRule - The existing rule that should be replaced with the new rule.
newRule - The new rule that should be used in place of the existing rule.
Returns:
true if the old rule was found and replaced with the new version, or false if it was not.

getJMXMBeanServer

public static javax.management.MBeanServer getJMXMBeanServer()
Retrieves a reference to the JMX MBean server that is associated with the Directory Server.

Returns:
The JMX MBean server that is associated with the Directory Server.

getJMXMBeans

public static java.util.concurrent.ConcurrentHashMap<DN,JMXMBean> getJMXMBeans()
Retrieves the set of JMX MBeans that are associated with the server.

Returns:
The set of JMX MBeans that are associated with the server.

getJMXMBean

public static JMXMBean getJMXMBean(DN configEntryDN)
Retrieves the JMX MBean associated with the specified entry in the Directory Server configuration.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated JMX MBean.
Returns:
The JMX MBean associated with the specified entry in the Directory Server configuration, or null if there is no MBean for the specified entry.

registerInvokableComponent

public static void registerInvokableComponent(InvokableComponent component)
Registers the provided invokable component with the Directory Server.

Parameters:
component - The invokable component to register.

deregisterInvokableComponent

public static void deregisterInvokableComponent(InvokableComponent component)
Deregisters the provided invokable component with the Directory Server.

Parameters:
component - The invokable component to deregister.

registerAlertGenerator

public static void registerAlertGenerator(AlertGenerator alertGenerator)
Registers the provided alert generator with the Directory Server.

Parameters:
alertGenerator - The alert generator to register.

deregisterAlertGenerator

public static void deregisterAlertGenerator(AlertGenerator alertGenerator)
Deregisters the provided alert generator with the Directory Server.

Parameters:
alertGenerator - The alert generator to deregister.

getAlertHandlers

public static java.util.concurrent.CopyOnWriteArrayList<AlertHandler> getAlertHandlers()
Retrieves the set of alert handlers that have been registered with the Directory Server.

Returns:
The set of alert handlers that have been registered with the Directory Server.

registerAlertHandler

public static void registerAlertHandler(AlertHandler alertHandler)
Registers the provided alert handler with the Directory Server.

Parameters:
alertHandler - The alert handler to register.

deregisterAlertHandler

public static void deregisterAlertHandler(AlertHandler alertHandler)
Deregisters the provided alert handler with the Directory Server.

Parameters:
alertHandler - The alert handler to deregister.

sendAlertNotification

public static void sendAlertNotification(AlertGenerator generator,
                                         java.lang.String alertType,
                                         Message alertMessage)
Sends an alert notification with the provided information.

Parameters:
generator - The alert generator that created the alert.
alertType - The alert type name for this alert.
alertMessage - A message (possibly null) that can

getPasswordStorageScheme

public static PasswordStorageScheme getPasswordStorageScheme(DN configEntryDN)
Retrieves the password storage scheme defined in the specified configuration entry.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password storage scheme to retrieve.
Returns:
The requested password storage scheme, or null if no such scheme is defined.

getPasswordStorageSchemes

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,PasswordStorageScheme> getPasswordStorageSchemes()
Retrieves the set of password storage schemes defined in the Directory Server, as a mapping between the all-lowercase scheme name and the corresponding implementation.

Returns:
The set of password storage schemes defined in the Directory Server.

getPasswordStorageScheme

public static PasswordStorageScheme getPasswordStorageScheme(java.lang.String lowerName)
Retrieves the specified password storage scheme.

Parameters:
lowerName - The name of the password storage scheme to retrieve, formatted in all lowercase characters.
Returns:
The requested password storage scheme, or null if no such scheme is defined.

getAuthPasswordStorageSchemes

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,PasswordStorageScheme> getAuthPasswordStorageSchemes()
Retrieves the set of authentication password storage schemes defined in the Directory Server, as a mapping between the scheme name and the corresponding implementation.

Returns:
The set of authentication password storage schemes defined in the Directory Server.

getAuthPasswordStorageScheme

public static PasswordStorageScheme getAuthPasswordStorageScheme(java.lang.String name)
Retrieves the specified authentication password storage scheme.

Parameters:
name - The case-sensitive name of the authentication password storage scheme to retrieve.
Returns:
The requested authentication password storage scheme, or null if no such scheme is defined.

registerPasswordStorageScheme

public static void registerPasswordStorageScheme(DN configEntryDN,
                                                 PasswordStorageScheme scheme)
Registers the provided password storage scheme with the Directory Server. If an existing password storage scheme is registered with the same name, then it will be replaced with the provided scheme.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password storage scheme.
scheme - The password storage scheme to register with the Directory Server.

deregisterPasswordStorageScheme

public static void deregisterPasswordStorageScheme(DN configEntryDN)
Deregisters the specified password storage scheme with the Directory Server. If no scheme is registered with the specified name, then no action will be taken.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password storage scheme.

getPasswordValidators

public static java.util.concurrent.ConcurrentHashMap<DN,PasswordValidator<? extends PasswordValidatorCfg>> getPasswordValidators()
Retrieves the set of password validators that have been registered for use with the Directory Server as a mapping between the DN of the associated validator configuration entry and the validator implementation.

Returns:
The set of password validators that have been registered for use with the Directory Server.

getPasswordValidator

public static PasswordValidator<? extends PasswordValidatorCfg> getPasswordValidator(DN configEntryDN)
Retrieves the password validator registered with the provided configuration entry DN.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated password validator.
Returns:
The requested password validator, or null if no such validator is defined.

registerPasswordValidator

public static void registerPasswordValidator(DN configEntryDN,
                                             PasswordValidator<? extends PasswordValidatorCfg> validator)
Registers the provided password validator for use with the Directory Server.

Parameters:
configEntryDN - The DN of the configuration entry that defines the specified password validator.
validator - The password validator to register with the Directory Server.

deregisterPasswordValidator

public static void deregisterPasswordValidator(DN configEntryDN)
Deregisters the provided password validator for use with the Directory Server.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password validator to deregister.

getAccountStatusNotificationHandlers

public static java.util.concurrent.ConcurrentHashMap<DN,AccountStatusNotificationHandler> getAccountStatusNotificationHandlers()
Retrieves the set of account status notification handlers defined in the Directory Server, as a mapping between the DN of the configuration entry and the notification handler implementation.

Returns:
The set of account status notification handlers defined in the Directory Server.

getAccountStatusNotificationHandler

public static AccountStatusNotificationHandler getAccountStatusNotificationHandler(DN handlerDN)
Retrieves the account status notification handler with the specified configuration entry DN.

Parameters:
handlerDN - The DN of the configuration entry associated with the account status notification handler to retrieve.
Returns:
The requested account status notification handler, or null if no such handler is defined in the server.

registerAccountStatusNotificationHandler

public static void registerAccountStatusNotificationHandler(DN handlerDN,
                                                            AccountStatusNotificationHandler handler)
Registers the provided account status notification handler with the Directory Server.

Parameters:
handlerDN - The DN of the configuration entry that defines the provided account status notification handler.
handler - The account status notification handler to register with the Directory Server.

deregisterAccountStatusNotificationHandler

public static void deregisterAccountStatusNotificationHandler(DN handlerDN)
Deregisters the specified account status notification handler with the Directory Server.

Parameters:
handlerDN - The DN of the configuration entry for the account status notification handler to deregister.

getPasswordGenerators

public static java.util.concurrent.ConcurrentHashMap<DN,PasswordGenerator> getPasswordGenerators()
Retrieves the set of password generators that have been registered for use with the Directory Server as a mapping between the DN of the associated generator configuration entry and the generator implementation.

Returns:
The set of password generators that have been registered for use with the Directory Server.

getPasswordGenerator

public static PasswordGenerator getPasswordGenerator(DN configEntryDN)
Retrieves the password generator registered with the provided configuration entry DN.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated password generator.
Returns:
The requested password generator, or null if no such generator is defined.

registerPasswordGenerator

public static void registerPasswordGenerator(DN configEntryDN,
                                             PasswordGenerator generator)
Registers the provided password generator for use with the Directory Server.

Parameters:
configEntryDN - The DN of the configuration entry that defines the specified password generator.
generator - The password generator to register with the Directory Server.

deregisterPasswordGenerator

public static void deregisterPasswordGenerator(DN configEntryDN)
Deregisters the provided password generator for use with the Directory Server.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password generator to deregister.

getPasswordPolicies

public static PasswordPolicy[] getPasswordPolicies()
Retrieves the set of password policies registered with the Directory Server. The references returned are to the actual password policy objects currently in use by the directory server and the referenced objects must not be modified.

Returns:
The set of password policies registered with the Directory Server.

getPasswordPolicy

public static PasswordPolicy getPasswordPolicy(DN configEntryDN)
Retrieves the password policy registered for the provided configuration entry.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated password policy.
Returns:
The password policy registered for the provided configuration entry, or null if there is no such policy.

getPasswordPolicyConfig

public static PasswordPolicyConfig getPasswordPolicyConfig(DN configEntryDN)
Retrieves the password policy registered for the provided configuration entry.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated password policy.
Returns:
The password policy config registered for the provided configuration entry, or null if there is no such policy.

registerPasswordPolicy

public static void registerPasswordPolicy(DN configEntryDN,
                                          PasswordPolicyConfig config)
Registers the provided password policy with the Directory Server. If a policy is already registered for the provided configuration entry DN, then it will be replaced.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password policy.
config - The password policy config to register with the server.

deregisterPasswordPolicy

public static void deregisterPasswordPolicy(DN configEntryDN)
Deregisters the provided password policy with the Directory Server. If no such policy is registered, then no action will be taken.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password policy to deregister.

getDefaultPasswordPolicyDN

public static DN getDefaultPasswordPolicyDN()
Retrieves the DN of the configuration entry for the default password policy for the Directory Server.

Returns:
The DN of the configuration entry for the default password policy for the Directory Server.

setDefaultPasswordPolicyDN

public static void setDefaultPasswordPolicyDN(DN defaultPasswordPolicyDN)
Specifies the DN of the configuration entry for the default password policy for the Directory Server. This routine does not check the registered password policies for the specified DN, since in the case of server initialization, the password policy entries will not yet have been loaded from the configuration backend.

Parameters:
defaultPasswordPolicyDN - The DN of the configuration entry for the default password policy for the Directory Server.

getDefaultPasswordPolicy

public static PasswordPolicy getDefaultPasswordPolicy()
Retrieves the default password policy for the Directory Server. This method is equivalent to invoking getPasswordPolicy on the DN returned from DirectoryServer.getDefaultPasswordPolicyDN().

Returns:
The default password policy for the Directory Server.

getRotationPolicy

public static RotationPolicy getRotationPolicy(DN configEntryDN)
Retrieves the log rotation policy registered for the provided configuration entry.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated rotation policy.
Returns:
The rotation policy registered for the provided configuration entry, or null if there is no such policy.

registerRotationPolicy

public static void registerRotationPolicy(DN configEntryDN,
                                          RotationPolicy policy)
Registers the provided log rotation policy with the Directory Server. If a policy is already registered for the provided configuration entry DN, then it will be replaced.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password policy.
policy - The rotation policy to register with the server.

deregisterRotationPolicy

public static void deregisterRotationPolicy(DN configEntryDN)
Deregisters the provided log rotation policy with the Directory Server. If no such policy is registered, then no action will be taken.

Parameters:
configEntryDN - The DN of the configuration entry that defines the rotation policy to deregister.

getRetentionPolicy

public static RetentionPolicy getRetentionPolicy(DN configEntryDN)
Retrieves the log retention policy registered for the provided configuration entry.

Parameters:
configEntryDN - The DN of the configuration entry for which to retrieve the associated retention policy.
Returns:
The retention policy registered for the provided configuration entry, or null if there is no such policy.

registerRetentionPolicy

public static void registerRetentionPolicy(DN configEntryDN,
                                           RetentionPolicy policy)
Registers the provided log retention policy with the Directory Server. If a policy is already registered for the provided configuration entry DN, then it will be replaced.

Parameters:
configEntryDN - The DN of the configuration entry that defines the password policy.
policy - The retention policy to register with the server.

deregisterRetentionPolicy

public static void deregisterRetentionPolicy(DN configEntryDN)
Deregisters the provided log retention policy with the Directory Server. If no such policy is registered, then no action will be taken.

Parameters:
configEntryDN - The DN of the configuration entry that defines the retention policy to deregister.

getMonitorProviders

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,MonitorProvider<? extends MonitorProviderCfg>> getMonitorProviders()
Retrieves the set of monitor providers that have been registered with the Directory Server, as a mapping between the monitor name (in all lowercase characters) and the monitor implementation.

Returns:
The set of monitor providers that have been registered with the Directory Server.

getMonitorProvider

public static MonitorProvider<? extends MonitorProviderCfg> getMonitorProvider(java.lang.String lowerName)
Retrieves the monitor provider with the specified name.

Parameters:
lowerName - The name of the monitor provider to retrieve, in all lowercase characters.
Returns:
The requested resource monitor, or null if none exists with the specified name.

registerMonitorProvider

public static void registerMonitorProvider(MonitorProvider<? extends MonitorProviderCfg> monitorProvider)
Registers the provided monitor provider with the Directory Server. Note that if a monitor provider is already registered with the specified name, then it will be replaced with the provided implementation.

Parameters:
monitorProvider - The monitor provider to register with the Directory Server.

deregisterMonitorProvider

public static void deregisterMonitorProvider(java.lang.String lowerName)
Deregisters the specified monitor provider from the Directory Server. If no such monitor provider is registered, no action will be taken.

Parameters:
lowerName - The name of the monitor provider to deregister, in all lowercase characters.

getEntryCache

public static EntryCache getEntryCache()
Retrieves the entry cache for the Directory Server.

Returns:
The entry cache for the Directory Server.

setEntryCache

public static void setEntryCache(EntryCache entryCache)
Specifies the entry cache that should be used by the Directory Server. This should only be called by the entry cache configuration manager.

Parameters:
entryCache - The entry cache for the Directory Server.

getKeyManagerProviders

public static java.util.Map<DN,KeyManagerProvider> getKeyManagerProviders()
Retrieves the set of key manager providers registered with the Directory Server.

Returns:
The set of key manager providers registered with the Directory Server.

getKeyManagerProvider

public static KeyManagerProvider getKeyManagerProvider(DN providerDN)
Retrieves the key manager provider registered with the provided entry DN.

Parameters:
providerDN - The DN with which the key manager provider is registered.
Returns:
The key manager provider registered with the provided entry DN, or null if there is no such key manager provider registered with the server.

registerKeyManagerProvider

public static void registerKeyManagerProvider(DN providerDN,
                                              KeyManagerProvider provider)
Registers the provided key manager provider with the Directory Server.

Parameters:
providerDN - The DN with which to register the key manager provider.
provider - The key manager provider to register with the server.

deregisterKeyManagerProvider

public static void deregisterKeyManagerProvider(DN providerDN)
Deregisters the specified key manager provider with the Directory Server.

Parameters:
providerDN - The DN with which the key manager provider is registered.

getTrustManagerProviders

public static java.util.Map<DN,TrustManagerProvider> getTrustManagerProviders()
Retrieves the set of trust manager providers registered with the Directory Server.

Returns:
The set of trust manager providers registered with the Directory Server.

getTrustManagerProvider

public static TrustManagerProvider getTrustManagerProvider(DN providerDN)
Retrieves the trust manager provider registered with the provided entry DN.

Parameters:
providerDN - The DN with which the trust manager provider is registered.
Returns:
The trust manager provider registered with the provided entry DN, or null if there is no such trust manager provider registered with the server.

registerTrustManagerProvider

public static void registerTrustManagerProvider(DN providerDN,
                                                TrustManagerProvider provider)
Registers the provided trust manager provider with the Directory Server.

Parameters:
providerDN - The DN with which to register the trust manager provider.
provider - The trust manager provider to register with the server.

deregisterTrustManagerProvider

public static void deregisterTrustManagerProvider(DN providerDN)
Deregisters the specified trust manager provider with the Directory Server.

Parameters:
providerDN - The DN with which the trust manager provider is registered.

getCertificateMappers

public static java.util.Map<DN,CertificateMapper> getCertificateMappers()
Retrieves the set of certificate mappers registered with the Directory Server.

Returns:
The set of certificate mappers registered with the Directory Server.

getCertificateMapper

public static CertificateMapper getCertificateMapper(DN mapperDN)
Retrieves the certificate mapper registered with the provided entry DN.

Parameters:
mapperDN - The DN with which the certificate mapper is registered.
Returns:
The certificate mapper registered with the provided entry DN, or null if there is no such certificate mapper registered with the server.

registerCertificateMapper

public static void registerCertificateMapper(DN mapperDN,
                                             CertificateMapper mapper)
Registers the provided certificate mapper with the Directory Server.

Parameters:
mapperDN - The DN with which to register the certificate mapper.
mapper - The certificate mapper to register with the server.

deregisterCertificateMapper

public static void deregisterCertificateMapper(DN mapperDN)
Deregisters the specified certificate mapper with the Directory Server.

Parameters:
mapperDN - The DN with which the certificate mapper is registered.

getRootPrivileges

public static java.util.Set<Privilege> getRootPrivileges()
Retrieves the set of privileges that should automatically be granted to root users when they authenticate.

Returns:
The set of privileges that should automatically be granted to root users when they authenticate.

getRootDNs

public static java.util.concurrent.CopyOnWriteArraySet<DN> getRootDNs()
Retrieves the DNs for the root users configured in the Directory Server. Note that this set should only contain the actual DNs for the root users and not any alternate DNs. Also, the contents of the returned set must not be altered by the caller.

Returns:
The DNs for the root users configured in the Directory Server.

isRootDN

public static boolean isRootDN(DN userDN)
Indicates whether the provided DN is the DN for one of the root users configured in the Directory Server.

Parameters:
userDN - The user DN for which to make the determination.
Returns:
true if the provided user DN is a Directory Server root DN, or false if not.

registerRootDN

public static void registerRootDN(DN rootDN)
Registers the provided root DN with the Directory Server.

Parameters:
rootDN - The root DN to register with the Directory Server.

deregisterRootDN

public static void deregisterRootDN(DN rootDN)
Deregisters the provided root DN with the Directory Server. This will have no effect if the provided DN is not registered as a root DN.

Parameters:
rootDN - The root DN to deregister.

getAlternateRootBindDNs

public static java.util.concurrent.ConcurrentHashMap<DN,DN> getAlternateRootBindDNs()
Retrieves the set of alternate bind DNs for root users, mapped between the alternate DN and the real DN. The contents of the returned map must not be altered by the caller.

Returns:
The set of alternate bind DNs for root users, mapped between the alternate DN and the real DN.

getActualRootBindDN

public static DN getActualRootBindDN(DN alternateRootBindDN)
Retrieves the real entry DN for the root user with the provided alternate bind DN.

Parameters:
alternateRootBindDN - The alternate root bind DN for which to retrieve the real entry DN.
Returns:
The real entry DN for the root user with the provided alternate bind DN, or null if no such mapping has been defined.

registerAlternateRootDN

public static void registerAlternateRootDN(DN actualRootEntryDN,
                                           DN alternateRootBindDN)
                                    throws DirectoryException
Registers an alternate root bind DN using the provided information.

Parameters:
actualRootEntryDN - The actual DN for the root user's entry.
alternateRootBindDN - The alternate DN that should be interpreted as if it were the provided actual root entry DN.
Throws:
DirectoryException - If the provided alternate bind DN is already in use for another root user.

deregisterAlternateRootBindDN

public static DN deregisterAlternateRootBindDN(DN alternateRootBindDN)
Deregisters the provided alternate root bind DN from the server. This will have no effect if there was no mapping defined for the provided alternate root bind DN.

Parameters:
alternateRootBindDN - The alternate root bind DN to be deregistered.
Returns:
The actual root entry DN to which the provided alternate bind DN was mapped, or null if there was no mapping for the provided DN.

getServerErrorResultCode

public static ResultCode getServerErrorResultCode()
Retrieves the result code that should be used when the Directory Server encounters an internal server error.

Returns:
The result code that should be used when the Directory Server encounters an internal server error.

setServerErrorResultCode

public static void setServerErrorResultCode(ResultCode serverErrorResultCode)
Specifies the result code that should be used when the Directory Server encounters an internal server error.

Parameters:
serverErrorResultCode - The result code that should be used when the Directory Server encounters an internal server error.

addMissingRDNAttributes

public static boolean addMissingRDNAttributes()
Indicates whether the Directory Server should automatically add missing RDN attributes to an entry whenever it is added.

Returns:
true if the Directory Server should automatically add missing RDN attributes to an entry, or false if it should return an error to the client.

setAddMissingRDNAttributes

public static void setAddMissingRDNAttributes(boolean addMissingRDNAttributes)
Specifies whether the Directory Server should automatically add missing RDN attributes to an entry whenever it is added.

Parameters:
addMissingRDNAttributes - Specifies whether the Directory Server should automatically add missing RDN attributes to an entry whenever it is added.

allowAttributeNameExceptions

public static boolean allowAttributeNameExceptions()
Indicates whether to be more flexible in the set of characters allowed for attribute names. The standard requires that only ASCII alphabetic letters, numeric digits, and hyphens be allowed, and that the name start with a letter. If attribute name exceptions are enabled, then underscores will also be allowed, and the name will be allowed to start with a digit.

Returns:
true if the server should use a more flexible syntax for attribute names, or false if not.

setAllowAttributeNameExceptions

public static void setAllowAttributeNameExceptions(boolean allowAttributeNameExceptions)
Specifies whether to be more flexible in the set of characters allowed for attribute names.

Parameters:
allowAttributeNameExceptions - Specifies whether to be more flexible in the set of characters allowed for attribute names.

checkSchema

public static boolean checkSchema()
Indicates whether the Directory Server should perform schema checking.

Returns:
true if the Directory Server should perform schema checking, or false if not.

setCheckSchema

public static void setCheckSchema(boolean checkSchema)
Specifies whether the Directory Server should perform schema checking.

Parameters:
checkSchema - Specifies whether the Directory Server should perform schema checking.

getSingleStructuralObjectClassPolicy

public static AcceptRejectWarn getSingleStructuralObjectClassPolicy()
Retrieves the policy that should be used regarding enforcement of a single structural objectclass per entry.

Returns:
The policy that should be used regarding enforcement of a single structural objectclass per entry.

setSingleStructuralObjectClassPolicy

public static void setSingleStructuralObjectClassPolicy(AcceptRejectWarn singleStructuralClassPolicy)
Specifies the policy that should be used regarding enforcement of a single structural objectclass per entry.

Parameters:
singleStructuralClassPolicy - The policy that should be used regarding enforcement of a single structural objectclass per entry.

getSyntaxEnforcementPolicy

public static AcceptRejectWarn getSyntaxEnforcementPolicy()
Retrieves the policy that should be used when an attribute value is found that is not valid according to the associated attribute syntax.

Returns:
The policy that should be used when an attribute value is found that is not valid according to the associated attribute syntax.

setSyntaxEnforcementPolicy

public static void setSyntaxEnforcementPolicy(AcceptRejectWarn syntaxEnforcementPolicy)
Retrieves the policy that should be used when an attribute value is found that is not valid according to the associated attribute syntax.

Parameters:
syntaxEnforcementPolicy - The policy that should be used when an attribute value is found that is not valid according to the associated attribute syntax.

notifyAbandonedOperations

public static boolean notifyAbandonedOperations()
Indicates whether the Directory Server should send a response to an operation that has been abandoned. Sending such a response is technically a violation of the LDAP protocol specification, but not doing so in that case can cause problems with clients that are expecting a response and may hang until they get one.

Returns:
true if the Directory Server should send a response to an operation that has been abandoned, or false if not.

setNotifyAbandonedOperations

public static void setNotifyAbandonedOperations(boolean notifyAbandonedOperations)
Specifies whether the Directory Server should send a response to an operation that has been abandoned. Sending such a response is technically a violation of the LDAP protocol specification, but not doing so in that case can cause problems with clients that are expecting a response and may hang until they get one.

Parameters:
notifyAbandonedOperations - Indicates whether the Directory Server should send a response to an operation that has been abandoned.

getBackends

public static java.util.Map<java.lang.String,Backend> getBackends()
Retrieves the set of backends that have been registered with the Directory Server, as a mapping between the backend ID and the corresponding backend.

Returns:
The set of backends that have been registered with the Directory Server.

getBackend

public static Backend getBackend(java.lang.String backendID)
Retrieves the backend with the specified backend ID.

Parameters:
backendID - The backend ID of the backend to retrieve.
Returns:
The backend with the specified backend ID, or null if there is none.

hasBackend

public static boolean hasBackend(java.lang.String backendID)
Indicates whether the Directory Server has a backend with the specified backend ID.

Parameters:
backendID - The backend ID for which to make the determination.
Returns:
true if the Directory Server has a backend with the specified backend ID, or false if not.

registerBackend

public static void registerBackend(Backend backend)
                            throws DirectoryException
Registers the provided backend with the Directory Server. Note that this will not register the set of configured suffixes with the server, as that must be done by the backend itself.

Parameters:
backend - The backend to register with the server. Neither the backend nor its backend ID may be null.
Throws:
DirectoryException - If the backend ID for the provided backend conflicts with the backend ID of an existing backend.

deregisterBackend

public static void deregisterBackend(Backend backend)
Deregisters the provided backend with the Directory Server. Note that this will not deregister the set of configured suffixes with the server, as that must be done by the backend itself.

Parameters:
backend - The backend to deregister with the server. It must not be null.

getOfflineBackendsStateIDs

public static java.util.Map<java.lang.String,java.lang.Long> getOfflineBackendsStateIDs()
This method returns a map that contains a unique offline state id, such as checksum, for every server backend that has registered one.

Returns:
Map backend to checksum map for offline state.

registerOfflineBackendStateID

public static void registerOfflineBackendStateID(java.lang.String backend,
                                                 long id)
This method allows any server backend to register its unique offline state, such as checksum, in a global map other server components can access to determine if any changes were made to given backend while offline.

Parameters:
backend - As returned by getBackendID() method.
id - Unique offline state identifier such as checksum.

getBaseDNs

public static java.util.Map<DN,Backend> getBaseDNs()
Retrieves the entire set of base DNs registered with the Directory Server, mapped from the base DN to the backend responsible for that base DN. The same backend may be present multiple times, mapped from different base DNs.

Returns:
The entire set of base DNs registered with the Directory Server.

getBackendWithBaseDN

public static Backend getBackendWithBaseDN(DN baseDN)
Retrieves the backend with the specified base DN.

Parameters:
baseDN - The DN that is registered as one of the base DNs for the backend to retrieve.
Returns:
The backend with the specified base DN, or null if there is no backend registered with the specified base DN.

getBackend

public static Backend getBackend(DN entryDN)
Retrieves the backend that should be used to handle operations on the specified entry.

Parameters:
entryDN - The DN of the entry for which to retrieve the corresponding backend.
Returns:
The backend that should be used to handle operations on the specified entry, or null if no appropriate backend is registered with the server.

copyBaseDnRegistry

public static BaseDnRegistry copyBaseDnRegistry()
Obtains a copy of the server's base DN registry. The copy can be used to test registration/deregistration of base DNs but cannot be used to modify the backends. To modify the server's live base DN to backend mappings use registerBaseDN(DN, Backend, boolean) and deregisterBaseDN(DN).

Returns:
copy of the base DN regsitry

registerBaseDN

public static void registerBaseDN(DN baseDN,
                                  Backend backend,
                                  boolean isPrivate)
                           throws DirectoryException
Registers the provided base DN with the server.

Parameters:
baseDN - The base DN to register with the server. It must not be null.
backend - The backend responsible for the provided base DN. It must not be null.
isPrivate - Indicates whether the base DN should be considered a private base DN. If the provided base DN is a naming context, then this controls whether it is public or private.
Throws:
DirectoryException - If a problem occurs while attempting to register the provided base DN.

deregisterBaseDN

public static void deregisterBaseDN(DN baseDN)
                             throws DirectoryException
Deregisters the provided base DN with the server.

Parameters:
baseDN - The base DN to deregister with the server. It must not be null.
Throws:
DirectoryException - If a problem occurs while attempting to deregister the provided base DN.

getPublicNamingContexts

public static java.util.Map<DN,Backend> getPublicNamingContexts()
Retrieves the set of public naming contexts defined in the Directory Server, mapped from the naming context DN to the corresponding backend.

Returns:
The set of public naming contexts defined in the Directory Server.

getPrivateNamingContexts

public static java.util.Map<DN,Backend> getPrivateNamingContexts()
Retrieves the set of private naming contexts defined in the Directory Server, mapped from the naming context DN to the corresponding backend.

Returns:
The set of private naming contexts defined in the Directory Server.

isNamingContext

public static boolean isNamingContext(DN dn)
Indicates whether the specified DN is one of the Directory Server naming contexts.

Parameters:
dn - The DN for which to make the determination.
Returns:
true if the specified DN is a naming context for the Directory Server, or false if it is not.

getRootDSE

public static Entry getRootDSE()
Retrieves the root DSE entry for the Directory Server.

Returns:
The root DSE entry for the Directory Server.

getRootDSEBackend

public static RootDSEBackend getRootDSEBackend()
Retrieves the root DSE backend for the Directory Server.

Returns:
The root DSE backend for the Directory Server.

getSchemaDN

public static DN getSchemaDN()
Retrieves the DN of the entry containing the server schema definitions.

Returns:
The DN of the entry containing the server schema definitions, or null if none has been defined (e.g., if no schema backend has been configured).

setSchemaDN

public static void setSchemaDN(DN schemaDN)
Specifies the DN of the entry containing the server schema definitions.

Parameters:
schemaDN - The DN of the entry containing the server schema definitions.

getEntry

public static Entry getEntry(DN entryDN)
                      throws DirectoryException
Retrieves the entry with the requested DN. It will first determine which backend should be used for this DN and will then use that backend to retrieve the entry. The caller must already hold the appropriate lock on the specified entry.

Parameters:
entryDN - The DN of the entry to retrieve.
Returns:
The requested entry, or null if it does not exist.
Throws:
DirectoryException - If a problem occurs while attempting to retrieve the entry.

entryExists

public static boolean entryExists(DN entryDN)
                           throws DirectoryException
Indicates whether the specified entry exists in the Directory Server. The caller is not required to hold any locks when invoking this method.

Parameters:
entryDN - The DN of the entry for which to make the determination.
Returns:
true if the specified entry exists in one of the backends, or false if it does not.
Throws:
DirectoryException - If a problem occurs while attempting to make the determination.

getSupportedControls

public static java.util.TreeSet<java.lang.String> getSupportedControls()
Retrieves the set of supported controls registered with the Directory Server.

Returns:
The set of supported controls registered with the Directory Server.

isSupportedControl

public static boolean isSupportedControl(java.lang.String controlOID)
Indicates whether the specified OID is registered with the Directory Server as a supported control.

Parameters:
controlOID - The OID of the control for which to make the determination.
Returns:
true if the specified OID is registered with the server as a supported control, or false if not.

registerSupportedControl

public static void registerSupportedControl(java.lang.String controlOID)
Registers the provided OID as a supported control for the Directory Server. This will have no effect if the specified control OID is already present in the list of supported controls.

Parameters:
controlOID - The OID of the control to register as a supported control.

deregisterSupportedControl

public static void deregisterSupportedControl(java.lang.String controlOID)
Deregisters the provided OID as a supported control for the Directory Server. This will have no effect if the specified control OID is not present in the list of supported controls.

Parameters:
controlOID - The OID of the control to deregister as a supported control.

getSupportedFeatures

public static java.util.TreeSet<java.lang.String> getSupportedFeatures()
Retrieves the set of supported features registered with the Directory Server.

Returns:
The set of supported features registered with the Directory Server.

isSupportedFeature

public static boolean isSupportedFeature(java.lang.String featureOID)
Indicates whether the specified OID is registered with the Directory Server as a supported feature.

Parameters:
featureOID - The OID of the feature for which to make the determination.
Returns:
true if the specified OID is registered with the server as a supported feature, or false if not.

registerSupportedFeature

public static void registerSupportedFeature(java.lang.String featureOID)
Registers the provided OID as a supported feature for the Directory Server. This will have no effect if the specified feature OID is already present in the list of supported features.

Parameters:
featureOID - The OID of the feature to register as a supported feature.

deregisterSupportedFeature

public static void deregisterSupportedFeature(java.lang.String featureOID)
Deregisters the provided OID as a supported feature for the Directory Server. This will have no effect if the specified feature OID is not present in the list of supported features.

Parameters:
featureOID - The OID of the feature to deregister as a supported feature.

getSupportedExtensions

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,ExtendedOperationHandler> getSupportedExtensions()
Retrieves the set of extended operations that may be processed by the Directory Server.

Returns:
The set of extended operations that may be processed by the Directory Server.

getExtendedOperationHandler

public static ExtendedOperationHandler getExtendedOperationHandler(java.lang.String oid)
Retrieves the handler for the extended operation for the provided OID.

Parameters:
oid - The OID of the extended operation to retrieve.
Returns:
The handler for the specified extended operation, or null if there is none.

registerSupportedExtension

public static void registerSupportedExtension(java.lang.String oid,
                                              ExtendedOperationHandler handler)
Registers the provided extended operation handler with the Directory Server.

Parameters:
oid - The OID for the extended operation to register.
handler - The extended operation handler to register with the Directory Server.

deregisterSupportedExtension

public static void deregisterSupportedExtension(java.lang.String oid)
Deregisters the provided extended operation handler with the Directory Server.

Parameters:
oid - The OID for the extended operation to deregister.

getSupportedSASLMechanisms

public static java.util.concurrent.ConcurrentHashMap<java.lang.String,SASLMechanismHandler> getSupportedSASLMechanisms()
Retrieves the set of SASL mechanisms that are supported by the Directory Server.

Returns:
The set of SASL mechanisms that are supported by the Directory Server.

getSASLMechanismHandler

public static SASLMechanismHandler getSASLMechanismHandler(java.lang.String name)
Retrieves the handler for the specified SASL mechanism.

Parameters:
name - The name of the SASL mechanism to retrieve.
Returns:
The handler for the specified SASL mechanism, or null if there is none.

registerSASLMechanismHandler

public static void registerSASLMechanismHandler(java.lang.String name,
                                                SASLMechanismHandler handler)
Registers the provided SASL mechanism handler with the Directory Server.

Parameters:
name - The name of the SASL mechanism to be registered.
handler - The SASL mechanism handler to register with the Directory Server.

deregisterSASLMechanismHandler

public static void deregisterSASLMechanismHandler(java.lang.String name)
Deregisters the provided SASL mechanism handler with the Directory Server.

Parameters:
name - The name of the SASL mechanism to be deregistered.

getSupportedLDAPVersions

public static java.util.Set<java.lang.Integer> getSupportedLDAPVersions()
Retrieves the supported LDAP versions for the Directory Server.

Returns:
The supported LDAP versions for the Directory Server.

registerSupportedLDAPVersion

public static void registerSupportedLDAPVersion(int supportedLDAPVersion,
                                                ConnectionHandler connectionHandler)
Registers the provided LDAP protocol version as supported within the Directory Server.

Parameters:
supportedLDAPVersion - The LDAP protocol version to register as supported.
connectionHandler - The connection handler that supports the provided LDAP version. Note that multiple connection handlers can provide support for the same LDAP versions.

deregisterSupportedLDAPVersion

public static void deregisterSupportedLDAPVersion(int supportedLDAPVersion,
                                                  ConnectionHandler connectionHandler)
Deregisters the provided LDAP protocol version as supported within the Directory Server.

Parameters:
supportedLDAPVersion - The LDAP protocol version to deregister.
connectionHandler - The connection handler that no longer supports the provided LDAP version.

getIdentityMappers

public static java.util.concurrent.ConcurrentHashMap<DN,IdentityMapper> getIdentityMappers()
Retrieves the set of identity mappers defined in the Directory Server configuration, as a mapping between the DN of the configuration entry and the identity mapper.

Returns:
The set of identity mappers defined in the Directory Server configuration.

getIdentityMapper

public static IdentityMapper getIdentityMapper(DN configEntryDN)
Retrieves the Directory Server identity mapper whose configuration resides in the specified configuration entry.

Parameters:
configEntryDN - The DN of the configuration entry for the identity mapper to retrieve.
Returns:
The requested identity mapper, or null if the provided entry DN is not associated with an active identity mapper.

registerIdentityMapper

public static void registerIdentityMapper(DN configEntryDN,
                                          IdentityMapper identityMapper)
Registers the provided identity mapper for use with the Directory Server.

Parameters:
configEntryDN - The DN of the configuration entry in which the identity mapper definition resides.
identityMapper - The identity mapper to be registered.

deregisterIdentityMapper

public static void deregisterIdentityMapper(DN configEntryDN)
Deregisters the provided identity mapper for use with the Directory Server.

Parameters:
configEntryDN - The DN of the configuration entry in which the identity mapper definition resides.

getProxiedAuthorizationIdentityMapperDN

public static DN getProxiedAuthorizationIdentityMapperDN()
Retrieves the DN of the configuration entry for the identity mapper that should be used in conjunction with proxied authorization V2 controls.

Returns:
The DN of the configuration entry for the identity mapper that should be used in conjunction with proxied authorization V2 controls, or null if none is defined.

setProxiedAuthorizationIdentityMapperDN

public static void setProxiedAuthorizationIdentityMapperDN(DN proxiedAuthorizationIdentityMapperDN)
Specifies the DN of the configuration entry for the identity mapper that should be used in conjunction with proxied authorization V2 controls.

Parameters:
proxiedAuthorizationIdentityMapperDN - The DN of the configuration entry for the identity mapper that should be used in conjunction with proxied authorization V2 controls.

getProxiedAuthorizationIdentityMapper

public static IdentityMapper getProxiedAuthorizationIdentityMapper()
Retrieves the identity mapper that should be used to resolve authorization IDs contained in proxied authorization V2 controls.

Returns:
The identity mapper that should be used to resolve authorization IDs contained in proxied authorization V2 controls, or null if none is defined.

getConnectionHandlers

public static java.util.concurrent.CopyOnWriteArrayList<ConnectionHandler> getConnectionHandlers()
Retrieves the set of connection handlers configured in the Directory Server. The returned list must not be altered.

Returns:
The set of connection handlers configured in the Directory Server.

registerConnectionHandler

public static void registerConnectionHandler(ConnectionHandler<? extends ConnectionHandlerCfg> handler)
Registers the provided connection handler with the Directory Server.

Parameters:
handler - The connection handler to register with the Directory Server.

deregisterConnectionHandler

public static void deregisterConnectionHandler(ConnectionHandler handler)
Deregisters the provided connection handler with the Directory Server.

Parameters:
handler - The connection handler to deregister with the Directory Server.

getWorkQueue

public static WorkQueue getWorkQueue()
Retrieves a reference to the Directory Server work queue.

Returns:
A reference to the Directory Server work queue.

enqueueRequest

public static void enqueueRequest(AbstractOperation operation)
                           throws DirectoryException
Adds the provided operation to the work queue so that it will be processed by one of the worker threads.

Parameters:
operation - The operation to be added to the work queue.
Throws:
DirectoryException - If a problem prevents the operation from being added to the queue (e.g., the queue is full).

getChangeNotificationListeners

public static java.util.concurrent.CopyOnWriteArrayList<ChangeNotificationListener> getChangeNotificationListeners()
Retrieves the set of change notification listeners registered with the Directory Server.

Returns:
The set of change notification listeners registered with the Directory Server.

registerChangeNotificationListener

public static void registerChangeNotificationListener(ChangeNotificationListener changeListener)
Registers the provided change notification listener with the Directory Server so that it will be notified of any add, delete, modify, or modify DN operations that are performed.

Parameters:
changeListener - The change notification listener to register with the Directory Server.

deregisterChangeNotificationListener

public static void deregisterChangeNotificationListener(ChangeNotificationListener changeListener)
Deregisters the provided change notification listener with the Directory Server so that it will no longer be notified of any add, delete, modify, or modify DN operations that are performed.

Parameters:
changeListener - The change notification listener to deregister with the Directory Server.

getPersistentSearches

public static java.util.concurrent.CopyOnWriteArrayList<PersistentSearch> getPersistentSearches()
Retrieves the set of persistent searches registered with the Directory Server.

Returns:
The set of persistent searches registered with the Directory Server.

registerPersistentSearch

public static void registerPersistentSearch(PersistentSearch persistentSearch)
Registers the provided persistent search operation with the Directory Server so that it will be notified of any add, delete, modify, or modify DN operations that are performed.

Parameters:
persistentSearch - The persistent search operation to register with the Directory Server.

deregisterPersistentSearch

public static void deregisterPersistentSearch(PersistentSearch persistentSearch)
Deregisters the provided persistent search operation with the Directory Server so that it will no longer be notified of any add, delete, modify, or modify DN operations that are performed.

Parameters:
persistentSearch - The persistent search operation to deregister with the Directory Server.

getSynchronizationProviders

public static java.util.concurrent.CopyOnWriteArrayList<SynchronizationProvider<SynchronizationProviderCfg>> getSynchronizationProviders()
Retrieves the set of synchronization providers that have been registered with the Directory Server.

Returns:
The set of synchronization providers that have been registered with the Directory Server.

registerSynchronizationProvider

public static void registerSynchronizationProvider(SynchronizationProvider<SynchronizationProviderCfg> provider)
Registers the provided synchronization provider with the Directory Server.

Parameters:
provider - The synchronization provider to register.

deregisterSynchronizationProvider

public static void deregisterSynchronizationProvider(SynchronizationProvider provider)
Deregisters the provided synchronization provider with the Directory Server.

Parameters:
provider - The synchronization provider to deregister.

getAllowedTasks

public static java.util.Set<java.lang.String> getAllowedTasks()
Retrieves a set containing the names of the allowed tasks that may be invoked in the server.

Returns:
A set containing the names of the allowed tasks that may be invoked in the server.

setAllowedTasks

public static void setAllowedTasks(java.util.Set<java.lang.String> allowedTasks)
Specifies the set of allowed tasks that may be invoked in the server.

Parameters:
allowedTasks - A set containing the names of the allowed tasks that may be invoked in the server.

getDisabledPrivileges

public static java.util.Set<Privilege> getDisabledPrivileges()
Retrieves the set of privileges that have been disabled.

Returns:
The set of privileges that have been disabled.

isDisabled

public static boolean isDisabled(Privilege privilege)
Indicates whether the specified privilege is disabled.

Parameters:
privilege - The privilege for which to make the determination.
Returns:
true if the specified privilege is disabled, or false if not.

setDisabledPrivileges

public static void setDisabledPrivileges(java.util.Set<Privilege> disabledPrivileges)
Specifies the set of privileges that should be disabled in the server.

Parameters:
disabledPrivileges - The set of privileges that should be disabled in the server.

returnBindErrorMessages

public static boolean returnBindErrorMessages()
Indicates whether responses to failed bind operations should include a message explaining the reason for the failure.

Returns:
true if bind responses should include error messages, or false if not.

setReturnBindErrorMessages

public static void setReturnBindErrorMessages(boolean returnBindErrorMessages)
Specifies whether responses to failed bind operations should include a message explaining the reason for the failure.

Parameters:
returnBindErrorMessages - Specifies whether responses to failed bind operations should include a message explaining the reason for the failure.

getIdleTimeLimit

public static long getIdleTimeLimit()
Retrieves the maximum length of time in milliseconds that client connections should be allowed to remain idle without being disconnected.

Returns:
The maximum length of time in milliseconds that client connections should be allowed to remain idle without being disconnected.

setIdleTimeLimit

public static void setIdleTimeLimit(long idleTimeLimit)
Specifies the maximum length of time in milliseconds that client connections should be allowed to remain idle without being disconnected.

Parameters:
idleTimeLimit - The maximum length of time in milliseconds that client connections should be allowed to remain idle without being disconnected.

saveConfigOnSuccessfulStartup

public static boolean saveConfigOnSuccessfulStartup()
Indicates whether the Directory Server should save a copy of its configuration whenever it is started successfully.

Returns:
true if the server should save a copy of its configuration whenever it is started successfully, or false if not.

setSaveConfigOnSuccessfulStartup

public static void setSaveConfigOnSuccessfulStartup(boolean saveConfigOnSuccessfulStartup)
Specifies whether the Directory Server should save a copy of its configuration whenever it is started successfully.

Parameters:
saveConfigOnSuccessfulStartup - Specifies whether the server should save a copy of its configuration whenever it is started successfully.

registerBackupTaskListener

public static void registerBackupTaskListener(BackupTaskListener listener)
Registers the provided backup task listener with the Directory Server.

Parameters:
listener - The backup task listener to register with the Directory Server.

deregisterBackupTaskListener

public static void deregisterBackupTaskListener(BackupTaskListener listener)
Deregisters the provided backup task listener with the Directory Server.

Parameters:
listener - The backup task listener to deregister with the Directory Server.

notifyBackupBeginning

public static void notifyBackupBeginning(Backend backend,
                                         BackupConfig config)
Notifies the registered backup task listeners that the server will be beginning a backup task with the provided information.

Parameters:
backend - The backend in which the backup is to be performed.
config - The configuration for the backup to be performed.

notifyBackupEnded

public static void notifyBackupEnded(Backend backend,
                                     BackupConfig config,
                                     boolean successful)
Notifies the registered backup task listeners that the server has completed processing on a backup task with the provided information.

Parameters:
backend - The backend in which the backup was performed.
config - The configuration for the backup that was performed.
successful - Indicates whether the backup completed successfully.

registerRestoreTaskListener

public static void registerRestoreTaskListener(RestoreTaskListener listener)
Registers the provided restore task listener with the Directory Server.

Parameters:
listener - The restore task listener to register with the Directory Server.

deregisterRestoreTaskListener

public static void deregisterRestoreTaskListener(RestoreTaskListener listener)
Deregisters the provided restore task listener with the Directory Server.

Parameters:
listener - The restore task listener to deregister with the Directory Server.

notifyRestoreBeginning

public static void notifyRestoreBeginning(Backend backend,
                                          RestoreConfig config)
Notifies the registered restore task listeners that the server will be beginning a restore task with the provided information.

Parameters:
backend - The backend in which the restore is to be performed.
config - The configuration for the restore to be performed.

notifyRestoreEnded

public static void notifyRestoreEnded(Backend backend,
                                      RestoreConfig config,
                                      boolean successful)
Notifies the registered restore task listeners that the server has completed processing on a restore task with the provided information.

Parameters:
backend - The backend in which the restore was performed.
config - The configuration for the restore that was performed.
successful - Indicates whether the restore completed successfully.

registerExportTaskListener

public static void registerExportTaskListener(ExportTaskListener listener)
Registers the provided LDIF export task listener with the Directory Server.

Parameters:
listener - The export task listener to register with the Directory Server.

deregisterExportTaskListener

public static void deregisterExportTaskListener(ExportTaskListener listener)
Deregisters the provided LDIF export task listener with the Directory Server.

Parameters:
listener - The export task listener to deregister with the Directory Server.

notifyExportBeginning

public static void notifyExportBeginning(Backend backend,
                                         LDIFExportConfig config)
Notifies the registered LDIF export task listeners that the server will be beginning an export task with the provided information.

Parameters:
backend - The backend in which the export is to be performed.
config - The configuration for the export to be performed.

notifyExportEnded

public static void notifyExportEnded(Backend backend,
                                     LDIFExportConfig config,
                                     boolean successful)
Notifies the registered LDIF export task listeners that the server has completed processing on an export task with the provided information.

Parameters:
backend - The backend in which the export was performed.
config - The configuration for the export that was performed.
successful - Indicates whether the export completed successfully.

registerImportTaskListener

public static void registerImportTaskListener(ImportTaskListener listener)
Registers the provided LDIF import task listener with the Directory Server.

Parameters:
listener - The import task listener to register with the Directory Server.

deregisterImportTaskListener

public static void deregisterImportTaskListener(ImportTaskListener listener)
Deregisters the provided LDIF import task listener with the Directory Server.

Parameters:
listener - The import task listener to deregister with the Directory Server.

notifyImportBeginning

public static void notifyImportBeginning(Backend backend,
                                         LDIFImportConfig config)
Notifies the registered LDIF import task listeners that the server will be beginning an import task with the provided information.

Parameters:
backend - The backend in which the import is to be performed.
config - The configuration for the import to be performed.

notifyImportEnded

public static void notifyImportEnded(Backend backend,
                                     LDIFImportConfig config,
                                     boolean successful)
Notifies the registered LDIF import task listeners that the server has completed processing on an import task with the provided information.

Parameters:
backend - The backend in which the import was performed.
config - The configuration for the import that was performed.
successful - Indicates whether the import completed successfully.

registerShutdownListener

public static void registerShutdownListener(ServerShutdownListener listener)
Registers the provided shutdown listener with the Directory Server so that it will be notified when the server shuts down.

Parameters:
listener - The shutdown listener to register with the Directory Server.

deregisterShutdownListener

public static void deregisterShutdownListener(ServerShutdownListener listener)
Deregisters the provided shutdown listener with the Directory Server.

Parameters:
listener - The shutdown listener to deregister with the Directory Server.

shutDown

public static void shutDown(java.lang.String className,
                            Message reason)
Initiates the Directory Server shutdown process. Note that once this has started, it should not be interrupted.

Parameters:
className - The fully-qualified name of the Java class that initiated the shutdown.
reason - The human-readable reason that the directory server is shutting down.

restart

public static void restart(java.lang.String className,
                           Message reason)
Causes the Directory Server to perform an in-core restart. This will cause virtually all components of the Directory Server to shut down, and once that has completed it will be restarted.

Parameters:
className - The fully-qualified name of the Java class that initiated the shutdown.
reason - The human-readable reason that the directory server is shutting down.

restart

public static void restart(java.lang.String className,
                           Message reason,
                           DirectoryEnvironmentConfig config)
Causes the Directory Server to perform an in-core restart. This will cause virtually all components of the Directory Server to shut down, and once that has completed it will be restarted.

Parameters:
className - The fully-qualified name of the Java class that initiated the shutdown.
reason - The human-readable reason that the directory server is shutting down.
config - The environment configuration to use for the server.

reinitialize

public static DirectoryServer reinitialize()
                                    throws InitializationException
Reinitializes the server following a shutdown, preparing it for a call to startServer.

Returns:
The new Directory Server instance created during the reinitialization process.
Throws:
InitializationException - If a problem occurs while trying to initialize the config handler or bootstrap that server.

reinitialize

public static DirectoryServer reinitialize(DirectoryEnvironmentConfig config)
                                    throws InitializationException
Reinitializes the server following a shutdown, preparing it for a call to startServer.

Parameters:
config - The environment configuration for the Directory Server.
Returns:
The new Directory Server instance created during the reinitialization process.
Throws:
InitializationException - If a problem occurs while trying to initialize the config handler or bootstrap that server.

getMaxAllowedConnections

public static long getMaxAllowedConnections()
Retrieves the maximum number of concurrent client connections that may be established.

Returns:
The maximum number of concurrent client connections that may be established, or -1 if there is no limit.

setMaxAllowedConnections

public static void setMaxAllowedConnections(long maxAllowedConnections)
Specifies the maximum number of concurrent client connections that may be established. A value that is less than or equal to zero will indicate that no limit should be enforced.

Parameters:
maxAllowedConnections - The maximum number of concurrent client connections that may be established.

newConnectionAccepted

public static long newConnectionAccepted(ClientConnection clientConnection)
Indicates that a new connection has been accepted and increments the associated counters.

Parameters:
clientConnection - The client connection that has been established.
Returns:
The connection ID that should be used for this connection, or -1 if the connection has been rejected for some reason (e.g., the maximum numberof concurrent connections have already been established).

connectionClosed

public static void connectionClosed(ClientConnection clientConnection)
Indicates that the specified client connection has been closed.

Parameters:
clientConnection - The client connection that has been closed.

getCurrentConnections

public static long getCurrentConnections()
Retrieves the number of client connections that are currently established.

Returns:
The number of client connections that are currently established.

getMaxConnections

public static long getMaxConnections()
Retrieves the maximum number of client connections that have been established concurrently.

Returns:
The maximum number of client connections that have been established concurrently.

getTotalConnections

public static long getTotalConnections()
Retrieves the total number of client connections that have been established since the Directory Server started.

Returns:
The total number of client connections that have been established since the Directory Server started.

getVersionString

public static java.lang.String getVersionString()
Retrieves the full version string for the Directory Server.

Returns:
The full version string for the Directory Server.

printVersion

public static void printVersion(java.io.OutputStream outputStream)
                         throws java.io.IOException
Prints out the version string for the Directory Server.

Parameters:
outputStream - The output stream to which the version information should be written.
Throws:
java.io.IOException - If a problem occurs while attempting to write the version information to the provided output stream.

getSizeLimit

public static int getSizeLimit()
Retrieves the default maximum number of entries that should be returned for a search.

Returns:
The default maximum number of entries that should be returned for a search.

setSizeLimit

public static void setSizeLimit(int sizeLimit)
Specifies the default maximum number of entries that should be returned for a search.

Parameters:
sizeLimit - The default maximum number of entries that should be returned for a search.

getLookthroughLimit

public static int getLookthroughLimit()
Retrieves the default maximum number of entries that should checked for matches during a search.

Returns:
The default maximum number of entries that should checked for matches during a search.

setLookthroughLimit

public static void setLookthroughLimit(int lookthroughLimit)
Specifies the default maximum number of entries that should be checked for matches during a search.

Parameters:
lookthroughLimit - The default maximum number of entries that should be check for matches during a search.

getTimeLimit

public static int getTimeLimit()
Retrieves the default maximum length of time in seconds that should be allowed when processing a search.

Returns:
The default maximum length of time in seconds that should be allowed when processing a search.

setTimeLimit

public static void setTimeLimit(int timeLimit)
Specifies the default maximum length of time in seconds that should be allowed when processing a search.

Parameters:
timeLimit - The default maximum length of time in seconds that should be allowed when processing a search.

setUseNanoTime

public static void setUseNanoTime(boolean useNanoTime)
Specifies whether to collect nanosecond resolution processing times for operations.

Parameters:
useNanoTime - true if nanosecond resolution times should be collected or false to only collect in millisecond resolution.

getUseNanoTime

public static boolean getUseNanoTime()
Retrieves whether operation processing times should be collected with nanosecond resolution.

Returns:
true if nanosecond resolution times are collected or false if only millisecond resolution times are being collected.

getWritabilityMode

public static WritabilityMode getWritabilityMode()
Retrieves the writability mode for the Directory Server. This will only be applicable for user suffixes.

Returns:
The writability mode for the Directory Server.

setWritabilityMode

public static void setWritabilityMode(WritabilityMode writabilityMode)
Specifies the writability mode for the Directory Server. This will only be applicable for user suffixes.

Parameters:
writabilityMode - Specifies the writability mode for the Directory Server.

bindWithDNRequiresPassword

public static boolean bindWithDNRequiresPassword()
Indicates whether simple bind requests that contain a bind DN will also be required to have a password.

Returns:
true if simple bind requests containing a bind DN will be required to have a password, or false if not (and therefore will be treated as anonymous binds).

setBindWithDNRequiresPassword

public static void setBindWithDNRequiresPassword(boolean bindWithDNRequiresPassword)
Specifies whether simple bind requests that contain a bind DN will also be required to have a password.

Parameters:
bindWithDNRequiresPassword - Indicates whether simple bind requests that contain a bind DN will also be required to have a password.

rejectUnauthenticatedRequests

public static boolean rejectUnauthenticatedRequests()
Indicates whether an unauthenticated request should be rejected.

Returns:
trueif an unauthenticated request should be rejected, or falsef if not.

setRejectUnauthenticatedRequests

public static void setRejectUnauthenticatedRequests(boolean rejectUnauthenticatedRequests)
Specifies whether an unauthenticated request should be rejected.

Parameters:
rejectUnauthenticatedRequests - Indicates whether an unauthenticated request should be rejected.

lockdownMode

public static boolean lockdownMode()
Indicates whether the Directory Server is currently configured to operate in the lockdown mode, in which all non-root requests will be rejected and all connection attempts from non-loopback clients will be rejected.

Returns:
true if the Directory Server is currently configured to operate in the lockdown mode, or false if not.

setLockdownMode

public static void setLockdownMode(boolean lockdownMode)
Specifies whether the server should operate in lockdown mode.

Parameters:
lockdownMode - Indicates whether the Directory Server should operate in lockdown mode.

getComponentEntryDN

public DN getComponentEntryDN()
Retrieves the DN of the configuration entry with which this alert generator is associated.

Specified by:
getComponentEntryDN in interface AlertGenerator
Returns:
The DN of the configuration entry with which this alert generator is associated.

getClassName

public java.lang.String getClassName()
Retrieves the fully-qualified name of the Java class for this alert generator implementation.

Specified by:
getClassName in interface AlertGenerator
Returns:
The fully-qualified name of the Java class for this alert generator implementation.

getAlerts

public java.util.LinkedHashMap<java.lang.String,java.lang.String> getAlerts()
Retrieves information about the set of alerts that this generator may produce. The map returned should be between the notification type for a particular notification and the human-readable description for that notification. This alert generator must not generate any alerts with types that are not contained in this list.

Specified by:
getAlerts in interface AlertGenerator
Returns:
Information about the set of alerts that this generator may produce.

uncaughtException

public void uncaughtException(java.lang.Thread thread,
                              java.lang.Throwable exception)
Provides a means of handling a case in which a thread is about to die because of an unhandled exception. This method does nothing to try to prevent the death of that thread, but will at least log it so that it can be available for debugging purposes.

Specified by:
uncaughtException in interface java.lang.Thread.UncaughtExceptionHandler
Parameters:
thread - The thread that threw the exception.
exception - The exception that was thrown but not properly handled.

isShuttingDown

public boolean isShuttingDown()
Indicates whether the server is currently in the process of shutting down.

Returns:
true if this server is currently in the process of shutting down and false otherwise.

main

public static void main(java.lang.String[] args)
Parses the provided command-line arguments and uses that information to bootstrap and start the Directory Server.

Parameters:
args - The command-line arguments provided to this program.

getMonitorProviderDN

public static DN getMonitorProviderDN(MonitorProvider provider)
Construct the DN of a monitor provider entry.

Parameters:
provider - The monitor provider for which a DN is desired.
Returns:
The DN of the monitor provider entry.

getClassLoader

public static java.lang.ClassLoader getClassLoader()
Gets the class loader to be used with this directory server application.

The class loader will automatically load classes from plugins where required.

Returns:
Returns the class loader to be used with this directory server application.

loadClass

public static java.lang.Class<?> loadClass(java.lang.String name)
                                    throws java.lang.LinkageError,
                                           java.lang.ExceptionInInitializerError,
                                           java.lang.ClassNotFoundException
Loads the named class using this directory server application's class loader.

This method provided as a convenience and is equivalent to calling:

 Class.forName(name, true, DirectoryServer.getClassLoader());
 

Parameters:
name - The fully qualified name of the desired class.
Returns:
Returns the class object representing the desired class.
Throws:
java.lang.LinkageError - If the linkage fails.
java.lang.ExceptionInInitializerError - If the initialization provoked by this method fails.
java.lang.ClassNotFoundException - If the class cannot be located by the specified class loader.
See Also:
Class.forName(String, boolean, ClassLoader)

isRunningAsWindowsService

public static boolean isRunningAsWindowsService()
Returns true if this server is configured to run as a windows service.

Returns:
true if this server is configured to run as a windows service and false otherwise.

setWorkflowConfigurationMode

public static void setWorkflowConfigurationMode(GlobalCfgDefn.WorkflowConfigurationMode workflowConfigurationMode)
Specifies whether the workflows are configured automatically or manually. In auto configuration mode one workflow is created for each and every base DN in the local backends. In the auto configuration mode the workflows are created according to their description in the configuration file.

Parameters:
workflowConfigurationMode - Indicates whether the workflows are configured automatically or manually

workflowConfigurationModeIsAuto

public static boolean workflowConfigurationModeIsAuto()
Indicates whether the workflow configuration mode is 'auto' or not.

Returns:
the workflow configuration mode

getWorkflowConfigurationMode

public static GlobalCfgDefn.WorkflowConfigurationMode getWorkflowConfigurationMode()
Retrieves the workflow configuration mode.

Returns:
the workflow configuration mode