Package net.shibboleth.idp.consent.flow.ar.impl

# Class AttributeReleaseFlowDescriptor

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.profile.interceptor.ProfileInterceptorFlowDescriptor
net.shibboleth.idp.consent.flow.impl.ConsentFlowDescriptor
net.shibboleth.idp.consent.flow.ar.impl.AttributeReleaseFlowDescriptor

All Implemented Interfaces:
  `Predicate<ProfileRequestContext>`, `FlowDescriptor`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`

public class AttributeReleaseFlowDescriptor extends ConsentFlowDescriptor
Descriptor for an attribute release flow.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<Collection<IdPAttributeValue>,String>`
`attributeValuesHashFunction`
Function to create hash of all attribute values.
`private boolean`
`doNotRememberConsentAllowed`
Whether not remembering consent is allowed.
`private boolean`
`globalConsentAllowed`
Whether consent to any attribute and to any relying party is allowed.
`private boolean`
`perAttributeConsentEnabled`
Whether per-attribute consent is enabled.

### Fields inherited from class net.shibboleth.idp.profile.interceptor.ProfileInterceptorFlowDescriptor

`FLOW_ID_PREFIX`

## Constructor Summary

Constructors
Constructor
Description
`AttributeReleaseFlowDescriptor()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`Function<Collection<IdPAttributeValue>,String>`
`getAttributeValuesHashFunction()`
Get the function to create hash of all attribute values.
`boolean`
`isDoNotRememberConsentAllowed()`
Get whether not remembering consent is allowed.
`boolean`
`isGlobalConsentAllowed()`
Get whether consent to any attribute and to any relying party is allowed.
`boolean`
`isPerAttributeConsentEnabled()`
Get whether per-attribute consent is enabled.
`void`
`setAttributeValuesHashFunction(Function<Collection<IdPAttributeValue>,String> function)`
Set the function to create hash of all attribute values.
`void`
`setDoNotRememberConsentAllowed(boolean flag)`
Set whether not remembering consent is allowed.
`void`
`setGlobalConsentAllowed(boolean flag)`
Set whether consent to any attribute and to any relying party is allowed.
`void`
`setPerAttributeConsentEnabled(boolean flag)`
Set whether per-attribute consent is enabled.

### Methods inherited from class net.shibboleth.idp.consent.flow.impl.ConsentFlowDescriptor

`compareValues, getExpandedNumberOfStoredRecords, getExpandedStorageThreshold, getLifetime, getLifetime, getMaximumNumberOfStoredRecords, setCompareValues, setExpandedNumberOfStoredRecords, setExpandedStorageThreshold, setLifetime, setLifetimeLookupStrategy, setMaximumNumberOfStoredRecords`

### Methods inherited from class net.shibboleth.idp.profile.interceptor.ProfileInterceptorFlowDescriptor

`equals, getStorageService, hashCode, isNonBrowserSupported, setActivationCondition, setNonBrowserSupported, setStorageService, test, toString`

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

`setId`

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

`doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

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

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, initialize, isDestroyed, isInitialized`

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

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

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

`destroy, isDestroyed`

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

`setId`

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

`getId`

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

`initialize, isInitialized`

### Methods inherited from interface java.util.function.Predicate

`and, negate, or`

## Field Details

### doNotRememberConsentAllowed

private boolean doNotRememberConsentAllowed
Whether not remembering consent is allowed.

### globalConsentAllowed

private boolean globalConsentAllowed
Whether consent to any attribute and to any relying party is allowed.

### perAttributeConsentEnabled

private boolean perAttributeConsentEnabled
Whether per-attribute consent is enabled.

### attributeValuesHashFunction

@Nonnull private Function<Collection<IdPAttributeValue>,String> attributeValuesHashFunction
Function to create hash of all attribute values.

## Constructor Details

### AttributeReleaseFlowDescriptor

public AttributeReleaseFlowDescriptor()
Constructor.

## Method Details

### isDoNotRememberConsentAllowed

public boolean isDoNotRememberConsentAllowed()
Get whether not remembering consent is allowed.

Returns:
  true if consent should not be remembered

### isGlobalConsentAllowed

public boolean isGlobalConsentAllowed()
Get whether consent to any attribute and to any relying party is allowed.

Returns:
  true iff consent to any attribute and to any relying party is allowed

### isPerAttributeConsentEnabled

public boolean isPerAttributeConsentEnabled()
Get whether per-attribute consent is enabled.

Returns:
  true iff per-attribute consent is enabled

### getAttributeValuesHashFunction

@Nonnull public Function<Collection<IdPAttributeValue>,String> getAttributeValuesHashFunction()
Get the function to create hash of all attribute values.

Returns:
  function to create hash of all attribute values

### setDoNotRememberConsentAllowed

public void setDoNotRememberConsentAllowed(boolean flag)
Set whether not remembering consent is allowed.

Parameters:
  `flag` - true if consent should not be remembered

### setGlobalConsentAllowed

public void setGlobalConsentAllowed(boolean flag)
Set whether consent to any attribute and to any relying party is allowed.

Parameters:
  `flag` - true iff consent to any attribute and to any relying party is allowed

### setPerAttributeConsentEnabled

public void setPerAttributeConsentEnabled(boolean flag)
Set whether per-attribute consent is enabled.

Parameters:
  `flag` - true iff per-attribute consent is enabled

### setAttributeValuesHashFunction

public void setAttributeValuesHashFunction(@Nonnull Function<Collection<IdPAttributeValue>,String> function)
Set the function to create hash of all attribute values.

Parameters:
  `function` - function to create hash of all attribute values