org.apache.directory.server.core
Interface DirectoryService

All Superinterfaces:
ServerEntryFactory
All Known Implementing Classes:
DefaultDirectoryService

public interface DirectoryService
extends ServerEntryFactory

Provides JNDI service to AbstractContextFactory.

Version:
$Rev: 679219 $, $Date: 2008-07-24 00:45:05 +0200 (Do, 24 Jul 2008) $
Author:
Apache Directory Project

Field Summary
static java.lang.String JNDI_KEY
           
 
Method Summary
 void addPartition(Partition partition)
           
 CoreSession getAdminSession()
           
 ChangeLog getChangeLog()
          Gets the ChangeLog service for this DirectoryService used for tracking changes (revisions) to the server and using them to revert the server to earier revisions.
 EventService getEventService()
           
 java.lang.String getInstanceId()
           
 InterceptorChain getInterceptorChain()
           
 java.util.List<Interceptor> getInterceptors()
          Returns interceptors in the server.
 int getMaxSizeLimit()
           
 int getMaxTimeLimit()
           
 OperationManager getOperationManager()
          Gets the operation manager.
 PartitionNexus getPartitionNexus()
           
 java.util.Set<? extends Partition> getPartitions()
          Gets the Partitions used by this DirectoryService.
 Registries getRegistries()
           
 SchemaService getSchemaService()
           
 CoreSession getSession()
          Gets a logical session to perform operations on this DirectoryService as the anonymous user.
 CoreSession getSession(org.apache.directory.shared.ldap.name.LdapDN principalDn, byte[] credentials)
          Gets a logical session to perform operations on this DirectoryService as a specific user with a separate authorization principal.
 CoreSession getSession(org.apache.directory.shared.ldap.name.LdapDN principalDn, byte[] credentials, java.lang.String saslMechanism, java.lang.String saslAuthId)
          Gets a logical session to perform operations on this DirectoryService as a specific user with a separate authorization principal.
 CoreSession getSession(LdapPrincipal principal)
          Gets a logical session to perform operations on this DirectoryService as a specific user.
 Partition getSystemPartition()
           
 java.util.List<org.apache.directory.shared.ldap.ldif.LdifEntry> getTestEntries()
          Returns test directory entries(LdifEntry) to be loaded while bootstrapping.
 java.io.File getWorkingDirectory()
          Returns working directory (counterpart of var/lib) where partitions are stored by default.
 boolean isAccessControlEnabled()
          Returns true if access control checks are enabled.
 boolean isAllowAnonymousAccess()
          Returns true if anonymous access is allowed on entries besides the RootDSE.
 boolean isDenormalizeOpAttrsEnabled()
           
 boolean isExitVmOnShutdown()
           
 boolean isShutdownHookEnabled()
          Checks to see if this DirectoryService has registered a JVM shutdown hook to flush caches and synchronize to disk safely.
 boolean isStarted()
          Returns true if this service is started.
 ServerEntry newEntry(java.lang.String ldif, java.lang.String dn)
          Create a new ServerEntry.
 void removePartition(Partition partition)
           
 long revert()
          Reverts the server's state to the latest tagged snapshot if one was taken.
 long revert(long revision)
          Reverts the server's state to an earlier revision.
 void setAccessControlEnabled(boolean accessControlEnabled)
          Sets whether to enable basic access control checks or not.
 void setAllowAnonymousAccess(boolean enableAnonymousAccess)
          Sets whether to allow anonymous access to entries other than the RootDSE.
 void setChangeLog(ChangeLog changeLog)
          Sets the ChangeLog service for this DirectoryService used for tracking changes (revisions) to the server and using them to revert the server to earier revisions.
 void setDenormalizeOpAttrsEnabled(boolean denormalizeOpAttrsEnabled)
           
 void setEventService(EventService eventService)
           
 void setExitVmOnShutdown(boolean exitVmOnShutdown)
           
 void setInstanceId(java.lang.String instanceId)
           
 void setInterceptors(java.util.List<Interceptor> interceptors)
          Sets the interceptors in the server.
 void setMaxSizeLimit(int maxSizeLimit)
           
 void setMaxTimeLimit(int maxTimeLimit)
           
 void setPartitions(java.util.Set<? extends Partition> partitions)
          Sets Partitions used by this DirectoryService.
 void setRegistries(Registries registries)
           
 void setSchemaService(SchemaService schemaService)
           
 void setShutdownHookEnabled(boolean shutdownHookEnabled)
          Sets the shutdown hook flag which controls whether or not this DirectoryService registers a JVM shutdown hook to flush caches and synchronize to disk safely.
 void setSystemPartition(Partition systemPartition)
           
 void setTestEntries(java.util.List<? extends org.apache.directory.shared.ldap.ldif.LdifEntry> testEntries)
          Sets test directory entries(Attributes) to be loaded while bootstrapping.
 void setWorkingDirectory(java.io.File workingDirectory)
          Sets working directory (counterpart of var/lib) where partitions are stored by default.
 void shutdown()
          Shuts down this service.
 void startup()
          Starts up this service.
 void sync()
          Calls Partition.sync() for all registered Partitions.
 
