com.atlassian.crowd.directory.loader
Class RemoteCrowdDirectoryInstanceLoaderImpl
java.lang.Object
com.atlassian.crowd.directory.loader.CachingDirectoryInstanceLoader
com.atlassian.crowd.directory.loader.RemoteCrowdDirectoryInstanceLoaderImpl
- All Implemented Interfaces:
- DirectoryInstanceLoader, RemoteCrowdDirectoryInstanceLoader
public class RemoteCrowdDirectoryInstanceLoaderImpl
- extends CachingDirectoryInstanceLoader
- implements RemoteCrowdDirectoryInstanceLoader
Loads an implementation of a RemoteDirectory for use at runtime
by the Crowd security server.
The CachingDirectoryInstanceLoader.getDirectory(com.atlassian.crowd.embedded.api.Directory) method caches instances of RemoteDirectory as
allowed in the spec of the interface, but getRawDirectory(Long, String, java.util.Map) returns a new instance
every time as required.
|
Method Summary |
boolean |
canLoad(java.lang.String className)
|
protected RemoteDirectory |
getNewDirectory(Directory directory)
Always returns a new instance of a RemoteDirectory. |
RemoteCrowdDirectory |
getRawDirectory(java.lang.Long id,
java.lang.String className,
java.util.Map<java.lang.String,java.lang.String> directoryAttributes)
Loads a guaranteed un-cached directory implementation for a specific configuration. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RemoteCrowdDirectoryInstanceLoaderImpl
public RemoteCrowdDirectoryInstanceLoaderImpl(InstanceFactory instanceFactory,
com.atlassian.event.api.EventPublisher eventPublisher)
getRawDirectory
public RemoteCrowdDirectory getRawDirectory(java.lang.Long id,
java.lang.String className,
java.util.Map<java.lang.String,java.lang.String> directoryAttributes)
throws DirectoryInstantiationException
- Description copied from interface:
DirectoryInstanceLoader
- Loads a guaranteed un-cached directory implementation for a specific configuration.
- Specified by:
getRawDirectory in interface DirectoryInstanceLoader
- Parameters:
id - Directory IDclassName - class name of directory.directoryAttributes - the configuration attributes to pass to the RemoteDirectory
- Returns:
- The loaded RemoteDirectory implementation.
- Throws:
DirectoryInstantiationException - if a RemoteDirectory implementation can not be loaded.
canLoad
public boolean canLoad(java.lang.String className)
- Specified by:
canLoad in interface DirectoryInstanceLoader
- Parameters:
className - class name of directory.
- Returns:
true iff the directory can load the directory of the specified class.
getNewDirectory
protected RemoteDirectory getNewDirectory(Directory directory)
throws DirectoryInstantiationException
- Description copied from class:
CachingDirectoryInstanceLoader
- Always returns a new instance of a RemoteDirectory.
- Specified by:
getNewDirectory in class CachingDirectoryInstanceLoader
- Parameters:
directory - directory configuration
- Returns:
- new instance of a RemoteDirectory
- Throws:
DirectoryInstantiationException - if the directory could not be instantiated.
Copyright © 2012 Atlassian. All Rights Reserved.