org.opensaml.saml2.binding.artifact
Class SAML2ArtifactType0004

java.lang.Object
  extended by org.opensaml.common.binding.artifact.SAMLArtifact
      extended by org.opensaml.saml2.binding.artifact.AbstractSAML2Artifact
          extended by org.opensaml.saml2.binding.artifact.SAML2ArtifactType0004

public class SAML2ArtifactType0004
extends AbstractSAML2Artifact

SAML 2 Type 0x004 Artifact. SAML 2, type 4, artifacts contains a 2 byte type code with a value of 4 follwed by a 2 byte endpoint index followed by a 20 byte source ID followed by a 20 byte message handle.


Field Summary
static byte[] TYPE_CODE
          SAML 2 artifact type code (0x0004).
 
Fields inherited from class org.opensaml.common.binding.artifact.SAMLArtifact
randomGen
 
Constructor Summary
SAML2ArtifactType0004()
          Constructor.
SAML2ArtifactType0004(byte[] endpointIndex, byte[] source)
          Constructor.
SAML2ArtifactType0004(byte[] endpointIndex, byte[] source, byte[] handle)
          Constructor.
 
Method Summary
 byte[] getMessageHandle()
          Gets the 20 byte message handle of the artifact.
 byte[] getRemainingArtifact()
          Gets the artifact bytes minus the type code.
 byte[] getSourceID()
          Gets the 20 byte source ID of the artifact.
static SAML2ArtifactType0004 parseArtifact(byte[] artifact)
          Constructs a SAML 2 artifact from its byte array representation.
 void setMessageHandle(byte[] handle)
          Sets the 20 byte message handle of the artifact.
 void setSourceID(byte[] newSourceID)
          Sets the 20 byte source ID of the artifact.
 
Methods inherited from class org.opensaml.saml2.binding.artifact.AbstractSAML2Artifact
getArtifactBytes, getEndpointIndex, setEndpointIndex
 
Methods inherited from class org.opensaml.common.binding.artifact.SAMLArtifact
base64Encode, equals, getTypeCode, hashCode, hexEncode, setTypeCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_CODE

public static final byte[] TYPE_CODE
SAML 2 artifact type code (0x0004).

Constructor Detail

SAML2ArtifactType0004

public SAML2ArtifactType0004()
Constructor.


SAML2ArtifactType0004

public SAML2ArtifactType0004(byte[] endpointIndex,
                             byte[] source)
Constructor.

Parameters:
endpointIndex - 2 byte endpoint index of the artifact
source - 20 byte source ID of the artifact
Throws:
java.lang.IllegalArgumentException - thrown if the endpoint index, source ID, or message handle arrays are not of the right size

SAML2ArtifactType0004

public SAML2ArtifactType0004(byte[] endpointIndex,
                             byte[] source,
                             byte[] handle)
Constructor.

Parameters:
endpointIndex - 2 byte endpoint index of the artifact
source - 20 byte source ID of the artifact
handle - 20 byte message handle of the artifact
Throws:
java.lang.IllegalArgumentException - thrown if the endpoint index, source ID, or message handle arrays are not of the right size
Method Detail

parseArtifact

public static SAML2ArtifactType0004 parseArtifact(byte[] artifact)
Constructs a SAML 2 artifact from its byte array representation.

Parameters:
artifact - the byte array representing the artifact
Returns:
the type 0x0004 artifact created from the byte array
Throws:
java.lang.IllegalArgumentException - thrown if the artifact is not the right type or lenght (44 bytes)

getSourceID

public byte[] getSourceID()
Gets the 20 byte source ID of the artifact.

Returns:
the source ID of the artifact

setSourceID

public void setSourceID(byte[] newSourceID)
Sets the 20 byte source ID of the artifact.

Parameters:
newSourceID - 20 byte source ID of the artifact
Throws:
java.lang.IllegalArgumentException - thrown if the given source ID is not 20 bytes

getMessageHandle

public byte[] getMessageHandle()
Gets the 20 byte message handle of the artifact.

Returns:
20 byte message handle of the artifact

setMessageHandle

public void setMessageHandle(byte[] handle)
Sets the 20 byte message handle of the artifact.

Parameters:
handle - 20 byte message handle of the artifact

getRemainingArtifact

public byte[] getRemainingArtifact()
Gets the artifact bytes minus the type code.

Specified by:
getRemainingArtifact in class SAMLArtifact
Returns:
artifact bytes minus the type code