Packages

t

com.digitalasset.canton.version

HasMemoizedProtocolVersionedWrapperCompanion2

trait HasMemoizedProtocolVersionedWrapperCompanion2[ValueClass <: HasRepresentativeProtocolVersion, DeserializedValueClass <: HasRepresentativeProtocolVersion] extends HasProtocolVersionedWrapperWithoutContextCompanion[ValueClass, DeserializedValueClass]

Trait for companion objects of serializable classes with memoization. Use this class if deserialization produces a different type than where serialization starts. For example, if a container can serialize its elements, but the container's deserializer does not deserialize the elements and instead leaves them as Bytestring.

Use HasMemoizedProtocolVersionedWrapperCompanion if the type distinction between serialization and deserialization is not needed.

Linear Supertypes
HasProtocolVersionedWrapperWithoutContextCompanion[ValueClass, DeserializedValueClass], HasProtocolVersionedWrapperCompanion[ValueClass, DeserializedValueClass], Serializable, HasSupportedProtoVersions[ValueClass], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HasMemoizedProtocolVersionedWrapperCompanion2
  2. HasProtocolVersionedWrapperWithoutContextCompanion
  3. HasProtocolVersionedWrapperCompanion
  4. Serializable
  5. HasSupportedProtoVersions
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type DataByteString = ByteString
  2. type Deserializer = (OriginalByteString, DataByteString) => ParsingResult[DeserializedValueClass]
  3. type OriginalByteString = ByteString
  4. type Serializer = (ValueClass) => ByteString
    Definition Classes
    HasSupportedProtoVersions
  5. type ThisRepresentativeProtocolVersion = RepresentativeProtocolVersion[HasMemoizedProtocolVersionedWrapperCompanion2.this.type]
    Attributes
    protected
    Definition Classes
    HasSupportedProtoVersions
  6. case class DefaultValueFromInclusive[T](attribute: (ValueClass) => T, attributeName: String, startInclusive: ThisRepresentativeProtocolVersion, defaultValue: T) extends DefaultValue[T] with Product with Serializable
    Definition Classes
    HasSupportedProtoVersions
  7. case class DefaultValueUntilExclusive[T](attribute: (ValueClass) => T, attributeName: String, untilExclusive: ThisRepresentativeProtocolVersion, defaultValue: T) extends DefaultValue[T] with Product with Serializable
    Definition Classes
    HasSupportedProtoVersions
  8. case class EmptyOptionExactlyUntilExclusive[T](attribute: (ValueClass) => Option[T], attributeName: String, untilExclusive: ThisRepresentativeProtocolVersion) extends DefaultValue[Option[T]] with Product with Serializable
    Definition Classes
    HasSupportedProtoVersions
  9. trait Invariant extends AnyRef
    Definition Classes
    HasSupportedProtoVersions
  10. case class LegacyProtoConverter extends ProtoCodec with PrettyPrinting with Product with Serializable

    Used to (de)serialize classes which for legacy reasons where not wrapped in VersionedMessage Chances are this is NOT the class you want to use, use VersionedProtoConverter instead when adding serialization to a new class

    Used to (de)serialize classes which for legacy reasons where not wrapped in VersionedMessage Chances are this is NOT the class you want to use, use VersionedProtoConverter instead when adding serialization to a new class

    Attributes
    protected[this]
    Definition Classes
    HasSupportedProtoVersions
  11. case class OneElementSeqExactlyUntilExclusive[T](attribute: (ValueClass) => Seq[T], attributeName: String, untilExclusive: ThisRepresentativeProtocolVersion) extends DefaultValue[Seq[T]] with Product with Serializable
    Definition Classes
    HasSupportedProtoVersions
  12. sealed trait ProtoCodec extends AnyRef

    Base class for (de)serializing from/to protobuf of ValueClass from a specific PV

    Base class for (de)serializing from/to protobuf of ValueClass from a specific PV

    Definition Classes
    HasSupportedProtoVersions
  13. case class SupportedProtoVersions extends Product with Serializable
    Definition Classes
    HasSupportedProtoVersions
  14. case class UnsupportedProtoCodec(fromInclusive: RepresentativeProtocolVersion[HasSupportedProtoVersions.this.type]) extends ProtoCodec with PrettyPrinting with Product with Serializable
    Attributes
    protected[this]
    Definition Classes
    HasSupportedProtoVersions
  15. case class VersionedProtoConverter extends ProtoCodec with PrettyPrinting with Product with Serializable

    Supported Proto version

    Supported Proto version

    Attributes
    protected[this]
    Definition Classes
    HasSupportedProtoVersions

