com.sun.identity.policy.interfaces
Interface ResponseProvider


public interface ResponseProvider

The class ResponseProvider defines an interface to allow pluggable response providers into the OpenSSO framework. These are used to provide policy response attributes. Policy response attributes are different from ActionDecision. Policy response attributes typically provide attribute values of user profile. User profile could exist in any data store managed by Identity repository. However, reponse attributes are not restricted to attributes from user profile. Source of the attribute values is completely at the discretion of the specific implementation of the ResponseProvider.

The response provider is initialized by calling its initialize() method. Its also configured by setting its properites by a call to setProperties() method.

Response attribute names are not checked against schema of the service registered with OpenSSO. (ActionDecision attributes are checked against the schema of the service registered with OpenSSO). A Response Provider computes a Map of response attributes and their values based on the SSOToken, resource name and environment Map passed in the method call getResponseDecision(). Policy framework would make a call getResponseDecision from the ResponseProvider(s) associated with a policy only if the policy is applicable to a request as determined by SSOToken, resource name, Subjects and Conditions.

The only out-of-the-box ResponseProvider implementation provided with the Policy framework would be IDRepoResponseProvider. All ResponseProvider implementations should have a public no argument constructor.


Method Summary
 Object clone()
          Returns a copy of this object.
 String getDisplayName(String property, Locale locale)
          Gets the display name for the property name.
 Map getProperties()
          Gets the properties of the response provider.
 List getPropertyNames()
          Returns a list of property names for the Response provider.
 Syntax getPropertySyntax(String property)
          Returns the syntax for a property name
 Map getResponseDecision(SSOToken token, Map env)
          Gets the response attributes computed by this ResponseProvider object, based on the SSOToken and Map of environment parameters.
 Set getValidValues(String property)
          Returns a set of valid values given the property name.
 void initialize(Map configParams)
          Initialize the ResponseProvider
 void setProperties(Map properties)
          Sets the properties of the responseProvider plugin.
 

Method Detail

initialize

void initialize(Map configParams)
                throws PolicyException
Initialize the ResponseProvider

Parameters:
configParams - Map of the configurational information
Throws:
PolicyException - if an error occured during initialization of the instance

getPropertyNames

List getPropertyNames()
Returns a list of property names for the Response provider.

Returns:
list of property names

getPropertySyntax

Syntax getPropertySyntax(String property)
Returns the syntax for a property name

Parameters:
property - property name
Returns:
Syntax for the property name
See Also:
Syntax

getDisplayName

String getDisplayName(String property,
                      Locale locale)
                      throws PolicyException
Gets the display name for the property name. The locale variable could be used by the plugin to customize the display name for the given locale. The locale variable could be null, in which case the plugin must use the default locale.

Parameters:
property - property name
locale - locale for which the property name must be customized
Returns:
display name for the property name.
Throws:
PolicyException

getValidValues

Set getValidValues(String property)
                   throws PolicyException
Returns a set of valid values given the property name. This method is called if the property Syntax is either the SINGLE_CHOICE or MULTIPLE_CHOICE.

Parameters:
property - String representing property name
Returns:
Set of valid values for the property.
Throws:
PolicyException - if unable to get the Syntax.

setProperties

void setProperties(Map properties)
                   throws PolicyException
Sets the properties of the responseProvider plugin. This influences the response attribute-value Map that would be computed by a call to method getResponseDecision(Map) These attribute-value pairs are encapsulated in ResponseAttribute element tag which is a child of the PolicyDecision element in the PolicyResponse xml if the policy is applicable to the user for the resource, subject and conditions defined.

Parameters:
properties - the properties of the ResponseProvider Keys of the properties have to be String. Value corresponding to each key have to be a Set of String elements. Each implementation of ResponseProvider could add further restrictions on the keys and values of this map.
Throws:
PolicyException - for any abnormal condition

getProperties

Map getProperties()
Gets the properties of the response provider.

Returns:
properties of the response provider.
See Also:
ResponseProvider.setProperties(java.util.Map)

getResponseDecision

Map getResponseDecision(SSOToken token,
                        Map env)
                        throws PolicyException,
                               SSOException
Gets the response attributes computed by this ResponseProvider object, based on the SSOToken and Map of environment parameters.

Parameters:
token - single-sign-on token of the user
env - request specific environment map of key/value pairs
Returns:
a Map of response attributes. Keys of the Map are attribute names of type static and dynamic. Value is a Set of response attribute values (String).
Throws:
PolicyException - if the decision could not be computed
SSOException - token is not valid

clone

Object clone()
Returns a copy of this object.

Returns:
an Object which is a copy of this object