Class SafePolicyReader


  • public class SafePolicyReader
    extends Object
    Provides methods to unmarshal policies from a XMLStreamReader safely
    Author:
    Fabian Ritzmann
    • Constructor Detail

      • SafePolicyReader

        public SafePolicyReader()
    • Method Detail

      • readPolicyElement

        public SafePolicyReader.PolicyRecord readPolicyElement​(XMLStreamReader reader,
                                                               String baseUrl)
        Reads a policy expression from the XML stream. The XMLStreamReader should be in START_ELEMENT state and point to the policy element. The content of the stream is copied and then the copy is unmarshalled. The result is returned as a PolicyRecord.
        Parameters:
        reader - The XMLStreamReader should be in START_ELEMENT state and point to the policy element.
        baseUrl - The system id of the document read by the reader.
        Returns:
        The policy that was read from the XML stream.
      • getUrlsRead

        public Set<String> getUrlsRead()
      • readPolicyReferenceElement

        public String readPolicyReferenceElement​(XMLStreamReader reader)
        Reads policy reference element <wsp:PolicyReference/> and returns referenced policy URI as String
        Parameters:
        reader - The XMLStreamReader should be in START_ELEMENT state and point to the PolicyReference element.
        Returns:
        The URI contained in the PolicyReference
      • relativeToAbsoluteUrl

        public static String relativeToAbsoluteUrl​(String relativeUri,
                                                   String baseUri)
        Utility method to construct an absolute URL from a relative URI and a base URL. If the relativeUri already is an absolute URL, the method returns the relativeUri.
        Parameters:
        relativeUri - The relative URI
        baseUri - The base URL
        Returns:
        The relative URI appended to the base URL. If relativeUri already is an absolute URL, the method returns the relativeUri.