Package org.opensaml.saml.saml2.binding.artifact

# Class AbstractSAML2Artifact

java.lang.Object
org.opensaml.saml.common.binding.artifact.AbstractSAMLArtifact
org.opensaml.saml.saml2.binding.artifact.AbstractSAML2Artifact

All Implemented Interfaces:
  `SAMLArtifact`, `SAML2Artifact`

Direct Known Subclasses:
  `SAML2ArtifactType0004`

public abstract class AbstractSAML2Artifact extends AbstractSAMLArtifact implements SAML2Artifact
SAML 2 Artifact base class. SAML 2 artifacts contains a 2 byte type code followed by a 2 byte endpoint index followed by remaining artifact data.

## Field Summary

Fields
Modifier and Type
Field
Description
`private byte[]`
`endpointIndex`
2 byte artifact endpoint index.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractSAML2Artifact(byte[] artifactType)`
Constructor.
``
`AbstractSAML2Artifact(byte[] artifactType, byte[] index)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`byte[]`
`getArtifactBytes()`
Gets the bytes for the artifact.
`byte[]`
`getEndpointIndex()`
Gets the 2 byte endpoint index for this artifact.
`void`
`setEndpointIndex(byte[] newIndex)`
Sets the 2 byte endpoint index for this artifact.

### Methods inherited from class org.opensaml.saml.common.binding.artifact.AbstractSAMLArtifact

`base64Encode, equals, getRemainingArtifact, getTypeCode, hashCode, hexEncode, setTypeCode, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.opensaml.saml.common.binding.artifact.SAMLArtifact

`getTypeCode`

## Field Details

### endpointIndex

@Nonnull private byte[] endpointIndex
2 byte artifact endpoint index.

## Constructor Details

### AbstractSAML2Artifact

protected AbstractSAML2Artifact(@Nonnull byte[] artifactType)
Constructor.

Parameters:
  `artifactType` - artifact type code

### AbstractSAML2Artifact

public AbstractSAML2Artifact(@Nonnull byte[] artifactType, @Nonnull byte[] index)
Constructor.

Parameters:
  `artifactType` - artifact type code
  `index` - 2 byte endpoint index of the artifact
Throws:
  `IllegalArgumentException` - thrown if the endpoint index, source ID, or message handle arrays are not of the right size

## Method Details

### getArtifactBytes

@Nonnull public byte[] getArtifactBytes()
Gets the bytes for the artifact.

Specified by:
  `getArtifactBytes` in interface `SAMLArtifact`
Overrides:
  `getArtifactBytes` in class `AbstractSAMLArtifact`
Returns:
  the bytes for the artifact

### getEndpointIndex

@Nonnull public byte[] getEndpointIndex()
Gets the 2 byte endpoint index for this artifact.

Specified by:
  `getEndpointIndex` in interface `SAML2Artifact`
Returns:
  2 byte endpoint index for this artifact

### setEndpointIndex

public void setEndpointIndex(byte[] newIndex)
Sets the 2 byte endpoint index for this artifact.

Parameters:
  `newIndex` - 2 byte endpoint index for this artifact
Throws:
  `IllegalArgumentException` - thrown if the given index is not 2 bytes