Class NameIDPrincipalSerializer

All Implemented Interfaces:
PrincipalSerializer<String>, Component, DestructableComponent, InitializableComponent

@ThreadSafe
public class NameIDPrincipalSerializer
extends AbstractPrincipalSerializer<String>
Principal serializer for NameIDPrincipal.
  • Field Details

    • PRINCIPAL_NAME_FIELD

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

      @Nonnull @NotEmpty private static final String FORMAT_FIELD
      Field name of Format attribute.
      See Also:
      Constant Field Values
    • NAME_QUALIFIER_FIELD

      @Nonnull @NotEmpty private static final String NAME_QUALIFIER_FIELD
      Field name of NameQualifier attribute.
      See Also:
      Constant Field Values
    • SP_NAME_QUALIFIER_FIELD

      @Nonnull @NotEmpty private static final String SP_NAME_QUALIFIER_FIELD
      Field name of SPNameQualifier attribute.
      See Also:
      Constant Field Values
    • SP_PROVIDED_ID_FIELD

      @Nonnull @NotEmpty private static final String SP_PROVIDED_ID_FIELD
      Field name of SPProvidedID attribute.
      See Also:
      Constant Field Values
    • JSON_PATTERN

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

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

      @Nonnull private final javax.json.JsonBuilderFactory objectBuilderFactory
      JSON object bulder factory.
    • nameIDBuilder

      @Nonnull private final SAMLObjectBuilder<NameID> nameIDBuilder
      NameID builder.
  • Constructor Details

    • NameIDPrincipalSerializer

      public NameIDPrincipalSerializer()
      Constructor.
  • Method Details

    • supports

      public boolean supports​(@Nonnull Principal principal)
      Whether the supplied principal can be serialized.
      Parameters:
      principal - to examine
      Returns:
      whether principal can be serialized
    • serialize

      @Nonnull @NotEmpty public String serialize​(@Nonnull Principal principal) throws IOException
      Serialize the supplied principal.
      Parameters:
      principal - to serialize
      Returns:
      serialized value
      Throws:
      IOException - if an error occurs during serialization
    • supports

      public boolean supports​(@Nonnull @NotEmpty String value)
      Whether the supplied value can be deserialized.
      Parameters:
      value - to examine
      Returns:
      whether value can be deserialized
    • deserialize

      @Nullable public NameIDPrincipal deserialize​(@Nonnull @NotEmpty String value) throws IOException
      Deserialize the supplied value.
      Parameters:
      value - to deserialize
      Returns:
      principal
      Throws:
      IOException - if an error occurs during deserialization