Methods inherited from interface org.apache.directory.server.core.entry.ServerEntryFactory
newEntry
 

Field Detail

JNDI_KEY

static final java.lang.String JNDI_KEY
Method Detail

revert

long revert(long revision)
            throws java.lang.Exception
Reverts the server's state to an earlier revision. Note that the revsion number still increases to revert back even though the state reverted to is the same. Note that implementations may lock the server from making changes or searching the directory until this operation has completed.

Parameters:
revision - the revision number to revert to
Returns:
the new revision reached by applying all changes needed to revert to the original state
Throws:
java.lang.Exception - if there are problems reverting back to the earlier state
java.lang.IllegalArgumentException - if the revision provided is greater than the current revision or less than 0
java.lang.UnsupportedOperationException - if this feature is not supported by the change log

revert

long revert()
            throws java.lang.Exception
Reverts the server's state to the latest tagged snapshot if one was taken. If there is no tag a illegal state exception will result. If the latest revision is not earlier than the current revision (both are same), then no changes were made to the directory to be reverted. In this case we return the current revision and do nothiig loggin the fact that we ignored the request to revert.

Returns:
the new revision reached by applying all changes needed to revert to the new state or the same version before this call if no revert actually took place
Throws:
java.lang.Exception - if there are problems reverting back to the earlier state
java.lang.UnsupportedOperationException - if this feature is not supported by the change log

getPartitionNexus

PartitionNexus getPartitionNexus()

getInterceptorChain

InterceptorChain getInterceptorChain()

addPartition

void addPartition(Partition partition)
                  throws java.lang.Exception
Throws:
java.lang.Exception

removePartition

void removePartition(Partition partition)
                     throws java.lang.Exception
Throws:
java.lang.Exception

getRegistries

Registries getRegistries()

setRegistries

void setRegistries(Registries registries)

getSchemaService

SchemaService getSchemaService()

setSchemaService

void setSchemaService(SchemaService schemaService)

getEventService

EventService getEventService()

setEventService

void setEventService(EventService eventService)

startup

void startup()
             throws java.lang.Exception
Starts up this service.

Throws:
java.lang.Exception - if failed to start up

shutdown

void shutdown()
              throws java.lang.Exception
Shuts down this service.

Throws:
java.lang.Exception - if failed to shut down

sync

void sync()
          throws java.lang.Exception
Calls Partition.sync() for all registered Partitions.

Throws:
java.lang.Exception - if synchronization failed

isStarted

boolean isStarted()
Returns true if this service is started.

Returns:
true if the service has started, false otherwise

getAdminSession

CoreSession getAdminSession()
                            throws java.lang.Exception
Throws:
java.lang.Exception

getSession

CoreSession getSession()
                       throws java.lang.Exception
Gets a logical session to perform operations on this DirectoryService as the anonymous user. This bypasses authentication without propagating a bind operation into the core.

Returns:
a logical session as the anonymous user
Throws:
java.lang.Exception

getSession

CoreSession getSession(LdapPrincipal principal)
                       throws java.lang.Exception
Gets a logical session to perform operations on this DirectoryService as a specific user. This bypasses authentication without propagating a bind operation into the core.

Returns:
a logical session as a specific user
Throws:
java.lang.Exception

getSession

CoreSession getSession(org.apache.directory.shared.ldap.name.LdapDN principalDn,
                       byte[] credentials)
                       throws java.lang.Exception
Gets a logical session to perform operations on this DirectoryService as a specific user with a separate authorization principal. This bypasses authentication without propagating a bind operation into the core.

Returns:
a logical session as a specific user
Throws:
java.lang.Exception

getSession

CoreSession getSession(org.apache.directory.shared.ldap.name.LdapDN principalDn,
                       byte[] credentials,
                       java.lang.String saslMechanism,
                       java.lang.String saslAuthId)
                       throws java.lang.Exception
Gets a logical session to perform operations on this DirectoryService as a specific user with a separate authorization principal. This bypasses authentication without propagating a bind operation into the core.

Returns:
a logical session as a specific user
Throws:
java.lang.Exception

setInstanceId

void setInstanceId(java.lang.String instanceId)

getInstanceId

java.lang.String getInstanceId()

getPartitions

java.util.Set<? extends Partition> getPartitions()
Gets the Partitions used by this DirectoryService.

