Class AbstractProfileConfiguration
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- net.shibboleth.idp.profile.config.AbstractProfileConfiguration
-
- All Implemented Interfaces:
ProfileConfiguration,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
- Direct Known Subclasses:
AbstractConditionalProfileConfiguration
public abstract class AbstractProfileConfiguration extends AbstractIdentifiableInitializableComponent implements ProfileConfiguration
Base class forProfileConfigurationimplementations.
-
-
Field Summary
Fields Modifier and Type Field Description static IntegerDEFAULT_DISALLOWED_FEATURESDefault value for disallowedFeatures property.private Function<ProfileRequestContext,Integer>disallowedFeaturesLookupStrategyLookup function to return a bitmask of request features to disallow.private Function<ProfileRequestContext,List<String>>inboundFlowsLookupStrategyLookup function to supply inboundFlows property.private org.slf4j.LoggerlogClass logger.private Function<ProfileRequestContext,List<String>>outboundFlowsLookupStrategyLookup function to supply #outboundFlows property.private Function<ProfileRequestContext,SecurityConfiguration>securityConfigurationLookupStrategyLookup function to supply securityConfiguration property.
-
Constructor Summary
Constructors Constructor Description AbstractProfileConfiguration(String id)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)intgetDisallowedFeatures(ProfileRequestContext profileRequestContext)Get a bitmask of disallowed features to block.List<String>getInboundInterceptorFlows(ProfileRequestContext profileRequestContext)Get an ordered list of interceptor flows to run for this profile after an inbound message is decoded.List<String>getOutboundInterceptorFlows(ProfileRequestContext profileRequestContext)Get an ordered list of interceptor flows to run for this profile before a final outbound message is generated.SecurityConfigurationgetSecurityConfiguration(ProfileRequestContext profileRequestContext)Get theSecurityConfigurationto use with this profile.inthashCode()booleanisFeatureDisallowed(ProfileRequestContext profileRequestContext, int feature)Return true iff the input feature constant is disallowed.voidsetDisallowedFeatures(int mask)Set a bitmask of disallowed features to block.voidsetDisallowedFeaturesLookupStrategy(Function<ProfileRequestContext,Integer> strategy)Set a lookup strategy for the bitmask of disallowed features to block.voidsetInboundFlowsLookupStrategy(Function<ProfileRequestContext,List<String>> strategy)Set a lookup strategy for the inbound interceptor flows to enable.voidsetInboundInterceptorFlows(Collection<String> flows)Set the ordered collection of inbound interceptor flows to enable.voidsetOutboundFlowsLookupStrategy(Function<ProfileRequestContext,List<String>> strategy)Set a lookup strategy for the outbound interceptor flows to enable.voidsetOutboundInterceptorFlows(Collection<String> flows)Set the ordered collection of outbound interceptor flows to enable.voidsetSecurityConfiguration(SecurityConfiguration configuration)Sets the security configuration for this profile.voidsetSecurityConfigurationLookupStrategy(Function<ProfileRequestContext,SecurityConfiguration> strategy)Set a lookup strategy for the security configuration.-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
doInitialize, getId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
-
-
-
-
Field Detail
-
DEFAULT_DISALLOWED_FEATURES
@Nonnull public static final Integer DEFAULT_DISALLOWED_FEATURES
Default value for disallowedFeatures property.
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
inboundFlowsLookupStrategy
@Nonnull private Function<ProfileRequestContext,List<String>> inboundFlowsLookupStrategy
Lookup function to supply inboundFlows property.
-
outboundFlowsLookupStrategy
@Nonnull private Function<ProfileRequestContext,List<String>> outboundFlowsLookupStrategy
Lookup function to supply #outboundFlows property.
-
securityConfigurationLookupStrategy
@Nonnull private Function<ProfileRequestContext,SecurityConfiguration> securityConfigurationLookupStrategy
Lookup function to supply securityConfiguration property.
-
disallowedFeaturesLookupStrategy
@Nonnull private Function<ProfileRequestContext,Integer> disallowedFeaturesLookupStrategy
Lookup function to return a bitmask of request features to disallow.
-
-
Constructor Detail
-
AbstractProfileConfiguration
public AbstractProfileConfiguration(@Nonnull @NotEmpty @ParameterName(name="id") String id)
Constructor.- Parameters:
id- ID of the communication profile, never null or empty
-
-
Method Detail
-
getSecurityConfiguration
@Nullable public SecurityConfiguration getSecurityConfiguration(@Nullable ProfileRequestContext profileRequestContext)
Get theSecurityConfigurationto use with this profile.- Specified by:
getSecurityConfigurationin interfaceProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- security configuration to use with this profile
-
setSecurityConfiguration
public void setSecurityConfiguration(@Nullable SecurityConfiguration configuration)Sets the security configuration for this profile.- Parameters:
configuration- security configuration for this profile
-
setSecurityConfigurationLookupStrategy
public void setSecurityConfigurationLookupStrategy(@Nonnull Function<ProfileRequestContext,SecurityConfiguration> strategy)Set a lookup strategy for the security configuration.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getInboundInterceptorFlows
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getInboundInterceptorFlows(@Nullable ProfileRequestContext profileRequestContext)
Get an ordered list of interceptor flows to run for this profile after an inbound message is decoded.The flow IDs returned MUST NOT contain the
ProfileInterceptorFlowDescriptor.FLOW_ID_PREFIXprefix common to all interceptor flows.- Specified by:
getInboundInterceptorFlowsin interfaceProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- a set of interceptor flow IDs to enable
-
setInboundInterceptorFlows
public void setInboundInterceptorFlows(@Nullable @NonnullElements Collection<String> flows)
Set the ordered collection of inbound interceptor flows to enable.- Parameters:
flows- flow identifiers to enable
-
setInboundFlowsLookupStrategy
public void setInboundFlowsLookupStrategy(@Nonnull Function<ProfileRequestContext,List<String>> strategy)Set a lookup strategy for the inbound interceptor flows to enable.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getOutboundInterceptorFlows
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getOutboundInterceptorFlows(@Nullable ProfileRequestContext profileRequestContext)
Get an ordered list of interceptor flows to run for this profile before a final outbound message is generated.The flow IDs returned MUST NOT contain the
ProfileInterceptorFlowDescriptor.FLOW_ID_PREFIXprefix common to all interceptor flows.- Specified by:
getOutboundInterceptorFlowsin interfaceProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- a set of interceptor flow IDs to enable
-
setOutboundInterceptorFlows
public void setOutboundInterceptorFlows(@Nullable @NonnullElements Collection<String> flows)
Set the ordered collection of outbound interceptor flows to enable.- Parameters:
flows- flow identifiers to enable
-
setOutboundFlowsLookupStrategy
public void setOutboundFlowsLookupStrategy(@Nonnull Function<ProfileRequestContext,List<String>> strategy)Set a lookup strategy for the outbound interceptor flows to enable.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
isFeatureDisallowed
public boolean isFeatureDisallowed(@Nullable ProfileRequestContext profileRequestContext, int feature)Return true iff the input feature constant is disallowed.- Parameters:
profileRequestContext- current profile request contextfeature- a bit constant- Returns:
- true iff the input feature constant is disallowed
- Since:
- 3.3.0
-
getDisallowedFeatures
public int getDisallowedFeatures(@Nullable ProfileRequestContext profileRequestContext)Get a bitmask of disallowed features to block.Individual profiles define their own feature constants.
- Parameters:
profileRequestContext- current profile request context- Returns:
- bitmask of features to block
- Since:
- 3.3.0
-
setDisallowedFeatures
public void setDisallowedFeatures(int mask)
Set a bitmask of disallowed features to block.- Parameters:
mask- a bitmask of features to block- Since:
- 3.3.0
-
setDisallowedFeaturesLookupStrategy
public void setDisallowedFeaturesLookupStrategy(@Nonnull Function<ProfileRequestContext,Integer> strategy)Set a lookup strategy for the bitmask of disallowed features to block.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
-