Package org.opensaml.storage.impl.client

# Class LoadClientStorageServices

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.storage.impl.client.LoadClientStorageServices

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`

public class LoadClientStorageServices extends AbstractProfileAction
An action that loads any number of `ClientStorageService` instances from a POST submission or cookies as applicable.

Event:
  `EventIds.PROCEED_EVENT_ID`, `EventIds.INVALID_PROFILE_CTX`

## Field Summary

Fields
Modifier and Type
Field
Description
`private ClientStorageLoadContext`
`clientStorageLoadCtx`
Context to drive storage load.
`static final String`
`EXCEPTION_FORM_FIELD`
Name of local storage form field containing value read.
`private final org.slf4j.Logger`
`log`
Class logger.
`private Map<String,ClientStorageService>`
`storageServices`
The storage service instances to load.
`static final String`
`SUCCESS_FORM_FIELD`
Name of local storage form field signaling success/failure of a read operation.
`static final String`
`SUPPORT_FORM_FIELD`
Name of local storage form field containing local storage support indicator.
`private boolean`
`useLocalStorage`
Whether to allow for data loaded from local storage and submitted via POST.
`static final String`
`VALUE_FORM_FIELD`
Name of local storage form field containing value read.

## Constructor Summary

Constructors
Constructor
Description
`LoadClientStorageServices()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
Performs this action.
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext)`
Called prior to execution, actions may override this method to perform pre-processing for a request.
`private void`
`loadFromCookie(HttpServletRequest httpRequest, ClientStorageService storageService, ClientStorageService.ClientStorageSource source)`
Load the specified storage service from a cookie.
`private void`
`loadFromLocalStorage(HttpServletRequest httpRequest, ClientStorageService storageService)`
Load the specified storage service from local storage data supplied in the POST.
`void`
`setStorageServices(Collection<ClientStorageService> services)`
Set the `ClientStorageService` instances to check for loading.
`void`
`setUseLocalStorage(boolean flag)`
Set whether to allow for data loaded from local storage and submitted via POST.

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

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

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, 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.InitializableComponent

`initialize, isInitialized`

## Field Details

### SUPPORT_FORM_FIELD

@Nonnull @NotEmpty public static final String SUPPORT_FORM_FIELD
Name of local storage form field containing local storage support indicator.

See Also:
  - Constant Field Values

### SUCCESS_FORM_FIELD

@Nonnull @NotEmpty public static final String SUCCESS_FORM_FIELD
Name of local storage form field signaling success/failure of a read operation.

See Also:
  - Constant Field Values

### VALUE_FORM_FIELD

@Nonnull @NotEmpty public static final String VALUE_FORM_FIELD
Name of local storage form field containing value read.

See Also:
  - Constant Field Values

### EXCEPTION_FORM_FIELD

@Nonnull @NotEmpty public static final String EXCEPTION_FORM_FIELD
Name of local storage form field containing value read.

See Also:
  - Constant Field Values

### log

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

### useLocalStorage

private boolean useLocalStorage
Whether to allow for data loaded from local storage and submitted via POST.

### storageServices

@Nonnull private Map<String,ClientStorageService> storageServices
The storage service instances to load.

### clientStorageLoadCtx

@Nullable private ClientStorageLoadContext clientStorageLoadCtx
Context to drive storage load.

## Constructor Details

### LoadClientStorageServices

public LoadClientStorageServices()
Constructor.

## Method Details

### setUseLocalStorage

public void setUseLocalStorage(boolean flag)
Set whether to allow for data loaded from local storage and submitted via POST.

Parameters:
  `flag` - flag to set

### setStorageServices

public void setStorageServices(@Nullable Collection<ClientStorageService> services)
Set the `ClientStorageService` instances to check for loading.

Parameters:
  `services` - instances to check for loading

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
Called prior to execution, actions may override this method to perform pre-processing for a request.

If false is returned, execution will not proceed, and the action should attach an `EventContext` to the context tree to signal how to continue with overall workflow processing.

If returning successfully, the last step should be to return the result of the superclass version of this method.

Overrides:
  `doPreExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context
Returns:
  true iff execution should proceed

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
Performs this action. Actions must override this method to perform their work.

Overrides:
  `doExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context

### loadFromCookie

private void loadFromCookie(@Nonnull HttpServletRequest httpRequest, @Nonnull ClientStorageService storageService, @Nonnull ClientStorageService.ClientStorageSource source)
Load the specified storage service from a cookie.

Parameters:
  `httpRequest` - servlet request
  `storageService` - service to load
  `source` - source to apply to load operation

### loadFromLocalStorage

private void loadFromLocalStorage(@Nonnull HttpServletRequest httpRequest, @Nonnull ClientStorageService storageService)
Load the specified storage service from local storage data supplied in the POST.

Parameters:
  `httpRequest` - servlet request
  `storageService` - service to load