Abstract Value Members

  1. abstract def name: String

    The name of the class as used for pretty-printing and error reporting

    The name of the class as used for pretty-printing and error reporting

    Definition Classes
    HasProtocolVersionedWrapperCompanionHasSupportedProtoVersions
  2. abstract def supportedProtoVersions: SupportedProtoVersions

    Proto versions that are supported by fromByteString See the helper supportedProtoVersion below to define a Parser.

    Proto versions that are supported by fromByteString See the helper supportedProtoVersion below to define a Parser.

    Definition Classes
    HasSupportedProtoVersions

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. def deserializationErrorK(error: ProtoDeserializationError): (OriginalByteString, DataByteString) => ParsingResult[DeserializedValueClass]
  7. def deserializeForVersion(rpv: RepresentativeProtocolVersion[HasMemoizedProtocolVersionedWrapperCompanion2.this.type], deserializeLegacyProto: (Deserializer) => ParsingResult[DeserializedValueClass], deserializeVersionedProto: => ParsingResult[DeserializedValueClass]): ParsingResult[DeserializedValueClass]
    Attributes
    protected
    Definition Classes
    HasProtocolVersionedWrapperCompanion
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def fromByteString(expectedProtocolVersion: ProtocolVersionValidation)(bytes: OriginalByteString): ParsingResult[DeserializedValueClass]

    Variation of fromByteString that takes a ProtocolVersionValidation instead of a ProtocolVersion.

    Variation of fromByteString that takes a ProtocolVersionValidation instead of a ProtocolVersion.

    Use this method when sometimes no protocol version can be passed for the expectedProtocolVersion. For these cases use ProtocolVersionValidation.NoValidation.

    Definition Classes
    HasMemoizedProtocolVersionedWrapperCompanion2HasProtocolVersionedWrapperWithoutContextCompanion
  11. def fromByteString(expectedProtocolVersion: ProtocolVersion)(bytes: OriginalByteString): ParsingResult[DeserializedValueClass]

    Deserializes the given bytes and checks that the therein embedded proto version matches the expectedProtocolVersion.

    Deserializes the given bytes and checks that the therein embedded proto version matches the expectedProtocolVersion.

    Use this method whenever the origin of the given bytes cannot be trusted, and for example the proto version message field may be set maliciously. This should be your default choice for deserialization.

    expectedProtocolVersion

    the protocol version on which the sync domain is running on

    bytes

    an untrusted byte string with an embedded proto version

    Definition Classes
    HasMemoizedProtocolVersionedWrapperCompanion2HasProtocolVersionedWrapperWithoutContextCompanion
  12. def fromByteStringLegacy(protoVersion: ProtoVersion)(bytes: OriginalByteString): ParsingResult[DeserializedValueClass]

    Use this method when deserializing bytes for classes that have a legacy proto converter to explicitly set the version to use for the deserialization.

    Use this method when deserializing bytes for classes that have a legacy proto converter to explicitly set the version to use for the deserialization.

    protoVersion

    Proto version of the bytes to be deserialized

    bytes

    data

  13. def fromByteStringUnsafe(bytes: OriginalByteString): ParsingResult[DeserializedValueClass]

    Deserializes the given bytes without validation.

    Deserializes the given bytes without validation.

    Unsafe! Do NOT use this method unless you can justify that the given bytes originate from a trusted source.

    bytes

    a trusted byte string with an embedded proto version

    Definition Classes
    HasMemoizedProtocolVersionedWrapperCompanion2HasProtocolVersionedWrapperWithoutContextCompanion
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. def invariants: Seq[Invariant]
    Definition Classes
    HasSupportedProtoVersions
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  21. def protoVersionFor(protocolVersion: ProtocolVersion): ProtoVersion

    Return the Proto version corresponding to the protocol version

    Return the Proto version corresponding to the protocol version

    Definition Classes
    HasSupportedProtoVersions
  22. def protoVersionFor(protocolVersion: RepresentativeProtocolVersion[HasMemoizedProtocolVersionedWrapperCompanion2.this.type]): ProtoVersion

    Return the Proto version corresponding to the representative protocol version

    Return the Proto version corresponding to the representative protocol version

    Definition Classes
    HasSupportedProtoVersions
  23. def protocolVersionRepresentativeFor(protoVersion: ProtoVersion): ParsingResult[RepresentativeProtocolVersion[HasMemoizedProtocolVersionedWrapperCompanion2.this.type]]

    Return the representative protocol version corresponding to the proto version

    Return the representative protocol version corresponding to the proto version

    Definition Classes
    HasSupportedProtoVersions
  24. def protocolVersionRepresentativeFor(protocolVersion: ProtocolVersion): RepresentativeProtocolVersion[HasMemoizedProtocolVersionedWrapperCompanion2.this.type]
    Definition Classes
    HasSupportedProtoVersions
  25. def supportedProtoVersionMemoized[Proto <: GeneratedMessage](p: GeneratedMessageCompanion[Proto])(fromProto: (Proto) => (OriginalByteString) => ParsingResult[DeserializedValueClass]): Deserializer
    Attributes
    protected
  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. def tryProtocolVersionRepresentativeFor(protoVersion: ProtoVersion): RepresentativeProtocolVersion[HasMemoizedProtocolVersionedWrapperCompanion2.this.type]

    Returns the representative protocol version corresponding to the proto version, throws otherwise.

    Returns the representative protocol version corresponding to the proto version, throws otherwise.

    Definition Classes
    HasSupportedProtoVersions
  29. def validateInstance(instance: ValueClass, representativeProtocolVersion: ThisRepresentativeProtocolVersion): Either[String, Unit]

    Will check that default value rules defined in companionObj.defaultValues hold.

    Will check that default value rules defined in companionObj.defaultValues hold.

    Definition Classes
    HasProtocolVersionedWrapperCompanion
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. object LegacyProtoConverter extends Serializable
    Definition Classes
    HasSupportedProtoVersions
  34. object SupportedProtoVersions extends Serializable
    Definition Classes
    HasSupportedProtoVersions
  35. object UnsupportedProtoCodec extends Serializable
    Definition Classes
    HasSupportedProtoVersions
  36. object VersionedProtoConverter extends Serializable
    Definition Classes
    HasSupportedProtoVersions

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from HasProtocolVersionedWrapperWithoutContextCompanion[ValueClass, DeserializedValueClass]

Inherited from HasProtocolVersionedWrapperCompanion[ValueClass, DeserializedValueClass]

Inherited from Serializable

Inherited from HasSupportedProtoVersions[ValueClass]

Inherited from AnyRef

Inherited from Any

Ungrouped