Class ContractCompanion<Ct,​Id,​Data>

  • Type Parameters:
    Ct - The Contract subclass generated within the template class.
    Id - The ContractId subclass generated within the template class.
    Data - The generated Template subclass named after the template, whose instances contain only the payload.
    Direct Known Subclasses:
    ContractCompanion.WithKey, ContractCompanion.WithoutKey

    public abstract class ContractCompanion<Ct,​Id,​Data>
    extends ContractTypeCompanion<Data,​Data>
    Metadata and utilities associated with a template as a whole, rather than one single contract made from that template.

    Application code should not instantiate or subclass; instead, refer to the COMPANION field on generated Template subclasses. All protected members herein are considered part of the INTERNAL API.

    • Field Detail

      • newContractId

        protected final java.util.function.Function<java.lang.String,​Id> newContractId
      • fromValue

        protected final java.util.function.Function<DamlRecord,​Data> fromValue
    • Constructor Detail

      • ContractCompanion

        protected ContractCompanion​(java.lang.String templateClassName,
                                    Identifier templateId,
                                    java.util.function.Function<java.lang.String,​Id> newContractId,
                                    java.util.function.Function<DamlRecord,​Data> fromValue,
                                    java.util.List<ChoiceMetadata<Data,​?,​?>> choices)
        INTERNAL API: this is meant for use by ContractCompanion.WithoutKey and ContractCompanion.WithKey, and should not be referenced directly. Applications should refer to the COMPANION field on generated Template subclasses instead.
    • Method Detail

      • valueDecoder

        public static <Data> ValueDecoder<Data> valueDecoder​(ContractCompanion<?,​? extends ContractId<Data>,​Data> companion)
        Static method to generate an implementation of ValueDecoder of type Data with metadata from the provided ContractCompanion.
        Parameters:
        companion - an instance of ContractCompanion.
        Returns:
        The ValueDecoder for parsing Value to get an instance of Data.
      • fromCreatedEvent

        public abstract Ct fromCreatedEvent​(CreatedEvent event)
        Tries to parse a contract from an event expected to create a Ct contract.
        Parameters:
        event - the event to try to parse a contract from
        Returns:
        The parsed contract, with payload and metadata, if present.
        Throws:
        java.lang.IllegalArgumentException - when the CreatedEvent.arguments cannot be parsed as Data, or the CreatedEvent.contractKey cannot be parsed as Key.
      • toContractId

        public Id toContractId​(ContractId<Data> parameterizedContractId)