Class SerializationRegistry


  • public final class SerializationRegistry
    extends java.lang.Object
    Allows registering KeySerializer, KeyParser, ParametersSerializer, and ParametersParser objects, and parsing/serializing keys and key formats with such objects.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  SerializationRegistry.Builder
      Allows building SerializationRegistry objects.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <SerializationT extends Serialization>
      boolean
      hasParserForKey​(SerializationT serializedKey)
      Returns true if a parser for this serializedKey has been registered.
      <SerializationT extends Serialization>
      boolean
      hasParserForParameters​(SerializationT serializedParameters)
      Returns true if a parser for this serializedKey has been registered.
      <KeyT extends Key,​SerializationT extends Serialization>
      boolean
      hasSerializerForKey​(KeyT key, java.lang.Class<SerializationT> serializationClass)
      Returns true if a parser for this serializedKey has been registered.
      <ParametersT extends Parameters,​SerializationT extends Serialization>
      boolean
      hasSerializerForParameters​(ParametersT parameters, java.lang.Class<SerializationT> serializationClass)
      Returns true if a parser for this serializedKey has been registered.
      <SerializationT extends Serialization>
      Key
      parseKey​(SerializationT serializedKey, SecretKeyAccess access)
      Parses the given serialization into a Key.
      <SerializationT extends Serialization>
      Parameters
      parseParameters​(SerializationT serializedParameters)
      Parses the given serialization into a Parameters.
      <KeyT extends Key,​SerializationT extends Serialization>
      SerializationT
      serializeKey​(KeyT key, java.lang.Class<SerializationT> serializationClass, SecretKeyAccess access)
      Serializes a given Key into a "SerializationT" object.
      <ParametersT extends Parameters,​SerializationT extends Serialization>
      SerializationT
      serializeParameters​(ParametersT parameters, java.lang.Class<SerializationT> serializationClass)
      Serializes a given Parameters object into a "SerializationT" object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • hasParserForKey

        public <SerializationT extends Serialization> boolean hasParserForKey​(SerializationT serializedKey)
        Returns true if a parser for this serializedKey has been registered.
      • parseKey

        public <SerializationT extends SerializationKey parseKey​(SerializationT serializedKey,
                                                                   @Nullable
                                                                   SecretKeyAccess access)
                                                            throws java.security.GeneralSecurityException
        Parses the given serialization into a Key.

        This will look up a previously registered parser for the passed in SerializationT class, and the used object identifier (as indicated by serializedKey.getObjectIdentifier()), and then parse the object with this parsers.

        Throws:
        java.security.GeneralSecurityException
      • hasSerializerForKey

        public <KeyT extends Key,​SerializationT extends Serialization> boolean hasSerializerForKey​(KeyT key,
                                                                                                         java.lang.Class<SerializationT> serializationClass)
        Returns true if a parser for this serializedKey has been registered.
      • serializeKey

        public <KeyT extends Key,​SerializationT extends Serialization> SerializationT serializeKey​(KeyT key,
                                                                                                         java.lang.Class<SerializationT> serializationClass,
                                                                                                         @Nullable
                                                                                                         SecretKeyAccess access)
                                                                                                  throws java.security.GeneralSecurityException
        Serializes a given Key into a "SerializationT" object.

        This will look up a previously registered serializer for the requested SerializationT class and the passed in key type, and then call serializeKey on the result.

        Throws:
        java.security.GeneralSecurityException
      • hasParserForParameters

        public <SerializationT extends Serialization> boolean hasParserForParameters​(SerializationT serializedParameters)
        Returns true if a parser for this serializedKey has been registered.
      • parseParameters

        public <SerializationT extends SerializationParameters parseParameters​(SerializationT serializedParameters)
                                                                          throws java.security.GeneralSecurityException
        Parses the given serialization into a Parameters.

        This will look up a previously registered parser for the passed in SerializationT class, and the used object identifier (as indicated by serializedKey.getObjectIdentifier()), and then parse the object with this parsers.

        Throws:
        java.security.GeneralSecurityException
      • hasSerializerForParameters

        public <ParametersT extends Parameters,​SerializationT extends Serialization> boolean hasSerializerForParameters​(ParametersT parameters,
                                                                                                                              java.lang.Class<SerializationT> serializationClass)
        Returns true if a parser for this serializedKey has been registered.
      • serializeParameters

        public <ParametersT extends Parameters,​SerializationT extends Serialization> SerializationT serializeParameters​(ParametersT parameters,
                                                                                                                              java.lang.Class<SerializationT> serializationClass)
                                                                                                                       throws java.security.GeneralSecurityException
        Serializes a given Parameters object into a "SerializationT" object.

        This will look up a previously registered serializer for the requested SerializationT class and the passed in key type, and then call serializeKey on the result.

        Throws:
        java.security.GeneralSecurityException