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 $
|
|
|
|