Package com.google.crypto.tink.internal
Class KeySerializer<KeyT extends Key,SerializationT extends Serialization>
- java.lang.Object
-
- com.google.crypto.tink.internal.KeySerializer<KeyT,SerializationT>
-
public abstract class KeySerializer<KeyT extends Key,SerializationT extends Serialization> extends java.lang.ObjectSerializesKeyobjects intoSerializationobjects of a certain kind.This class should eventually be in Tinks public API -- however, it might still change before that.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceKeySerializer.KeySerializationFunction<KeyT extends Key,SerializationT extends Serialization>A function which serializes a key.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <KeyT extends Key,SerializationT extends Serialization>
KeySerializer<KeyT,SerializationT>create(KeySerializer.KeySerializationFunction<KeyT,SerializationT> function, java.lang.Class<KeyT> keyClass, java.lang.Class<SerializationT> serializationClass)Creates a KeySerializer object.java.lang.Class<KeyT>getKeyClass()java.lang.Class<SerializationT>getSerializationClass()abstract SerializationTserializeKey(KeyT key, SecretKeyAccess access)
-
-
-
Method Detail
-
serializeKey
public abstract SerializationT serializeKey(KeyT key, @Nullable SecretKeyAccess access) throws java.security.GeneralSecurityException
- Throws:
java.security.GeneralSecurityException
-
getKeyClass
public java.lang.Class<KeyT> getKeyClass()
-
getSerializationClass
public java.lang.Class<SerializationT> getSerializationClass()
-
create
public static <KeyT extends Key,SerializationT extends Serialization> KeySerializer<KeyT,SerializationT> create(KeySerializer.KeySerializationFunction<KeyT,SerializationT> function, java.lang.Class<KeyT> keyClass, java.lang.Class<SerializationT> serializationClass)
Creates a KeySerializer object.In order to create a KeySerializer object, one typically writes a function
This function can then be used to create aclass MyClass { private static MySerialization serialize(MyKey key, @Nullable SecretKeyAccess access) throws GeneralSecurityException { ... } }KeySerializer:KeySerializer<MyKey, MySerialization> serializer = KeySerializer.create(MyClass::serialize, MyKey.class, MySerialization.class);Note that calling this function twice will result in objects which are not equal according to
Object.equals, and hence cannot be used to re-register a previously registered object.
-
-