com.sun.identity.policy.interfaces
Interface Subject

All Superinterfaces:
java.lang.Cloneable

public interface Subject
extends java.lang.Cloneable

The class Subject defines a collection of users (or subject) to whom the specified policy is applied. A complete implementation of this interface can have complex boolean operations to determine if the given user identified by the SSOToken belongs to this collection.

The interfaces are separated into administrative interfaces and evaluation interfaces. The administrative interfaces will be used by web interface/command line interface component to create a Subject object and the evaluation interfaces will be used by the policy evaluator.


Method Summary
 java.lang.Object clone()
          Creates and returns a copy of this object.
 boolean equals(java.lang.Object o)
          Indicates whether some other object is "equal to" this one.
 java.lang.String getDisplayNameForValue(java.lang.String value, java.util.Locale locale)
          Returns the display name for the value for the given locale.
 ValidValues getValidValues(SSOToken token)
          Returns a list of possible values for the Subject .
 ValidValues getValidValues(SSOToken token, java.lang.String pattern)
          Returns a list of possible values for the Subject that satisfy the given pattern.
 java.util.Set getValues()
          Returns the values that was set using the method setValues.
 Syntax getValueSyntax(SSOToken token)
          Returns the syntax of the values the Subject implementation can have.
 int hashCode()
          Return a hash code for this Subject.
 void initialize(java.util.Map configParams)
          Initialize (or configure) the Subject object.
 boolean isMember(SSOToken token)
          Determines if the user belongs to this instance of the Subject object.
 void setValues(java.util.Set names)
          Sets the names for the instance of the Subject object.
 

Method Detail

getValueSyntax

public Syntax getValueSyntax(SSOToken token)
                      throws SSOException,
                             PolicyException
Returns the syntax of the values the Subject implementation can have.

Parameters:
token - the SSOToken that will be used to determine the syntax
Returns:
set of of valid names for the user collection.
Throws:
SSOException - if SSO token is not valid
PolicyException - if unable to get the list of valid names.
See Also:
Syntax

getValidValues

public ValidValues getValidValues(SSOToken token)
                           throws SSOException,
                                  PolicyException
Returns a list of possible values for the Subject . The implementation must use the SSOToken token provided to determine the possible values. For example, in a Role implementation this method will return all the roles defined in the organization.

Parameters:
token - the SSOToken that will be used to determine the possible values
Returns:
ValidValues object
Throws:
SSOException - if SSO token is not valid
PolicyException - if unable to get the list of valid names.

getValidValues

public ValidValues getValidValues(SSOToken token,
                                  java.lang.String pattern)
                           throws SSOException,
                                  PolicyException
Returns a list of possible values for the Subject that satisfy the given pattern. The implementation must use the SSOToken token provided to determine the possible values. For example, in a Role implementation with the search filter *admin this method will return all the roles defined in the organization that end with admin

Parameters:
token - the SSOToken that will be used to determine the possible values
pattern - search pattern that will be used to narrow the list of valid names.
Returns:
ValidValues object
Throws:
SSOException - if SSO token is not valid
PolicyException - if unable to get the list of valid names.

getDisplayNameForValue

public java.lang.String getDisplayNameForValue(java.lang.String value,
                                               java.util.Locale locale)
                                        throws NameNotFoundException
Returns the display name for the value for the given locale. For all the valid values obtained through the methods getValidValues this method must be called by web and command line interface to get the corresponding display 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 (most probably en_US). This method returns only the display name and should not be used for the method setValues. Alternatively, if the plugin does not have to localize the value, it can just return the value as is.

Parameters:
value - one of the valid value for the plugin
locale - locale for which the display name must be customized
Returns:
the display name for the value for the given locale.
Throws:
NameNotFoundException - if the given value is not one of the valid values for the plugin

getValues

public java.util.Set getValues()
Returns the values that was set using the method setValues.

Returns:
values that have been set for the user collection

initialize

public void initialize(java.util.Map configParams)
                throws PolicyException
Initialize (or configure) the Subject object. Usually it will be initialized with the environment parameters set by the system administrator via SMS. For example in a Role implementation, the configuration parameters could specify the directory server name, port, etc.

Parameters:
configParams - configuration parameters as a map. The values in the map is java.util.Set, which contains one or more configuration parameters.
Throws:
PolicyException - if an error occurred during initialization of Subject instance

setValues

public void setValues(java.util.Set names)
               throws InvalidNameException
Sets the names for the instance of the Subject object. The names are obtained from the policy object, usually configured when a policy is created. For example in a Role implementation, this would be name of the role.

Parameters:
names - names selected for the instance of the user collection object.
Throws:
InvalidNameException - if the given names are not valid

isMember

public boolean isMember(SSOToken token)
                 throws SSOException,
                        PolicyException
Determines if the user belongs to this instance of the Subject object. For example, a Role implementation would return true if the user belongs the specified role; false otherwise.

Parameters:
token - single-sign-on token of the user
Returns:
true if the user is member of the given subject; false otherwise.
Throws:
SSOException - if SSO token is not valid
PolicyException - if an error occurred while checking if the user is a member of this subject

hashCode

public int hashCode()
Return a hash code for this Subject.

Returns:
a hash code for this Subject.

equals

public boolean equals(java.lang.Object o)
Indicates whether some other object is "equal to" this one.

Parameters:
o - another object that will be compared with this one
Returns:
true if equal.

clone

public java.lang.Object clone()
Creates and returns a copy of this object.

Returns:
a copy of this object


Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.