Interface ValueDecoder<Data>
- Type Parameters:
Data
- The codegen or primitive type that this decodes aValue
to.
- 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 ValueDecoder
s 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:
-