This class implements for directory objects what is called an inner join in relational world: Retrieving a collection of objects whose attribute equals the value of one value of a multiple attribute in another object.
For instance, assume there exists nodes in a directory with root value ou=Sites,o=AcmeInc and with distinguishd name cn=xxxx where xxxx is the name of a unique attribute among all sites. Lets assume furthermore that each site has the following single-valued attributes: address and telephoneNumber and that each have a multiple valued attribute uniqueMember which holds unique identifiers of persons in this site. This id uniquely identifies persons in the tree at node ou=Persons,o=AcmeInc.
By setting a first search query siteSearchByName returning a site as property left in this class and a second query personSearchById as property right, one obtains a new search query that retrieves all persons attached to one site by name. The result of the first map plus the joined attributes value are used as input to the second map.
The joined attribute is controlled by method {@link #setJoinAttribute(String)} which takes an object-space attribute name.
@author nono @version $Id: AttributeJoinMapperImpl.java 259 2006-05-23 10:34:50Z/C=FR/ST=Nord/L=Lille/O=Norsys SA/OU=UE/CN=Arnaud Bailly/emailAddress=abailly@norsys.fr $ | |
| |