Class SubjectImpl
- java.lang.Object
-
- com.sun.identity.xacml.context.impl.SubjectImpl
-
- All Implemented Interfaces:
XmlSerializable,Subject
@SupportedAll public class SubjectImpl extends Object implements Subject
TheSubjectelement specifies information about a subject of theRequestcontext by listing a sequence ofAttributeelements 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>
-
-
Constructor Summary
Constructors Constructor Description SubjectImpl()Default constructorSubjectImpl(String xml)This constructor is used to buildSubjectobject from a XML string.SubjectImpl(Element element)This constructor is used to buildSubjectobject from a block of existing XML that has already been built into a DOM.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ListgetAttributes()Returns zero to manyAttributeelements of this object If no attributes and present, emptyListwill be returned.URIgetSubjectCategory()Returns theSubjectCategoryof this object.booleanisMutable()Checks if the object is mutablevoidmakeImmutable()Makes the object immutablevoidsetAttributes(List attributes)Sets theAttributeelements of this objectvoidsetSubjectCategory(URI subjectCategory)Sets theSubjectCategoryof this objectDocumentFragmenttoDocumentFragment(Document document, boolean includeNSPrefix, boolean declareNS)Serializes the element into an XMLDocumentFragment.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.sun.identity.xacml.context.Subject
toXMLString, toXMLString
-
-
-
-
Constructor Detail
-
SubjectImpl
public SubjectImpl()
Default constructor
-
SubjectImpl
public SubjectImpl(String xml) throws XACMLException
This constructor is used to buildSubjectobject from a XML string.- Parameters:
xml- Ajava.lang.Stringrepresenting aSubjectobject- Throws:
XACMLException- if it could not process the XML string
-
SubjectImpl
public SubjectImpl(Element element) throws XACMLException
This constructor is used to buildSubjectobject from a block of existing XML that has already been built into a DOM.- Parameters:
element- Aorg.w3c.dom.Elementrepresenting DOM tree forSubjectobject- Throws:
XACMLException- if it could not process the Element
-
-
Method Detail
-
getAttributes
public List getAttributes()
Returns zero to manyAttributeelements of this object If no attributes and present, emptyListwill be returned. Typically aSubjectelement will contain anAttributewith anAttributeIdof "urn:oasis:names:tc:xacml:1.0:subject:subject-id", containing the identity of theSubject- Specified by:
getAttributesin interfaceSubject- Returns:
- the
Attributeelements of this object
-
setAttributes
public void setAttributes(List attributes) throws XACMLException
Sets theAttributeelements of this object- Specified by:
setAttributesin interfaceSubject- Parameters:
attributes-Attributeelements of this object attributes could be an emptyList, if no attributes are present.- Throws:
XACMLException- if the object is immutable An object is consideredimmutableifmakeImmutable()has been invoked on it. It can be determined by callingisMutableon the object.
-
getSubjectCategory
public URI getSubjectCategory()
Returns theSubjectCategoryof this object. This is optional so could be null if not defined. This attribute indicates the role that the parentSubjectplayed in the formation of the access request. If this attribute is not present in theSubjectelement, then the default value of urn:oasis:names:tc:xacml:1.0:subject-category:access-subject SHALL be used, indicating that theSubjectrepresents the entity ultimately responsible for initiating the access request.- Specified by:
getSubjectCategoryin interfaceSubject- Returns:
URIrepresenting theSubjectCategoryof this object.
-
setSubjectCategory
public void setSubjectCategory(URI subjectCategory) throws XACMLException
Sets theSubjectCategoryof this object- Specified by:
setSubjectCategoryin interfaceSubject- Parameters:
subjectCategory-URI- Throws:
XACMLException- if the object is immutable An object is consideredimmutableifmakeImmutable()has been invoked on it. It can be determined by callingisMutableon the object.
-
toDocumentFragment
public DocumentFragment toDocumentFragment(Document document, boolean includeNSPrefix, boolean declareNS) throws SAML2Exception
Description copied from interface:XmlSerializableSerializes the element into an XMLDocumentFragment. A default implementation is provided for compatibility with legacy code that implementsXmlSerializable.toXMLString(), but it is highly recommended to override this method.- Specified by:
toDocumentFragmentin interfaceXmlSerializable- Parameters:
document- the parentDocumentto create the document fragment from.includeNSPrefix- whether to include a namespace prefix in the document elements.declareNS- whether to declare any namespaces or assume that they are already declared.- Returns:
- the XML document fragment representing this SAML2 element.
- Throws:
SAML2Exception- if the element cannot be serialized for any reason.
-
makeImmutable
public void makeImmutable()
Makes the object immutable- Specified by:
makeImmutablein interfaceSubject
-
-