com.sun.identity.policy
Class Rule

java.lang.Object
  extended by com.sun.identity.policy.Rule

public class Rule
extends Object

The class Rule provides interfaces to manage a rule that can be added to a policy. A rule constains the rule name, service type, a resource and a map containing action names and action values.


Constructor Summary
Rule(String serviceName, Map actions)
          Constructor to create a rule object with the service name and actions.
Rule(String serviceName, String resourceName, Map actions)
          Constructor to create a rule object with the service name, resource name and actions.
Rule(String ruleName, String serviceName, String resourceName, Map actions)
          Constructor to create a rule object with rule name, service name, resource name and actions.
 
Method Summary
 Set getActionNames()
          Returns the action names that have been set for the rule.
 Map getActionValues()
          Returns a Map of all action names and their corresponding action values that have been set in the rule.
 Set getActionValues(String actionName)
          Returns a set of action values that have been set for the specified action name.
 String getName()
          Returns the name assigned to the rule.
 String getResourceName()
          Returns the resource name for which the rule has been created.
 String getServiceTypeName()
          Returns the service name for which the rule has been created.
 void setActionValues(Map actionValues)
          Sets the action names and their corresponding actions values (or permissions) for the resource or the service.
 void setName(String ruleName)
          Sets the name for the rule.
 String toXML()
          Returns an XML string representing the rule.
 

Constructor Detail

Rule

public Rule(String serviceName,
            String resourceName,
            Map actions)
     throws NameNotFoundException,
            InvalidNameException
Constructor to create a rule object with the service name, resource name and actions. The actions provided as a Map must have the action name as key and a Set of Strings as its value. The action names and action values must conform to the schema specified for the service. Otherwise, InvalidNameException is thrown. The parameters ruleName and resourceName can be null.

Parameters:
serviceName - name of the service type as defined by the service schema
resourceName - name of the resource for the service type
actions - map of action and action values for the resource
Throws:
NameNotFoundException - the service name provided does not exist
InvalidNameException - the resource name, action name, or values is not valid

Rule

public Rule(String serviceName,
            Map actions)
     throws NameNotFoundException,
            InvalidNameException
Constructor to create a rule object with the service name and actions. This is useful for services (and possibly action names) that do not have resource names. The actions provided as a Map must have the action name as it key and a Set of Strings as its value. The action names and action values must conform to the schema specified for the service. Otherwise, InvalidNameException is thrown. The parameters ruleName and resourceName can be null.

Parameters:
serviceName - name of the service type as defined by the service schema
actions - map of action and action values for the resource
Throws:
NameNotFoundException - the service name provided does not exist
InvalidNameException - the resource name, action name, or values is not valid

Rule

public Rule(String ruleName,
            String serviceName,
            String resourceName,
            Map actions)
     throws NameNotFoundException,
            InvalidNameException
Constructor to create a rule object with rule name, service name, resource name and actions. The actions provided as a Map must have the action name as it key and a Set of Strings as its value. The action names and action values must conform to the service schema. Otherwise, InvalidNameException is thrown. The parameters ruleName and resourceName can be null.

Parameters:
ruleName - name of the rule
serviceName - name of the service type as defined by the service schema
resourceName - name of the resource for the service type
actions - map of action and action values for the resource
Throws:
NameNotFoundException - the service name provided does not exist
InvalidNameException - the resource name, action name, or values is not valid
Method Detail

getName

public String getName()
Returns the name assigned to the rule. It could be null if it was not constructed with a name.

Returns:
rule name

setName

public void setName(String ruleName)
             throws InvalidNameException
Sets the name for the rule. If a name has already been assigned, it will be replaced with the given name.

Parameters:
ruleName - rule name.
Throws:
InvalidNameException - if rule name is invalid.

getServiceTypeName

public String getServiceTypeName()
Returns the service name for which the rule has been created. The service name of the rule cannot be changed once the rule is created.

Returns:
service name

getResourceName

public String getResourceName()
Returns the resource name for which the rule has been created. If the service does not support resource names, the method will return null. The resource name of the rule cannot be changed once the rule is created.

Returns:
resource name

getActionNames

public Set getActionNames()
Returns the action names that have been set for the rule. The action names returned could be the same as the service's action names or a subset of it.

Returns:
action names defined in this rule for the service

getActionValues

public Set getActionValues(String actionName)
                    throws NameNotFoundException
Returns a set of action values that have been set for the specified action name.

Parameters:
actionName - action name for which to compute values.
Returns:
action names defined in this rule for the service
Throws:
NameNotFoundException - if actions name is not found in the rule

getActionValues

public Map getActionValues()
Returns a Map of all action names and their corresponding action values that have been set in the rule. The "key" of the Map will be the action name as a string, and its "value" will be a Set which contains the action values as strings.

Returns:
all action names and corresponding action values

setActionValues

public void setActionValues(Map actionValues)
                     throws InvalidNameException
Sets the action names and their corresponding actions values (or permissions) for the resource or the service.

Parameters:
actionValues - action names and their corresponding values
Throws:
InvalidNameException - if action name is invalid.

toXML

public String toXML()
Returns an XML string representing the rule.

Returns:
an XML string representing the rule.