org.keycloak.saml.processing.core.parsers.saml.assertion

## Class SAMLAttributeStatementParser

- java.lang.Object
- - org.keycloak.saml.common.parsers.AbstractStaxParser<T,SAMLAssertionQNames>
  - - org.keycloak.saml.processing.core.parsers.saml.assertion.AbstractStaxSamlAssertionParser<AttributeStatementType>
    - - org.keycloak.saml.processing.core.parsers.saml.assertion.SAMLAttributeStatementParser

- All Implemented Interfaces:
    StaxParser

      public class SAMLAttributeStatementParser
      extends AbstractStaxSamlAssertionParser<AttributeStatementType>

  Parse the in the saml assertion
  Since:
    Oct 14, 2010

- - ### Field Summary

    - ### Fields inherited from class org.keycloak.saml.processing.core.parsers.saml.assertion.AbstractStaxSamlAssertionParser

      `LOOKUP`

    - ### Fields inherited from class org.keycloak.saml.common.parsers.AbstractStaxParser

      `expectedStartElement, LOGGER`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static SAMLAttributeStatementParser` | `getInstance()`
    `protected AttributeStatementType` | `instantiateElement(XMLEventReader xmlEventReader, StartElement element)` Instantiates the target Java class representing the current element. Precondition: Current event is the `StartElement` Postcondition: Current event is the `StartElement` or the `EndElement` corresponding to the `StartElement`
    `protected void` | `processSubElement(XMLEventReader xmlEventReader, AttributeStatementType target, SAMLAssertionQNames element, StartElement elementDetail)` Processes the subelement of the element processed in `AbstractStaxParser.instantiateElement(javax.xml.stream.XMLEventReader, javax.xml.stream.events.StartElement)` method. Precondition: Current event: Last before the `StartElement` corresponding to the processed subelement, i.e.

    - ### Methods inherited from class org.keycloak.saml.processing.core.parsers.saml.assertion.AbstractStaxSamlAssertionParser

      `getElementFromName`

    - ### Methods inherited from class org.keycloak.saml.common.parsers.AbstractStaxParser

      `isUnknownElement, parse, validateStartElement`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### getInstance

          public static SAMLAttributeStatementParser getInstance()

    - #### instantiateElement

          protected AttributeStatementType instantiateElement(XMLEventReader xmlEventReader,
                                                              StartElement element)
                                                       throws ParsingException

      Description copied from class: `AbstractStaxParser`
      Instantiates the target Java class representing the current element.
      Precondition: Current event is the `StartElement`
      Postcondition: Current event is the `StartElement` or the `EndElement` corresponding to the `StartElement`
      Specified by:
        `instantiateElement` in class `AbstractStaxParser<AttributeStatementType,SAMLAssertionQNames>`
        `element` - The XML event that was just read from the `xmlEventReader`
      Returns:
      Throws:
        `ParsingException`

    - #### processSubElement

          protected void processSubElement(XMLEventReader xmlEventReader,
                                           AttributeStatementType target,
                                           SAMLAssertionQNames element,
                                           StartElement elementDetail)
                                    throws ParsingException

      Description copied from class: `AbstractStaxParser`
      Processes the subelement of the element processed in `AbstractStaxParser.instantiateElement(javax.xml.stream.XMLEventReader, javax.xml.stream.events.StartElement)` method.
      Precondition: Current event: Last before the `StartElement` corresponding to the processed subelement, i.e. event obtained by `Iterator.next()` is the `StartElement` of the subelement being processed
      Postcondition: Event obtained by `Iterator.next()` is either the same `StartElement` (i.e. no change in position which causes this subelement to be skipped), the corresponding `EndElement`, or the event after the corresponding `EndElement`.

      Note that in case of recursive nesting the same element, the corresponding end element MUST be consumed in this method.

      Specified by:
        `processSubElement` in class `AbstractStaxParser<AttributeStatementType,SAMLAssertionQNames>`
        `target` - Target object (the one created by the `AbstractStaxParser.instantiateElement(javax.xml.stream.XMLEventReader, javax.xml.stream.events.StartElement)` method.
        `element` - The constant corresponding to the current start element.
        `elementDetail` - The XML event that was just read from the `xmlEventReader`
      Throws:
        `ParsingException`

Copyright © 2021 JBoss by Red Hat. All rights reserved.