Class AbstractProfileConfiguration

  • All Implemented Interfaces:
    ProfileConfiguration, net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.IdentifiableComponent, net.shibboleth.utilities.java.support.component.IdentifiedComponent, net.shibboleth.utilities.java.support.component.InitializableComponent
    Direct Known Subclasses:
    AbstractConditionalProfileConfiguration

    public abstract class AbstractProfileConfiguration
    extends net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
    implements ProfileConfiguration
    Base class for ProfileConfiguration implementations.
    • 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<org.opensaml.profile.context.ProfileRequestContext,​List<String>> inboundFlowsLookupStrategy
        Lookup function to supply inboundFlows property.
      • outboundFlowsLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​List<String>> outboundFlowsLookupStrategy
        Lookup function to supply #outboundFlows property.
      • securityConfigurationLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​SecurityConfiguration> securityConfigurationLookupStrategy
        Lookup function to supply securityConfiguration property.
      • disallowedFeaturesLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.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
                                                              org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
        Get the SecurityConfiguration to use with this profile.
        Specified by:
        getSecurityConfiguration in interface ProfileConfiguration
        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<org.opensaml.profile.context.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
                                                       org.opensaml.profile.context.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_PREFIX prefix common to all interceptor flows.

        Specified by:
        getInboundInterceptorFlows in interface ProfileConfiguration
        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<org.opensaml.profile.context.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
                                                        org.opensaml.profile.context.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_PREFIX prefix common to all interceptor flows.

        Specified by:
        getOutboundInterceptorFlows in interface ProfileConfiguration
        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<org.opensaml.profile.context.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
                                           org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                           int feature)
        Return true iff the input feature constant is disallowed.
        Parameters:
        profileRequestContext - current profile request context
        feature - a bit constant
        Returns:
        true iff the input feature constant is disallowed
        Since:
        3.3.0
      • getDisallowedFeatures

        public int getDisallowedFeatures​(@Nullable
                                         org.opensaml.profile.context.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<org.opensaml.profile.context.ProfileRequestContext,​Integer> strategy)
        Set a lookup strategy for the bitmask of disallowed features to block.
        Parameters:
        strategy - lookup strategy
        Since:
        3.3.0
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object