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
TheSubject
element specifies information about a subject of theRequest
context by listing a sequence ofAttribute
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>
-
-
Constructor Summary
Constructors Constructor Description SubjectImpl()
Default constructorSubjectImpl(String xml)
This constructor is used to buildSubject
object from a XML string.SubjectImpl(Element element)
This constructor is used to buildSubject
object 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 List
getAttributes()
Returns zero to manyAttribute
elements of this object If no attributes and present, emptyList
will be returned.URI
getSubjectCategory()
Returns theSubjectCategory
of this object.boolean
isMutable()
Checks if the object is mutablevoid
makeImmutable()
Makes the object immutablevoid
setAttributes(List attributes)
Sets theAttribute
elements of this objectvoid
setSubjectCategory(URI subjectCategory)
Sets theSubjectCategory
of this objectDocumentFragment
toDocumentFragment(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 buildSubject
object from a XML string.- Parameters:
xml
- Ajava.lang.String
representing aSubject
object- Throws:
XACMLException
- if it could not process the XML string
-
SubjectImpl
public SubjectImpl(Element element) throws XACMLException
This constructor is used to buildSubject
object from a block of existing XML that has already been built into a DOM.- Parameters:
element
- Aorg.w3c.dom.Element
representing DOM tree forSubject
object- Throws:
XACMLException
- if it could not process the Element
-
-
Method Detail
-
getAttributes
public List getAttributes()
Returns zero to manyAttribute
elements of this object If no attributes and present, emptyList
will be returned. Typically aSubject
element will contain anAttribute
with anAttributeId
of "urn:oasis:names:tc:xacml:1.0:subject:subject-id", containing the identity of theSubject
- Specified by:
getAttributes
in interfaceSubject
- Returns:
- the
Attribute
elements of this object
-
setAttributes
public void setAttributes(List attributes) throws XACMLException
Sets theAttribute
elements of this object- Specified by:
setAttributes
in interfaceSubject
- Parameters:
attributes
-Attribute
elements of this object attributes could be an emptyList
, if no attributes are present.- Throws:
XACMLException
- if the object is immutable An object is consideredimmutable
ifmakeImmutable()
has been invoked on it. It can be determined by callingisMutable
on the object.
-
getSubjectCategory
public URI getSubjectCategory()
Returns theSubjectCategory
of this object. This is optional so could be null if not defined. This attribute indicates the role that the parentSubject
played in the formation of the access request. If this attribute is not present in theSubject
element, then the default value of urn:oasis:names:tc:xacml:1.0:subject-category:access-subject SHALL be used, indicating that theSubject
represents the entity ultimately responsible for initiating the access request.- Specified by:
getSubjectCategory
in interfaceSubject
- Returns:
URI
representing theSubjectCategory
of this object.
-
setSubjectCategory
public void setSubjectCategory(URI subjectCategory) throws XACMLException
Sets theSubjectCategory
of this object- Specified by:
setSubjectCategory
in interfaceSubject
- Parameters:
subjectCategory
-URI
- Throws:
XACMLException
- if the object is immutable An object is consideredimmutable
ifmakeImmutable()
has been invoked on it. It can be determined by callingisMutable
on the object.
-
toDocumentFragment
public DocumentFragment toDocumentFragment(Document document, boolean includeNSPrefix, boolean declareNS) throws SAML2Exception
Description copied from interface:XmlSerializable
Serializes 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:
toDocumentFragment
in interfaceXmlSerializable
- Parameters:
document
- the parentDocument
to 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:
makeImmutable
in interfaceSubject
-
-