Class GenericPrincipalSerializer

  • All Implemented Interfaces:
    net.shibboleth.idp.authn.principal.PrincipalSerializer<String>, net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent

    @ThreadSafeAfterInit
    public class GenericPrincipalSerializer
    extends net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer<String>
    Principal serializer for arbitrary principal types.
    • Field Detail

      • PRINCIPAL_TYPE_FIELD

        @Nonnull
        @NotEmpty
        private static final String PRINCIPAL_TYPE_FIELD
        Field name of principal type.
        See Also:
        Constant Field Values
      • PRINCIPAL_NAME_FIELD

        @Nonnull
        @NotEmpty
        private static final String PRINCIPAL_NAME_FIELD
        Field name of principal name.
        See Also:
        Constant Field Values
      • JSON_PATTERN

        @Nonnull
        private static final Pattern JSON_PATTERN
        Pattern used to determine if input is supported.
      • log

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

        @Nonnull
        @NonnullElements
        private BiMap<String,​Integer> symbolics
        Shrinkage of long constants into symbolic numbers.
      • compatiblePrincipalTypes

        @Nonnull
        @NonnullElements
        private final Set<Class<? extends Principal>> compatiblePrincipalTypes
        A cache of Principal types that support string-based construction.
    • Constructor Detail

      • GenericPrincipalSerializer

        public GenericPrincipalSerializer()
        Constructor.
    • Method Detail

      • setSymbolics

        public void setSymbolics​(@Nonnull @NonnullElements
                                 Map<String,​Integer> mappings)
        Sets mappings of string constants to symbolic constants.
        Parameters:
        mappings - string to symbolic mappings
      • supports

        public boolean supports​(@Nonnull
                                Principal principal)
      • supports

        public boolean supports​(@Nonnull @NotEmpty
                                String value)
      • desymbolize

        @Nullable
        protected String desymbolize​(@Nonnull
                                     javax.json.JsonValue field)
        Map a field value to a string, either directly or via the symbolic map.
        Parameters:
        field - the object field to examine
        Returns:
        the resulting string, or null if invalid