org.jasig.services.persondir
Interface IPersonAttributeDao

All Known Implementing Classes:
AbstractAggregatingDefaultQueryPersonAttributeDao, AbstractDefaultAttributePersonAttributeDao, AbstractFlatteningPersonAttributeDao, AbstractJdbcPersonAttributeDao, AbstractQueryPersonAttributeDao, CachingPersonAttributeDaoImpl, CascadingPersonAttributeDao, ComplexStubPersonAttributeDao, DeclaredRulePersonAttributeDao, EchoPersonAttributeDaoImpl, LdapPersonAttributeDao, MergingPersonAttributeDaoImpl, MultiRowJdbcPersonAttributeDao, RegexGatewayPersonAttributeDao, SingleRowJdbcPersonAttributeDao, StubPersonAttributeDao

public interface IPersonAttributeDao

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

Version:
$Revision: 43109 $ $Date: 2008-02-14 15:42:40 -0600 (Thu, 14 Feb 2008) $
Author:
andrew.petro@yale.edu, Eric Dalquist

Method Summary
 Map<String,List<Object>> getMultivaluedUserAttributes(Map<String,List<Object>> seed)
          Obtains a mutable Map from attribute names to values for the given query seed which is an immutable Map.
 Map<String,List<Object>> getMultivaluedUserAttributes(String uid)
          This method uses a single attribute to get a Map of user attributes.
 Set<String> getPossibleUserAttributeNames()
          Gets a Set of attribute names that may be returned by the getUserAttributes(Map).
 Map<String,Object> getUserAttributes(Map<String,Object> seed)
          This method returns single-valued user attributes.
 Map<String,Object> getUserAttributes(String uid)
          This method returns single-valued user attributes.
 

Method Detail

getMultivaluedUserAttributes

Map<String,List<Object>> getMultivaluedUserAttributes(Map<String,List<Object>> 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.
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:
IllegalArgumentException - If seed is null.

getMultivaluedUserAttributes

Map<String,List<Object>> getMultivaluedUserAttributes(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)

getUserAttributes

Map<String,Object> getUserAttributes(Map<String,Object> seed)
This method returns single-valued user attributes. This method has the same behavior as getMultivaluedUserAttributes(Map) other than the single-valued return Map

See Also:
getMultivaluedUserAttributes(Map)

getUserAttributes

Map<String,Object> getUserAttributes(String uid)
This method returns single-valued user attributes. This method has the same behavior as getMultivaluedUserAttributes(String) other than the single-valued return Map

See Also:
getMultivaluedUserAttributes(String)

getPossibleUserAttributeNames

Set<String> 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 Set of possible attribute names for user queries.


Copyright 1998-2008 Java Architectures Special Interest Group. All Rights Reserved.