Interface Subject

  • All Superinterfaces:
    XmlSerializable
    All Known Implementing Classes:
    SubjectImpl

    @SupportedAll
    public interface Subject
    extends XmlSerializable
    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 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

        default String toXMLString​(boolean includeNSPrefix,
                                   boolean declareNS)
                            throws XACMLException
        Returns a String representation of this object
        Specified by:
        toXMLString in interface XmlSerializable
        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
      • 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