Class InternalDirectoryInstanceLoaderImpl
java.lang.Object
com.atlassian.crowd.directory.loader.AbstractDirectoryInstanceLoader
com.atlassian.crowd.directory.loader.InternalDirectoryInstanceLoaderImpl
- All Implemented Interfaces:
DirectoryInstanceLoader,InternalDirectoryInstanceLoader
public class InternalDirectoryInstanceLoaderImpl
extends AbstractDirectoryInstanceLoader
implements InternalDirectoryInstanceLoader
Loads an implementation of a
RemoteDirectory for use at runtime
by the Crowd security server.
The 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.
This class listens for update events on EventPublisher to know when to refresh the cache.
This loads both AbstractInternalDirectory and
DelegatedAuthenticationDirectory instances.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
InternalDirectoryInstanceLoaderImpl
-
-
Method Details
-
getRawDirectory
public InternalRemoteDirectory getRawDirectory(Long id, String className, Map<String, String> directoryAttributes) throws DirectoryInstantiationException- Specified by:
getRawDirectoryin interfaceDirectoryInstanceLoader- Specified by:
getRawDirectoryin interfaceInternalDirectoryInstanceLoader- Throws:
DirectoryInstantiationException
-
canLoad
- Specified by:
canLoadin interfaceDirectoryInstanceLoader
-
getDirectory
public InternalRemoteDirectory getDirectory(Directory directory) throws DirectoryInstantiationException - Specified by:
getDirectoryin interfaceDirectoryInstanceLoader- Specified by:
getDirectoryin interfaceInternalDirectoryInstanceLoader- Overrides:
getDirectoryin classAbstractDirectoryInstanceLoader- Throws:
DirectoryInstantiationException
-