Class JOSEObject

    • Constructor Detail

      • JOSEObject

        protected JOSEObject()
        Creates a new JOSE object. The payload and the original parsed Base64URL parts are not defined.
      • JOSEObject

        protected JOSEObject​(Payload payload)
        Creates a new JOSE object with the specified payload.
        Parameters:
        payload - The payload, null if not available (e.g. for an encrypted JWE object).
    • Method Detail

      • getHeader

        public abstract Header getHeader()
        Returns the header of this JOSE object.
        Returns:
        The header.
      • setPayload

        protected void setPayload​(Payload payload)
        Sets the payload of this JOSE object.
        Parameters:
        payload - The payload, null if not available (e.g. for an encrypted JWE object).
      • getPayload

        public Payload getPayload()
        Returns the payload of this JOSE object.
        Returns:
        The payload, null if not available (for an encrypted JWE object that hasn't been decrypted).
      • setParsedParts

        protected void setParsedParts​(Base64URL... parts)
        Sets the original parsed Base64URL parts used to create this JOSE object.
        Parameters:
        parts - The original Base64URL parts used to create this JOSE object, null if the object was created from scratch. The individual parts may be empty or null to indicate a missing part.
      • getParsedParts

        public Base64URL[] getParsedParts()
        Returns the original parsed Base64URL parts used to create this JOSE object.
        Returns:
        The original Base64URL parts used to create this JOSE object, null if the object was created from scratch. The individual parts may be empty or null to indicate a missing part.
      • getParsedString

        public String getParsedString()
        Returns the original parsed string used to create this JOSE object.
        Returns:
        The parsed string used to create this JOSE object, null if the object was creates from scratch.
        See Also:
        getParsedParts()
      • serialize

        public abstract String serialize()
        Serialises this JOSE object to compact encoding consisting of Base64URL-encoded parts delimited by period ('.') characters.
        Returns:
        The serialised JOSE object.
        Throws:
        IllegalStateException - If the JOSE object is not in a state that permits serialisation.
      • split

        public static Base64URL[] split​(String s)
                                 throws ParseException
        Splits a compact serialised JOSE object into its Base64URL-encoded parts.
        Parameters:
        s - The compact serialised JOSE object to split. Must not be null.
        Returns:
        The JOSE Base64URL-encoded parts (three for unsecured and JWS objects, five for JWE objects).
        Throws:
        ParseException - If the specified string couldn't be split into three or five Base64URL-encoded parts.