Class ParametersParser<SerializationT extends Serialization>
- java.lang.Object
-
- com.google.crypto.tink.internal.ParametersParser<SerializationT>
-
public abstract class ParametersParser<SerializationT extends Serialization> extends java.lang.ObjectParsesSerializationobjects intoParametersobjects 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 interfaceParametersParser.ParametersParsingFunction<SerializationT extends Serialization>A function which parses a Parameters object.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <SerializationT extends Serialization>
ParametersParser<SerializationT>create(ParametersParser.ParametersParsingFunction<SerializationT> function, Bytes objectIdentifier, java.lang.Class<SerializationT> serializationClass)Creates a ParametersParser object.BytesgetObjectIdentifier()Returns theobjectIdentifierfor this serialization.java.lang.Class<SerializationT>getSerializationClass()abstract ParametersparseParameters(SerializationT serialization)Parses a serialization into aParametersobject.
-
-
-
Method Detail
-
parseParameters
public abstract Parameters parseParameters(SerializationT serialization) throws java.security.GeneralSecurityException
Parses a serialization into aParametersobject.This function is usually called with a Serialization matching the result of
getObjectIdentifier(). However, implementations should check that this is the case.- Throws:
java.security.GeneralSecurityException
-
getObjectIdentifier
public final Bytes getObjectIdentifier()
Returns theobjectIdentifierfor this serialization.The object identifier is a unique identifier per registry for this object (in the standard proto serialization, it is the typeUrl). In other words, when registering a
ParametersParser, the registry will invoke this to get the handled object identifier. In order to parse an object of typeSerializationT, the registry will then obtain theobjectIdentifierof this serialization object, and call the parser corresponding to this object.
-
getSerializationClass
public final java.lang.Class<SerializationT> getSerializationClass()
-
create
public static <SerializationT extends Serialization> ParametersParser<SerializationT> create(ParametersParser.ParametersParsingFunction<SerializationT> function, Bytes objectIdentifier, java.lang.Class<SerializationT> serializationClass)
Creates a ParametersParser object.In order to create a ParametersParser object, one typically writes a function
This function can then be used to create aclass MyClass { private static MyParameters parse(MySerialization parametersSerialization) throws GeneralSecurityException { ... } }ParametersParser:ParametersParser<MySerialization> parser = ParametersParser.create(MyClass::parse, objectIdentifier, MySerialization.class);- Parameters:
function- The function used to parse aParametersobject.objectIdentifier- The identifier to be returned bygetObjectIdentifier()serializationClass- The class object corresponding toSerializationT
-
-