Interface ServerContext

  • All Known Implementing Classes:
    DirectoryServer

    public interface ServerContext
    Context for the server, giving access to global properties of the server.
    • Method Detail

      • getInstanceRoot

        Path getInstanceRoot()
        Returns the directory of server instance.
        Returns:
        the instance root directory
      • getServerRoot

        Path getServerRoot()
        Returns the root directory of server.
        Returns:
        the server root directory
      • getSchema

        Schema getSchema()
        Returns the schema of the server.

        The schema is immutable. Any change on the schema must be done using a SchemaHandler which is available through the getSchemaHandler() method.

        Returns:
        the schema
      • getSchemaHandler

        SchemaHandler getSchemaHandler()
        Returns the schema handler, which provides operations to the schema.
        Returns:
        the schema handler
      • getConfigurationHandler

        ConfigurationHandler getConfigurationHandler()
        Returns the configuration handler, which provides operations to the configuration.
        Returns:
        the configuration handler
      • getServerManagementContext

        ServerManagementContext getServerManagementContext()
        Returns the server management context, which gives an entry point on configuration objects.
        Returns:
        the server management context
      • getRootConfig

        RootCfg getRootConfig()
        Returns the root configuration object.

        Equivalent to calling getServerManagementContext().getRootConfiguration().

        Returns:
        the root configuration object
      • getRootConnection

        InternalClientConnection getRootConnection()
        Retrieves a shared internal client connection that is authenticated as a root user.
        Returns:
        A shared internal client connection that is authenticated as a root user.
      • getLdapRouter

        RequestHandler getLdapRouter()
        Returns the router, which routes the LDAP requests to appropriate backend(s).
        Returns:
        the reactive handler corresponding to the router
      • getMemoryQuota

        MemoryQuota getMemoryQuota()
        Returns the memory quota system for reserving long term memory.
        Returns:
        the memory quota system
      • getDiskSpaceMonitor

        DiskSpaceMonitor getDiskSpaceMonitor()
        Returns the Disk Space Monitoring service, for checking free disk space. Configure a directory to be monitored and optionally get alerted when disk space transitions from low to full to back to normal.
        Returns:
        the Disk Space Monitoring service
      • getHttpRouter

        org.forgerock.http.routing.Router getHttpRouter()
        Returns the HTTP request router.
        Returns:
        the HTTP Router service
      • getCommonAudit

        CommonAudit getCommonAudit()
        Returns the common audit manager.
        Returns:
        the common audit manager
      • getServiceDiscoveryMechanismConfigManager

        ServiceDiscoveryMechanismConfigManager getServiceDiscoveryMechanismConfigManager()
        Returns the Service Discovery Mechanism Config Manager.
        Returns:
        the Service Discovery Mechanism Config Manager
      • getLoggerConfigManager

        LoggerConfigManager getLoggerConfigManager()
        Returns the logger config manager.
        Returns:
        the logger config manager
      • getCryptoManager

        CryptoManager getCryptoManager()
        Returns the Crypto Manager for the instance.
        Returns:
        the Crypto Manager for the instance
      • getCronExecutorService

        ScheduledExecutorService getCronExecutorService()
        Returns the UNIX's cron-like executor service.
        Returns:
        the UNIX's cron-like executor service
      • getLockManager

        LockManager getLockManager()
        Returns the lock manager which will be used for coordinating access to LDAP entries.
        Returns:
        the lock manager which will be used for coordinating access to LDAP entries
      • getBackendConfigManager

        BackendConfigManager getBackendConfigManager()
        Returns the manager of backends.
        Returns:
        backend manager
      • getCoreConfigManager

        CoreConfigManager getCoreConfigManager()
        Returns the manager of core configuration.
        Returns:
        core configuration manager
      • getKeyManagerProvider

        KeyManagerProvider<?> getKeyManagerProvider​(Dn keyManagerProviderDN)
        Returns the key manager provider matching the provided DN.
        Parameters:
        keyManagerProviderDN - the DN of the key manager provider
        Returns:
        the key manager provider, or null if none match
      • getTrustManagerProvider

        TrustManagerProvider<?> getTrustManagerProvider​(Dn trustManagerProviderDN)
        Returns the trust manager provider matching the provided DN.
        Parameters:
        trustManagerProviderDN - the DN of the trust manager provider
        Returns:
        the trust manager provider, or null if none match
      • getMeterRegistry

        MeterRegistry getMeterRegistry()
        Returns the global MeterRegistry that contains all metrics for all monitor providers.
        Returns:
        The global MeterRegistry that contains all metrics for all monitor providers.
      • getCurrentConnections

        long getCurrentConnections()
        Retrieves the number of client connections that are currently established.
        Returns:
        The number of client connections that are currently established.
      • getAdminConnectorConnections

        long getAdminConnectorConnections()
        Retrieves the number of connections that are currently established on the Administration Connector.
        Returns:
        The number of admin connections that are currently established.
      • getMaxConnections

        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.
      • getStartTime

        GeneralizedTime getStartTime()
        Retrieves the time when the Directory Server was started.
        Returns:
        The time when the Directory Server was started.
      • getTotalConnections

        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.
      • getHealthChecker

        HealthChecker getHealthChecker()
        Returns the HealthChecker that aggregates all the HealthStatusProvider for diagnosing the global server health.
        Returns:
        The health-checker for diagnosing the global server health.
      • getStdoutAtProcessStart

        PrintStream getStdoutAtProcessStart()
        Returns the original stdout at the time the process started, before its redefinition by DJ.
        Returns:
        the original stdout at the time the process started, before its redefinition by DJ
      • registerBackupStorageProvider

        void registerBackupStorageProvider​(BackupStorageProvider backupStorageProvider)
        Registers a backup storage provider.
        Parameters:
        backupStorageProvider - The backup storage provider to register with the Directory Server.
      • deregisterBackupStorageProvider

        void deregisterBackupStorageProvider​(BackupStorageProvider backupStorageProvider)
        Deregisters a backup storage provider.
        Parameters:
        backupStorageProvider - The backup storage provider to deregister from the Directory Server.
      • getBackupStorageProvider

        BackupStorageProvider getBackupStorageProvider​(String storageScheme)
        Returns the backup storage provider that supports the given storage scheme or null if no such storage provider hase been found.
        Parameters:
        storageScheme - The storage scheme.
        Returns:
        The backup storage provider that supports the given storage scheme or null if no such storage provider hase been found.
      • registerMonitorProvider

        void registerMonitorProvider​(MonitorProvider 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

        void deregisterMonitorProvider​(MonitorProvider monitorProvider)
        Deregisters the specified monitor provider from the Directory Server. If no such monitor provider is registered, no action will be taken.
        Parameters:
        monitorProvider - The monitor provider to deregister from the Directory Server.
      • getAuthenticatedUsers

        AuthenticatedUsers getAuthenticatedUsers()
        Retrieves the authenticated users manager for the Directory Server.
        Returns:
        The authenticated users manager for the Directory Server.
      • getMailServerManager

        MailServerConfigManager getMailServerManager()
        Retrieves the mail servers manager for the Directory Server.
        Returns:
        The mail servers manager for this Directory Server.
      • getGroupManager

        GroupManager getGroupManager()
        Retrieves the Directory Server group manager.
        Returns:
        The Directory Server group manager.
      • getSubentryManager

        SubentryManager getSubentryManager()
        Retrieves the Directory Server subentry manager.
        Returns:
        The Directory Server subentry manager.
      • getPluginConfigManager

        PluginConfigManager getPluginConfigManager()
        Retrieves a reference to the Directory Server plugin configuration manager.
        Returns:
        A reference to the Directory Server plugin configuration manager.
      • registerInternalPlugin

        void registerInternalPlugin​(InternalDirectoryServerPlugin plugin)
        Registers the provided internal plugin with the Directory Server and ensures that it will be invoked in the specified ways.
        Parameters:
        plugin - The internal plugin to register with the Directory Server. The plugin must specify a configuration entry which is guaranteed to be unique.
      • deregisterInternalPlugin

        void deregisterInternalPlugin​(InternalDirectoryServerPlugin plugin)
        Deregisters the provided internal plugin with the Directory Server.
        Parameters:
        plugin - The internal plugin to deregister from the Directory Server.
      • getVirtualAttributes

        Collection<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

        Iterable<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

        void registerVirtualAttribute​(VirtualAttributeRule rule)
        Registers the provided virtual attribute rule with the Directory Server.
        Parameters:
        rule - The virtual attribute rule to be registered.
      • deregisterVirtualAttribute

        void deregisterVirtualAttribute​(VirtualAttributeRule rule)
        Deregisters the provided virtual attribute rule with the Directory Server.
        Parameters:
        rule - The virtual attribute rule to be deregistered.
      • getJMXMBeanServer

        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

        Collection<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.
      • registerAlertGenerator

        void registerAlertGenerator​(AlertGenerator alertGenerator)
        Registers the provided alert generator with the Directory Server.
        Parameters:
        alertGenerator - The alert generator to register.
      • deregisterAlertGenerator

        void deregisterAlertGenerator​(AlertGenerator alertGenerator)
        Deregisters the provided alert generator with the Directory Server.
        Parameters:
        alertGenerator - The alert generator to deregister.
      • getAlertHandlers

        List<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

        void registerAlertHandler​(AlertHandler<?> alertHandler)
        Registers the provided alert handler with the Directory Server.
        Parameters:
        alertHandler - The alert handler to register.
      • deregisterAlertHandler

        void deregisterAlertHandler​(AlertHandler<?> alertHandler)
        Deregisters the provided alert handler with the Directory Server.
        Parameters:
        alertHandler - The alert handler to deregister.
      • sendAlertNotification

        default void sendAlertNotification​(AlertGenerator generator,
                                           String alertType,
                                           LocalizableMessage 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
      • sendAlertNotification

        void sendAlertNotification​(AlertGenerator generator,
                                   Severity severity,
                                   String alertType,
                                   LocalizableMessage alertMessage)
        Sends an alert notification with the provided information.
        Parameters:
        generator - The alert generator that created the alert.
        severity - The alert severity
        alertType - The alert type name for this alert.
        alertMessage - A message (possibly null) that can
      • getPasswordStorageScheme

        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

        Collection<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

        PasswordStorageScheme<?> getPasswordStorageScheme​(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

        ConcurrentMap<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

        PasswordStorageScheme<?> getAuthPasswordStorageScheme​(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

        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

        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.
      • getPasswordValidator

        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

        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

        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.
      • getAccountStatusNotificationHandler

        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

        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

        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.
      • getPasswordGenerator

        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

        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

        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.
      • getAuthenticationPolicies

        Collection<AuthenticationPolicy> getAuthenticationPolicies()
        Returns an unmodifiable collection containing all of the authentication policies registered with the Directory Server. The references returned are to the actual authentication policy objects currently in use by the directory server and the referenced objects must not be modified.
        Returns:
        The unmodifiable collection containing all of the authentication policies registered with the Directory Server.
      • getAuthenticationPolicy

        AuthenticationPolicy getAuthenticationPolicy​(Dn configEntryDN)
        Retrieves the authentication policy registered for the provided configuration entry.
        Parameters:
        configEntryDN - The DN of the configuration entry for which to retrieve the associated authentication policy.
        Returns:
        The authentication policy registered for the provided configuration entry, or null if there is no such policy.
      • registerAuthenticationPolicy

        void registerAuthenticationPolicy​(AuthenticationPolicy policy)
        Registers the provided authentication policy with the Directory Server. If a policy is already registered for the provided configuration entry DN, then it will be replaced.
        Parameters:
        policy - The authentication policy to register with the server.
      • deregisterAuthenticationPolicy

        void deregisterAuthenticationPolicy​(Dn configEntryDN)
        Deregisters the provided authentication 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 authentication policy to deregister.
      • resetDefaultPasswordPolicy

        void resetDefaultPasswordPolicy()
        Resets the default password policy to null.
      • getDefaultPasswordPolicy

        PasswordPolicy getDefaultPasswordPolicy()
        Retrieves the default password policy for the Directory Server. This method is equivalent to invoking getAuthenticationPolicy on the DN returned from DirectoryServer.getDefaultPasswordPolicyDN().
        Returns:
        The default password policy for the Directory Server.
      • getRotationPolicy

        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

        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

        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

        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

        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

        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

        ConcurrentMap<Dn,​MonitorProvider> 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.
      • getEntryCache

        EntryCache<?> getEntryCache()
        Retrieves the entry cache for the Directory Server.
        Returns:
        The entry cache for the Directory Server.
      • getCertificateMapper

        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

        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

        void deregisterCertificateMapper​(Dn mapperDN)
        Deregisters the specified certificate mapper with the Directory Server.
        Parameters:
        mapperDN - The DN with which the certificate mapper is registered.
      • getParentEntry

        Entry getParentEntry​(Dn childDn)
                      throws LdapException
        Retrieves the entry that is the immediate parent of the entry having the provided DN. This method does take the server's naming context configuration into account, so if the provided DN is a naming context for the server, then it will not be considered to have a parent.
        Parameters:
        childDn - the DN of the entry for which the parent entry must be retrieved
        Returns:
        The entry that is the immediate parent for the provided DN, or null if the provided DN does not have a parent (either because there is only a single RDN component or because this DN is a suffix defined in the server).
        Throws:
        LdapException - If a problem occurs while attempting to retrieve the entry.
      • getEntry

        Entry getEntry​(Dn entryDN)
                throws LdapException
        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 is not required to hold any locks on the specified DN.
        Parameters:
        entryDN - The DN of the entry to retrieve.
        Returns:
        The requested entry, or null if it does not exist.
        Throws:
        LdapException - If a problem occurs while attempting to retrieve the entry.
      • getConfigEntry

        @Deprecated
        Entry getConfigEntry​(Dn entryDN)
        Deprecated.
        use getEntry(Dn) when possible
        Retrieves the requested entry from the Directory Server configuration.

        The main difference with getEntry(Dn) is that virtual attributes are not processed. This is important when the whole directory server is not initialized yet (when initializing all backends).

        Parameters:
        entryDN - The DN of the configuration entry to retrieve.
        Returns:
        The requested entry from the Directory Server configuration.
      • entryExists

        boolean entryExists​(Dn entryDN)
                     throws LdapException
        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:
        LdapException - If a problem occurs while attempting to make the determination.
      • getSupportedControls

        Set<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

        boolean isSupportedControl​(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:
        whether the specified OID is registered with the server as a supported control.
      • registerSupportedControl

        void registerSupportedControl​(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

        void deregisterSupportedControl​(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

        Set<String> getSupportedFeatures()
        Retrieves the set of supported features registered with the Directory Server.
        Returns:
        The set of supported features registered with the Directory Server.
      • registerSupportedFeature

        void registerSupportedFeature​(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

        void deregisterSupportedFeature​(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

        Set<String> 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

        ExtendedOperationHandler<?> getExtendedOperationHandler​(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

        void registerSupportedExtension​(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

        void deregisterSupportedExtension​(String oid)
        Deregisters the provided extended operation handler with the Directory Server.
        Parameters:
        oid - The OID for the extended operation to deregister.
      • getSupportedSASLMechanisms

        Set<String> 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

        SASLMechanismHandler<?> getSASLMechanismHandler​(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

        void registerSASLMechanismHandler​(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

        void deregisterSASLMechanismHandler​(String name)
        Deregisters the provided SASL mechanism handler with the Directory Server.
        Parameters:
        name - The name of the SASL mechanism to be deregistered.
      • getSupportedLDAPVersions

        Set<Integer> getSupportedLDAPVersions()
        Retrieves the supported LDAP versions for the Directory Server.
        Returns:
        The supported LDAP versions for the Directory Server.
      • registerSupportedLDAPVersion

        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

        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.
      • getIdentityMapper

        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.
      • getIdentityMappers

        List<IdentityMapper<?>> getIdentityMappers​(Collection<Dn> configEntriesDNs)
        Retrieves the Directory Server identity mappers whose configurations reside in the specified configuration entries.
        Parameters:
        configEntriesDNs - The list of DNs of the configuration entries for the identity mappers to retrieve.
        Returns:
        The list of identity mappers, or an empty list if the provided entries DNs are not associated with any active identity mappers.
      • registerIdentityMapper

        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

        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.
      • getProxiedAuthorizationIdentityMappers

        List<IdentityMapper<?>> getProxiedAuthorizationIdentityMappers()
        Retrieves the identity mappers that should be used to resolve authorization IDs contained in proxied authorization V2 controls.
        Returns:
        The identity mappers that should be used to resolve authorization IDs contained in proxied authorization V2 controls, or an empty list if none is defined.
      • getConnectionHandlers

        List<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

        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

        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

        WorkQueue<?> getWorkQueue()
        Retrieves a reference to the Directory Server work queue.
        Returns:
        A reference to the Directory Server work queue.
      • checkCanEnqueueRequest

        void checkCanEnqueueRequest​(Operation operation,
                                    boolean isAllowedInLockDownMode)
                             throws LdapException
        Runs all the necessary checks prior to adding an operation to the work queue. It throws a LdapException if one of the check fails.
        Parameters:
        operation - The operation to be added to the work queue.
        isAllowedInLockDownMode - Flag to indicate if the request can be added to the work queue regardless of the server's lock down mode.
        Throws:
        LdapException - If a check failed preventing the operation from being added to the queue
      • enqueueRequest

        void enqueueRequest​(Operation operation)
                     throws LdapException
        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:
        LdapException - If a problem prevents the operation from being added to the queue (e.g., the queue is full).
      • tryEnqueueRequest

        boolean tryEnqueueRequest​(Operation operation)
                           throws LdapException
        Tries to add the provided operation to the work queue if not full so that it will be processed by one of the worker threads.
        Parameters:
        operation - The operation to be added to the work queue.
        Returns:
        true if the operation could be enqueued, false otherwise
        Throws:
        LdapException - If a problem prevents the operation from being added to the queue (e.g., the queue is full).
      • getSynchronizationProviders

        List<SynchronizationProvider<? extends 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

        void registerSynchronizationProvider​(SynchronizationProvider<? extends SynchronizationProviderCfg> provider)
        Registers the provided synchronization provider with the Directory Server.
        Parameters:
        provider - The synchronization provider to register.
      • deregisterSynchronizationProvider

        void deregisterSynchronizationProvider​(SynchronizationProvider<?> provider)
        Deregisters the provided synchronization provider with the Directory Server.
        Parameters:
        provider - The synchronization provider to deregister.
      • registerBackupTaskListener

        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

        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

        void notifyBackupBeginning​(LocalBackend<?> backend)
        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.
      • notifyBackupEnded

        void notifyBackupEnded​(LocalBackend<?> backend)
        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.
      • registerRestoreTaskListener

        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

        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

        void notifyRestoreBeginning​(LocalBackend<?> backend)
        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.
      • notifyRestoreEnded

        void notifyRestoreEnded​(LocalBackend<?> backend)
        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.
      • registerExportTaskListener

        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

        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

        void notifyExportBeginning​(LocalBackend<?> 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

        void notifyExportEnded​(LocalBackend<?> 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

        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

        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

        void notifyImportBeginning​(LocalBackend<?> 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

        void notifyImportEnded​(LocalBackend<?> 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

        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

        void deregisterShutdownListener​(ServerShutdownListener listener)
        Deregisters the provided shutdown listener with the Directory Server.
        Parameters:
        listener - The shutdown listener to deregister with the Directory Server.
      • rejectNewConnectionIfNeeded

        void rejectNewConnectionIfNeeded​(InetAddress remoteAddress,
                                         boolean isAdminConnector)
                                  throws DisconnectException
        Throws a DisconnectException if the client with the provided remote address should be disconnected immediately. This method must be called before newConnectionAccepted(ClientConnection).
        Parameters:
        remoteAddress - The remote address of the client.
        isAdminConnector - true if the network listener is the admin connector.
        Throws:
        DisconnectException - If the client with the provided remote address should be disconnected immediately.
      • newConnectionAccepted

        long newConnectionAccepted​(ClientConnection clientConnection)
        Indicates that a new connection has been accepted, increments the associated metrics and assigns a connection ID. This method must be called after rejectNewConnectionIfNeeded(InetAddress, boolean).
        Parameters:
        clientConnection - The client connection that has been established.
        Returns:
        The connection ID that should be used for this connection.
      • connectionClosed

        void connectionClosed​(ClientConnection clientConnection)
        Indicates that the specified client connection has been closed.
        Parameters:
        clientConnection - The client connection that has been closed.
      • registerPersistentSearch

        void registerPersistentSearch()
        Registers a new persistent search by increasing the count of active persistent searches. After receiving a persistent search request, a Local or Remote WFE must call this method to let the core server manage the count of concurrent persistent searches.
      • deregisterPersistentSearch

        void deregisterPersistentSearch()
        Deregisters a canceled persistent search. After a persistent search is canceled, the handler must call this method to let the core server manage the count of concurrent persistent searches.
      • allowNewPersistentSearch

        boolean allowNewPersistentSearch()
        Indicates whether a new persistent search is allowed.
        Returns:
        trueif a new persistent search is allowed or falsef if not.
      • lockdownMode

        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

        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.
      • getTopology

        Topology getTopology()
        Returns the topology this server participates in.
        Returns:
        the topology this server participates in
      • isOffline

        boolean isOffline()
        Returns true if the server is currently offline (i.e. a tool is being run instead).
        Returns:
        true if the server is currently offline, or false if not.
      • isRunning

        boolean isRunning()
        Indicates whether the server is currently running.
        Returns:
        true if the server is currently running, or false if not.
      • isShuttingDown

        boolean isShuttingDown()
        Returns true if the server is currently in the process of shutting down.
        Returns:
        true if the server is currently in the process of shutting down.
      • isAtLeastStarting

        boolean isAtLeastStarting()
        Returns true if the server is at least starting.
        Returns:
        true if the server is at least starting
      • getEnvironmentConfig

        DirectoryEnvironmentConfig getEnvironmentConfig()
        Retrieves the environment configuration for the Directory Server.
        Returns:
        The environment configuration for the Directory Server.
      • getThreadGroup

        ThreadGroup getThreadGroup()
        Returns the thread groups of all directory threads.
        Returns:
        the thread groups of all directory threads.
      • uncaughtException

        void uncaughtException​(Thread t,
                               Throwable e,
                               AlertGenerator alertGenerator)
        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.
        Parameters:
        t - The thread that threw the exception.
        e - The exception that was thrown but not properly handled.
        alertGenerator - The alert generator that will send the alert.
      • getLogAggregator

        LogAggregator getLogAggregator()
        Returns the log aggregator.
        Returns:
        the log aggregator