Class X500PrincipalSerializer

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

@ThreadSafe
public class X500PrincipalSerializer
extends AbstractPrincipalSerializer<String>
Principal serializer for X500Principal.
Since:
4.1.0
  • Field Details

    • X500_NAME_FIELD

      @Nonnull @NotEmpty private static final String X500_NAME_FIELD
      Field name of X.500 name.
      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.
  • Constructor Details

    • X500PrincipalSerializer

      public X500PrincipalSerializer()
      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 X500Principal 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
    • getJsonObjectBuilder

      @Nonnull private javax.json.JsonObjectBuilder getJsonObjectBuilder()
      Get a JsonObjectBuilder in a thread-safe manner.
      Returns:
      an object builder
    • getJsonArrayBuilder

      @Nonnull private javax.json.JsonArrayBuilder getJsonArrayBuilder()
      Get a JsonArrayBuilder in a thread-safe manner.
      Returns:
      an array builder