Class SAML1ArtifactType0002

All Implemented Interfaces:
SAMLArtifact, SAMLSourceLocationArtifact, SAML1Artifact

public class SAML1ArtifactType0002 extends AbstractSAML1Artifact implements SAMLSourceLocationArtifact
SAML 1 Type 0x0002 Artifact. SAML 1, type 2, artifacts contains a 2 byte type code with a value of 1 followed by a 20 byte assertion handle followed by an unspecified number of bytes which are a UTF-8 encoded source location string.
  • Field Details

    • TYPE_CODE

      public static final byte[] TYPE_CODE
      Artifact type code (0x0002).
    • assertionHandle

      private byte[] assertionHandle
      20 byte assertion handle.
    • sourceLocation

      private String sourceLocation
      Artifact source location component.
  • Constructor Details

    • SAML1ArtifactType0002

      public SAML1ArtifactType0002()
      Constructor.
    • SAML1ArtifactType0002

      public SAML1ArtifactType0002(byte[] handle, String location)
      Constructor.
      Parameters:
      handle - 20 byte assertion handle artifact component
      location - source location artifact component
      Throws:
      IllegalArgumentException - thrown if the given assertion handle is not 20 bytes or the source location is null or empty
  • Method Details

    • parseArtifact

      public static SAML1ArtifactType0002 parseArtifact(byte[] artifact)
      Constructs a SAML 1 artifact from its byte representation.
      Parameters:
      artifact - the byte array representing the artifact
      Returns:
      the artifact parsed from the byte representation
      Throws:
      IllegalArgumentException - thrown if the artifact type is not 0x0002
    • 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
    • getSourceLocation

      public String getSourceLocation()
      Gets the source location component of this artifact.
      Specified by:
      getSourceLocation in interface SAMLSourceLocationArtifact
      Returns:
      source location component of this artifact
    • setSourceLocation

      protected void setSourceLocation(String newLocation)
      Sets source location component of this artifact.
      Parameters:
      newLocation - source location component of this artifact
      Throws:
      IllegalArgumentException - thrown if the given location is empty or null
    • getRemainingArtifact

      public byte[] getRemainingArtifact()
      Gets the artifact bytes minus the type code.
      Specified by:
      getRemainingArtifact in class AbstractSAMLArtifact
      Returns:
      artifact bytes minus the type code