com.atlassian.crowd.directory
Class InternalDirectoryForDelegation

java.lang.Object
  extended by com.atlassian.crowd.directory.AbstractInternalDirectory
      extended by com.atlassian.crowd.directory.InternalDirectory
          extended by com.atlassian.crowd.directory.InternalDirectoryForDelegation
All Implemented Interfaces:
InternalRemoteDirectory, RemoteDirectory, Attributes

public class InternalDirectoryForDelegation
extends InternalDirectory

This is the internal front-end of a delegating directory. It similar to InternalDirectory, but with externally managed and mutable externalIds.

Since:
v2.7

Field Summary
 
Fields inherited from class com.atlassian.crowd.directory.AbstractInternalDirectory
ATTRIBUTE_PASSWORD_COMPLEXITY_MESSAGE, ATTRIBUTE_PASSWORD_HISTORY_COUNT, ATTRIBUTE_PASSWORD_MAX_ATTEMPTS, ATTRIBUTE_PASSWORD_MAX_CHANGE_TIME, ATTRIBUTE_PASSWORD_REGEX, ATTRIBUTE_USER_ENCRYPTION_METHOD, attributes, DESCRIPTIVE_NAME, directoryDao, directoryId, groupDao, internalDirectoryUtils, membershipDao, passwordEncoderFactory, userDao
 
Constructor Summary
InternalDirectoryForDelegation(InternalDirectoryUtils internalDirectoryUtils, PasswordEncoderFactory passwordEncoderFactory, DirectoryDao directoryDao, UserDao userDao, GroupDao groupDao, MembershipDao membershipDao)
           
 
Method Summary
 boolean isUserExternalIdReadOnly()
          When an InternalDirectory is used as an internal directory, it must manage the values of the external_id column.
 
Methods inherited from class com.atlassian.crowd.directory.InternalDirectory
addAllGroups, addAllUsers, addAllUsersToGroup, addLocalGroup, addUser, generateUniqueIdentifier, isLocalUserStatusEnabled, updateUser
 
Methods inherited from class com.atlassian.crowd.directory.AbstractInternalDirectory
addGroup, addGroupToGroup, addUserToGroup, authenticate, currentPrincipalInvalidPasswordAttempts, encryptCredential, findGroupByName, findGroupWithAttributesByName, findUserByExternalId, findUserByName, findUserWithAttributesByName, forceRenameUser, getAuthoritativeDirectory, getDescriptiveName, getDirectoryId, getEncoder, getKeys, getMemberships, getValue, getValues, isEmpty, isGroupDirectGroupMember, isRolesDisabled, isUserDirectGroupMember, removeAllGroups, removeAllUsers, removeGroup, removeGroupAttributes, removeGroupFromGroup, removeUser, removeUserAttributes, removeUserFromGroup, renameGroup, renameUser, requiresPasswordChange, searchGroupRelationships, searchGroups, searchUsers, setAttributes, setDirectoryId, storeGroupAttributes, storeUserAttributes, supportsInactiveAccounts, supportsNestedGroups, testConnection, updateGroup, updateUserCredential
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InternalDirectoryForDelegation

public InternalDirectoryForDelegation(InternalDirectoryUtils internalDirectoryUtils,
                                      PasswordEncoderFactory passwordEncoderFactory,
                                      DirectoryDao directoryDao,
                                      UserDao userDao,
                                      GroupDao groupDao,
                                      MembershipDao membershipDao)
Method Detail

isUserExternalIdReadOnly

public boolean isUserExternalIdReadOnly()
Description copied from class: InternalDirectory
When an InternalDirectory is used as an internal directory, it must manage the values of the external_id column. However, when it is used as the front-end in a delegating directory, the values of the column are dictated by the remote LDAP directory and are subject to change. This method makes it possible to switch between these two behaviours.

Overrides:
isUserExternalIdReadOnly in class InternalDirectory
Returns:
true in this class because it manages the external_id values and does not allow mutability.


Copyright © 2013 Atlassian. All Rights Reserved.