org.jasig.portal.services.persondir
Interface IPersonAttributeDao

All Known Implementing Classes:
AbstractDefaultQueryPersonAttributeDao, CachingPersonAttributeDaoImpl, CascadingPersonAttributeDao, EchoPersonAttributeDaoImpl, JdbcPersonAttributeDaoImpl, LdapPersonAttributeDaoImpl, LegacyPersonAttributeDao, MergingPersonAttributeDaoImpl, StubPersonAttributeDao

public interface IPersonAttributeDao

Data access object which, for a given Map of query data, returns a Map from attribute names to attribute values.

Since:
uPortal 2.5
Version:
$Revision: 1.4 $ $Date: 2005/05/25 17:13:00 $
Author:
andrew.petro@yale.edu, Eric Dalquist edalquist@unicon.net

Method Summary
 java.util.Set getPossibleUserAttributeNames()
          Gets a Set of attribute names that may be returned by the getUserAttributes(Map).
 java.util.Map getUserAttributes(java.util.Map seed)
          Obtains a mutable Map from attribute names to values for the given query seed which is an immutable Map.
 java.util.Map getUserAttributes(java.lang.String uid)
          This method uses a single attribute to get a Map of user attributes.
 

Method Detail

getUserAttributes

java.util.Map getUserAttributes(java.util.Map seed)
Obtains a mutable Map from attribute names to values for the given query seed which is an immutable Map. The values may be mutable objects but it is recommended that they be immutable.
For the returned Map; Keys must be String, Values can be any Object, they are typically Strings.
Values may also be multi-valued, in this case they are of type List and the list contents are the values of the attribute.
This method returns according to the following rules:

Unless otherwise specified by an implementation the returned Map will not be a union of the seed and query results. If your are given a Map that includes the attribute "phone" and value "555-1212" and the returned Map contains the attribute "phone" with the value "555-1212", this means that your implementation also believes that the "phone" attribute should have this value.

Parameters:
seed - immutable Map of attributes to values to seed the query
Returns:
Map from attribute names to values
Throws:
java.lang.IllegalArgumentException - If seed is null.

getUserAttributes

java.util.Map getUserAttributes(java.lang.String uid)
This method uses a single attribute to get a Map of user attributes.
This methods follows the same return rules as getUserAttributes(Map)

Parameters:
uid - The string to use as the value in the seed
Returns:
Map from attribute names to values
See Also:
getUserAttributes(Map)

getPossibleUserAttributeNames

java.util.Set getPossibleUserAttributeNames()
Gets a Set of attribute names that may be returned by the getUserAttributes(Map). The names returned represent all possible names getUserAttributes(Map) could return. If the dao doesn't have a way to know all possible attribute names this method should return null.
Returns an immutable Set.

Returns:
A {link Set} of possible attribute names for user queries.