com.nimbusds.jose
Class JOSEObject

java.lang.Object
  extended by com.nimbusds.jose.JOSEObject
Direct Known Subclasses:
JWEObject, JWSObject, PlainObject

public abstract class JOSEObject
extends Object

The base abstract class for plaintext, JSON Web Signature (JWS) - secured and JSON Web Encryption (JWE) - secured objects.

Version:
$version$ (2012-10-23)
Author:
Vladimir Dzhuvinov

Constructor Summary
protected JOSEObject()
          Creates a new JOSE object.
protected JOSEObject(Payload payload)
          Creates a new JOSE object with the specified payload.
 
Method Summary
abstract  ReadOnlyHeader getHeader()
          Gets the header of this JOSE object.
 Base64URL[] getParsedParts()
          Gets the original parsed Base64URL parts used to create this JOSE object.
 String getParsedString()
          Gets the original parsed string used to create this JOSE object.
 Payload getPayload()
          Gets the payload of this JOSE object.
static JOSEObject parse(String s)
          Parses a JOSE object from the specified string in compact format.
abstract  String serialize()
          Serialises this JOSE object to its compact format consisting of Base64URL-encoded parts delimited by period ('.') characters.
protected  void setParsedParts(Base64URL... parts)
          Sets the original parsed Base64URL parts used to create this JOSE object.
protected  void setPayload(Payload payload)
          Sets the payload of this JOSE object.
static Base64URL[] split(String s)
          Splits a serialised JOSE object into its Base64URL-encoded parts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 ReadOnlyHeader getHeader()
Gets 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()
Gets 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 creates 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()
Gets the original parsed Base64URL parts used to create this JOSE object.

Returns:
The original Base64URL parts used to creates 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()
Gets 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 its compact format 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 serialised JOSE object into its Base64URL-encoded parts.

Parameters:
s - The serialised JOSE object to split. Must not be null.
Returns:
The JOSE Base64URL-encoded parts (three for plaintext and JWS objects, five for JWE objects).
Throws:
ParseException - If the specified string couldn't be split into three or five Base64URL-encoded parts.

parse

public static JOSEObject parse(String s)
                        throws ParseException
Parses a JOSE object from the specified string in compact format.

Parameters:
s - The string to parse. Must not be null.
Returns:
The corresponding PlainObject, JWSObject or JWEObject instance.
Throws:
ParseException - If the string couldn't be parsed to a valid plaintext, JWS or JWE object.


Copyright © 2013 NimbusDS. All Rights Reserved.