User mapping plug-in (Java programming language)
The architecture of the Java plug-in includes two interface classes and three utility classes. Use these to develop a plug-in that retrieves user mappings from an external repository.
By default, user mappings for a data source are stored locally on each federated server. An LDAP server stores objects, such as user mapping entries, in a directory tree. These objects can have attributes, such as passwords. In addition, the LDAP server often stores additional information about users, for example their e-mail addresses and phone numbers.

UserMappingCrypto and UserMappingRepository are interface classes. To create a user mapping plug-in that retrieves user mappings from the external repository that your organization uses, you must extend these interface classes. UserMappingEntry, UserMappingOption, and UserMappingException are utility classes. You can use the utility classes without modification. Some functions and methods that are in the interface classes act as utility functions. For example, you can use the getChars() function and getBytes() function, which are in the UserMappingCrypto class, without modification.
In the figure, the 0..n term means there can be zero or more of those objects. For example, a UserMappingEntry object can have multiple UserMappingOption objects, but there can be only be one UserMappingRepository object. The UserMappingCryptoLDAP class and UserMappingRepositoryLDAP class are extended from their parent classes.