Interface ValueDecoder<Data>
- Type Parameters:
Data- The codegen or primitive type that this decodes aValueto.
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
A converter from the encoded form of a Daml value, represented by
Value, to the
codegen-decoded form, represented by Data.
Every codegen class for a template, record, or variant includes a valueDecoder method
that produces one of these. If the data type has type parameters, valueDecoder has
arguments that correspond to ValueDecoders for those type arguments. For primitive types
that are not code-generated, see PrimitiveValueDecoders.
// given template 'Foo', and encoded payload 'Value fooValue'
Foo foo = Foo.valueDecoder().decode(fooValue);
// given Daml datatypes 'Bar a b' and 'Baz',
// and encoded 'Bar' 'Value barValue'
Bar<Baz, Long> bar = Bar.valueDecoder(
Baz.valueDecoder(), PrimitiveValueDecoders.fromInt64)
.decode(barValue);
Bar<List<Baz>, Map<Long, String>> barWithAggregates = Bar.valueDecoder(
PrimitiveValueDecoders.fromList(Baz.valueDecoder),
PrimitiveValueDecoders.fromGenMap(
PrimitiveValueDecoders.fromInt64,
PrimitiveValueDecoders.fromText))
.decode(barAggregateValue);
-
Method Summary
-
Method Details
-
decode
- See Also:
-