com.sun.identity.xacml.context
Interface Subject

All Known Implementing Classes:
SubjectImpl

public interface Subject

The Subject element specifies information about a subject of the Request context by listing a sequence of Attribute elements associated with the subject. A subject is an entity associated with the access request.

 <xs:complexType name="SubjectType">
  <xs:sequence>
   <xs:element ref="xacml-context:Attribute" minOccurs="0"
      maxOccurs="unbounded"/>
 <xs:sequence>
 <xs:attribute name="SubjectCategory" type="xs:anyURI" 
  default="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"/>
 <xs:complexType>
 


Method Summary
 List getAttributes()
          Returns zero to many Attribute elements of this object If no attributes and present, empty List will be returned.
 URI getSubjectCategory()
          Returns the SubjectCategory of this object.
 boolean isMutable()
          Checks if the object is mutable
 void makeImmutable()
          Makes the object immutable
 void setAttributes(List attributes)
          Sets the Attribute elements of this object
 void setSubjectCategory(URI subjectCategory)
          Sets the SubjectCategory of this object
 String toXMLString()
          Returns a string representation of this object
 String toXMLString(boolean includeNSPrefix, boolean declareNS)
          Returns a String representation of this object
 

Method Detail

getAttributes

List getAttributes()
Returns zero to many Attribute elements of this object If no attributes and present, empty List will be returned. Typically a Subject element will contain an Attribute with an AttributeId of "urn:oasis:names:tc:xacml:1.0:subject:subject-id", containing the identity of the Subject

Returns:
the Attribute elements of this object

setAttributes

void setAttributes(List attributes)
                   throws XACMLException
Sets the Attribute elements of this object

Parameters:
attributes - Attribute elements of this object attributes could be an empty List, if no attributes are present.
Throws:
XACMLException - if the object is immutable An object is considered immutable if makeImmutable() has been invoked on it. It can be determined by calling isMutable on the object.

getSubjectCategory

URI getSubjectCategory()
Returns the SubjectCategory of this object. This is optional so could be null if not defined. This attribute indicates the role that the parent Subject played in the formation of the access request. If this attribute is not present in the Subject element, then the default value of urn:oasis:names:tc:xacml:1.0:subject-category:access-subject SHALL be used, indicating that the Subject represents the entity ultimately responsible for initiating the access request.

Returns:
URI representing the SubjectCategory of this object.

setSubjectCategory

void setSubjectCategory(URI subjectCategory)
                        throws XACMLException
Sets the SubjectCategory of this object

Parameters:
subjectCategory - URI
Throws:
XACMLException - if the object is immutable An object is considered immutable if makeImmutable() has been invoked on it. It can be determined by calling isMutable on the object.

toXMLString

String toXMLString(boolean includeNSPrefix,
                   boolean declareNS)
                   throws XACMLException
Returns a String representation of this object

Parameters:
includeNSPrefix - Determines whether or not the namespace qualifier is prepended to the Element when converted
declareNS - Determines whether or not the namespace is declared within the Element.
Returns:
a string representation of this object
Throws:
XACMLException - if conversion fails for any reason

toXMLString

String toXMLString()
                   throws XACMLException
Returns a string representation of this object

Returns:
a string representation of this object
Throws:
XACMLException - if conversion fails for any reason

makeImmutable

void makeImmutable()
Makes the object immutable


isMutable

boolean isMutable()
Checks if the object is mutable

Returns:
true if the object is mutable, false otherwise