Package org.opensaml.saml.saml1.binding.decoding.impl

# Class HTTPArtifactDecoder

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.decoder.AbstractMessageDecoder
org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder
org.opensaml.saml.saml1.binding.decoding.impl.HTTPArtifactDecoder

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `UnmodifiableComponent`, `MessageDecoder`, `HttpServletRequestMessageDecoder`, `SAMLMessageDecoder`

public class HTTPArtifactDecoder extends BaseSAMLHttpServletRequestDecoder implements SAMLMessageDecoder
SAML 1.X HTTP Artifact message decoder. NOTE: This decoder is not yet implemented.

## Field Summary

Fields
Modifier and Type
Field
Description
`private BindingDescriptor`
`bindingDescriptor`
Optional `BindingDescriptor` to inject into `SAMLBindingContext` created.
`private final org.slf4j.Logger`
`log`
Class logger.

### Fields inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder

`BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY`

## Constructor Summary

Constructors
Constructor
Description
`HTTPArtifactDecoder()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`decodeTarget(MessageContext messageContext, HttpServletRequest request)`
Decodes the TARGET parameter and adds it to the message context.
`protected void`
`doDecode()`
Performs the decoding logic.
`BindingDescriptor`
`getBindingDescriptor()`
Get an optional `BindingDescriptor` to inject into `SAMLBindingContext` created.
`String`
`getBindingURI()`
Gets the SAML binding URI supported by this decoder.
`protected void`
`populateBindingContext(MessageContext messageContext)`
Populate the context which carries information specific to this binding.
`protected void`
`processArtifacts(MessageContext messageContext, HttpServletRequest request)`
Process the incoming artifacts by decoding the artifacts, dereferencing them from the artifact source and storing the resulting response (with assertions) in the message context.
`void`
`setBindingDescriptor(BindingDescriptor descriptor)`
Set an optional `BindingDescriptor` to inject into `SAMLBindingContext` created.

### Methods inherited from class org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder

`evaluateMessageSizeLimit, getMessageSize, getMessageSizeLimit, getMessageType, isEnforceMessageSizeLimit, validateAndGetMessageSize, validateHttpRequest`

### Methods inherited from class org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder

`decode, doInitialize, getParserPool, serializeMessageForLogging, setParserPool, unmarshallMessage`

### Methods inherited from class org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder

`getHttpServletRequest, getHttpServletRequestSupplier, isCheckDuringInit, setCheckDuringInit, setHttpServletRequestSupplier`

### Methods inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder

`getMessageContext, getMessageToLog, getProtocolMessageLogger, getProtocolMessageLoggerSubCategory, logDecodedMessage, setMessageContext, setProtocolMessageLoggerSubCategory`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface net.shibboleth.shared.component.DestructableComponent

`destroy, isDestroyed`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

### Methods inherited from interface org.opensaml.messaging.decoder.MessageDecoder

`decode, getMessageContext`

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### bindingDescriptor

@Nullable private BindingDescriptor bindingDescriptor
Optional `BindingDescriptor` to inject into `SAMLBindingContext` created.

## Constructor Details

### HTTPArtifactDecoder

public HTTPArtifactDecoder()

## Method Details

### getBindingURI

@Nonnull @NotEmpty public String getBindingURI()
Gets the SAML binding URI supported by this decoder.

Specified by:
  `getBindingURI` in interface `SAMLMessageDecoder`
Returns:
  SAML binding URI supported by this decoder

### getBindingDescriptor

@Nullable public BindingDescriptor getBindingDescriptor()
Get an optional `BindingDescriptor` to inject into `SAMLBindingContext` created.

Returns:
  binding descriptor

### setBindingDescriptor

public void setBindingDescriptor(@Nullable BindingDescriptor descriptor)
Set an optional `BindingDescriptor` to inject into `SAMLBindingContext` created.

Parameters:
  `descriptor` - a binding descriptor

### doDecode

protected void doDecode() throws MessageDecodingException
Performs the decoding logic. By the time this is called, this decoder has already been initialized and checked to ensure that it has not been destroyed.

Specified by:
  `doDecode` in class `AbstractMessageDecoder`
Throws:
  `MessageDecodingException` - thrown if there is a problem decoding the message

### decodeTarget

protected void decodeTarget(@Nonnull MessageContext messageContext, @Nonnull HttpServletRequest request) throws MessageDecodingException
Decodes the TARGET parameter and adds it to the message context.

Parameters:
  `messageContext` - current message context
  `request` - current servlet request
Throws:
  `MessageDecodingException` - thrown if there is a problem decoding the TARGET parameter.

### processArtifacts

protected void processArtifacts(@Nonnull MessageContext messageContext, @Nonnull HttpServletRequest request) throws MessageDecodingException
Process the incoming artifacts by decoding the artifacts, dereferencing them from the artifact source and storing the resulting response (with assertions) in the message context.

Parameters:
  `messageContext` - current message context
  `request` - current servlet request
Throws:
  `MessageDecodingException` - thrown if there is a problem decoding or dereferencing the artifacts

### populateBindingContext

protected void populateBindingContext(@Nonnull MessageContext messageContext)
Populate the context which carries information specific to this binding.

Parameters:
  `messageContext` - the current message context