issrg.pba.rbac.xmlpolicy
Class XMLPolicyParser.TargetAccessPolicyNode

java.lang.Object
  extended by issrg.pba.rbac.xmlpolicy.PolicyXMLNode
      extended by issrg.pba.rbac.xmlpolicy.XMLPolicyParser.TargetAccessPolicyNode
Enclosing class:
XMLPolicyParser

public class XMLPolicyParser.TargetAccessPolicyNode
extends PolicyXMLNode

This class represents the TargetAccessPolicy XML node. It indexes all the target access rules by action name.


Field Summary
static char ACTIONS_SEPARATORS
          This is the string of character separators between actions in the action list
static int IF_SEQUENCE
           
static int OBLIGATIONS_SEQUENCE
           
static int OBLIGATIONS_SHIFT
           
static int ROLE_LIST_SEQUENCE
           
static int TARGET_LIST_SEQUENCE
           
 
Fields inherited from class issrg.pba.rbac.xmlpolicy.PolicyXMLNode
attributes, children, name, nodeStr
 
Constructor Summary
XMLPolicyParser.TargetAccessPolicyNode(org.xml.sax.Attributes attrs)
          This constructor builds a TargetAccessPolicyNode given the attributes of the XML element.
 
Method Summary
 void construct()
          This method checks that the TargetAccesses contained in this policy are semantically correct and indexes them by the action name.
 java.util.Set getAllNeededAttributes()
          This method returns the Set of environment nodes, which represent all of the environmental (coordination) attributes in the current target access policy.
 java.util.Map getRules()
          This method returns a Map of TargetAccess rules, indexed by action name.
 
Methods inherited from class issrg.pba.rbac.xmlpolicy.PolicyXMLNode
addChild, addString, getAttributes, getChildren, getName, getString, toString, toXML, toXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ROLE_LIST_SEQUENCE

public static final int ROLE_LIST_SEQUENCE
See Also:
Constant Field Values

TARGET_LIST_SEQUENCE

public static final int TARGET_LIST_SEQUENCE
See Also:
Constant Field Values

IF_SEQUENCE

public static final int IF_SEQUENCE
See Also:
Constant Field Values

OBLIGATIONS_SEQUENCE

public static final int OBLIGATIONS_SEQUENCE
See Also:
Constant Field Values

OBLIGATIONS_SHIFT

public static final int OBLIGATIONS_SHIFT
See Also:
Constant Field Values

ACTIONS_SEPARATORS

public static final char ACTIONS_SEPARATORS
This is the string of character separators between actions in the action list

See Also:
Constant Field Values
Constructor Detail

XMLPolicyParser.TargetAccessPolicyNode

public XMLPolicyParser.TargetAccessPolicyNode(org.xml.sax.Attributes attrs)
This constructor builds a TargetAccessPolicyNode given the attributes of the XML element. It also sets the targetAccessPolicy of XMLPolicyParser, so that it can be used later by other policies. The validityForRoleList is set to NowValidityPeriod, so that all role lists in any TargetAccess will construct Credentials that will be valid at the time of decision making only.

Parameters:
attrs - - the attributes of the XML element
Method Detail

getAllNeededAttributes

public java.util.Set getAllNeededAttributes()
This method returns the Set of environment nodes, which represent all of the environmental (coordination) attributes in the current target access policy. These attributes include all the coordination attributes, which need to be retrieved from a coordination database.

Returns:
Set of NamedTerms

construct

public void construct()
               throws PolicyParsingException
This method checks that the TargetAccesses contained in this policy are semantically correct and indexes them by the action name. If no action name has been specified, it means that any action is allowed, and a special list of TargetAccesses is maintained for that.

Overrides:
construct in class PolicyXMLNode
Throws:
PolicyParsingException - if any syntax or semantics error occurred

getRules

public java.util.Map getRules()
This method returns a Map of TargetAccess rules, indexed by action name. There is a special key, "", which contains a list of TargetAccesses allowing any action to be performed on their corresponding targets.

There are two more rules with keys ActionPolicyNode.class and DomainPolicyNode.class, with the values of corresponding types. The ActionPolicyNode in this map defines all the actions declared in this policy. The DomainPolicyNode in this map defines all the Target Domains declared in this policy, and can tell the overall target coverage domain.