Returns:
the set of partitions used

setPartitions

void setPartitions(java.util.Set<? extends Partition> partitions)
Sets Partitions used by this DirectoryService.

Parameters:
partitions - the partitions to used

isAccessControlEnabled

boolean isAccessControlEnabled()
Returns true if access control checks are enabled.

Returns:
true if access control checks are enabled, false otherwise

setAccessControlEnabled

void setAccessControlEnabled(boolean accessControlEnabled)
Sets whether to enable basic access control checks or not.

Parameters:
accessControlEnabled - true to enable access control checks, false otherwise

isAllowAnonymousAccess

boolean isAllowAnonymousAccess()
Returns true if anonymous access is allowed on entries besides the RootDSE. If the access control subsystem is enabled then access to some entries may not be allowed even when full anonymous access is enabled.

Returns:
true if anonymous access is allowed on entries besides the RootDSE, false if anonymous access is allowed to all entries.

setAllowAnonymousAccess

void setAllowAnonymousAccess(boolean enableAnonymousAccess)
Sets whether to allow anonymous access to entries other than the RootDSE. If the access control subsystem is enabled then access to some entries may not be allowed even when full anonymous access is enabled.

Parameters:
enableAnonymousAccess - true to enable anonymous access, false to disable it

getInterceptors

java.util.List<Interceptor> getInterceptors()
Returns interceptors in the server.

Returns:
the interceptors in the server.

setInterceptors

void setInterceptors(java.util.List<Interceptor> interceptors)
Sets the interceptors in the server.

Parameters:
interceptors - the interceptors to be used in the server.

getTestEntries

java.util.List<org.apache.directory.shared.ldap.ldif.LdifEntry> getTestEntries()
Returns test directory entries(LdifEntry) to be loaded while bootstrapping.

Returns:
test entries to load during bootstrapping

setTestEntries

void setTestEntries(java.util.List<? extends org.apache.directory.shared.ldap.ldif.LdifEntry> testEntries)
Sets test directory entries(Attributes) to be loaded while bootstrapping.

Parameters:
testEntries - the test entries to load while bootstrapping

getWorkingDirectory

java.io.File getWorkingDirectory()
Returns working directory (counterpart of var/lib) where partitions are stored by default.

Returns:
the directory where partition's are stored.

setWorkingDirectory

void setWorkingDirectory(java.io.File workingDirectory)
Sets working directory (counterpart of var/lib) where partitions are stored by default.

Parameters:
workingDirectory - the directory where the server's partitions are stored by default.

setShutdownHookEnabled

void setShutdownHookEnabled(boolean shutdownHookEnabled)
Sets the shutdown hook flag which controls whether or not this DirectoryService registers a JVM shutdown hook to flush caches and synchronize to disk safely. This is enabled by default.

Parameters:
shutdownHookEnabled - true to enable the shutdown hook, false to disable

isShutdownHookEnabled

boolean isShutdownHookEnabled()
Checks to see if this DirectoryService has registered a JVM shutdown hook to flush caches and synchronize to disk safely. This is enabled by default.

Returns:
true if a shutdown hook is registered, false if it is not

setExitVmOnShutdown

void setExitVmOnShutdown(boolean exitVmOnShutdown)

isExitVmOnShutdown

boolean isExitVmOnShutdown()

setMaxSizeLimit

void setMaxSizeLimit(int maxSizeLimit)

getMaxSizeLimit

int getMaxSizeLimit()

setMaxTimeLimit

void setMaxTimeLimit(int maxTimeLimit)

getMaxTimeLimit

int getMaxTimeLimit()

setSystemPartition

void setSystemPartition(Partition systemPartition)

getSystemPartition

Partition getSystemPartition()

isDenormalizeOpAttrsEnabled

boolean isDenormalizeOpAttrsEnabled()

setDenormalizeOpAttrsEnabled

void setDenormalizeOpAttrsEnabled(boolean denormalizeOpAttrsEnabled)

getChangeLog

ChangeLog getChangeLog()
Gets the ChangeLog service for this DirectoryService used for tracking changes (revisions) to the server and using them to revert the server to earier revisions.

Returns:
the change log service

setChangeLog

void setChangeLog(ChangeLog changeLog)
Sets the ChangeLog service for this DirectoryService used for tracking changes (revisions) to the server and using them to revert the server to earier revisions.

Parameters:
changeLog - the change log service to set

newEntry

ServerEntry newEntry(java.lang.String ldif,
                     java.lang.String dn)
Create a new ServerEntry.

Parameters:
ldif - the String representing the attributes, in LDIF format
dn - the DN for this new entry

getOperationManager

OperationManager getOperationManager()
Gets the operation manager.



Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.