org.opensaml.saml1.binding.artifact
Class SAML1ArtifactType0001

java.lang.Object
  extended by org.opensaml.common.binding.artifact.SAMLArtifact
      extended by org.opensaml.saml1.binding.artifact.AbstractSAML1Artifact
          extended by org.opensaml.saml1.binding.artifact.SAML1ArtifactType0001

public class SAML1ArtifactType0001
extends AbstractSAML1Artifact

SAML 1.X Type 0x0001 Artifact. SAML 1, type 1, artifacts contains a 2 byte type code with a value of 1 followed by a 20 byte source ID followed by a 20 byte assertion handle.


Field Summary
static byte[] TYPE_CODE
          Artifact type code (0x0001).
 
Fields inherited from class org.opensaml.common.binding.artifact.SAMLArtifact
randomGen
 
Constructor Summary
SAML1ArtifactType0001()
          Constructor.
SAML1ArtifactType0001(byte[] source)
          Constructor.
SAML1ArtifactType0001(byte[] source, byte[] handle)
          Constructor.
 
Method Summary
 byte[] getAssertionHandle()
          Gets the artifiact's 20 byte assertion handle.
 byte[] getRemainingArtifact()
          Gets the artifact bytes minus the type code.
 byte[] getSourceID()
          Gets the 20 byte source ID of the artifact.
static SAML1ArtifactType0001 parseArtifact(byte[] artifact)
          Constructs a SAML 1 artifact from its byte array representation.
 void setAssertionHandle(byte[] handle)
          Sets the artifiact's 20 byte assertion handle.
protected  void setSourceID(byte[] newSourceID)
          Sets the 20 byte source ID of the artifact.
 
Methods inherited from class org.opensaml.common.binding.artifact.SAMLArtifact
base64Encode, equals, getArtifactBytes, 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
Artifact type code (0x0001).

Constructor Detail

SAML1ArtifactType0001

public SAML1ArtifactType0001()
Constructor.


SAML1ArtifactType0001

public SAML1ArtifactType0001(byte[] source)
Constructor. A 20 byte random number is generated for use as the assertion handle.

Parameters:
source - 20 byte source ID of the artifact
Throws:
java.lang.IllegalArgumentException - thrown if the given source ID or message handle are not of the current length (20 bytes)

SAML1ArtifactType0001

public SAML1ArtifactType0001(byte[] source,
                             byte[] handle)
Constructor.

Parameters:
source - 20 byte source ID of the artifact
handle - 20 byte assertion handle of the artifact
Throws:
java.lang.IllegalArgumentException - thrown if the given source ID or message handle are not of the current length (20 bytes)
Method Detail

parseArtifact

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

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

getSourceID

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

Returns:
the source ID of the artifact

setSourceID

protected 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

getAssertionHandle

public byte[] getAssertionHandle()
Gets the artifiact's 20 byte assertion handle.

Returns:
artifiact's 20 byte assertion handle

setAssertionHandle

public void setAssertionHandle(byte[] handle)
Sets the artifiact's 20 byte assertion handle.

Parameters:
handle - artifiact's 20 byte assertion handle

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