Class LedgerMetadataSerDe


  • public class LedgerMetadataSerDe
    extends java.lang.Object
    Serialization and deserialization for LedgerMetadata.
    • Field Detail

      • METADATA_FORMAT_VERSION_1

        public static final int METADATA_FORMAT_VERSION_1
        Text based manual serialization. Available from v4.0.x onwards.
        See Also:
        Constant Field Values
      • METADATA_FORMAT_VERSION_2

        public static final int METADATA_FORMAT_VERSION_2
        Protobuf based, serialized using TextFormat. Available from v4.2.x onwards. Can contain ctime or not, but if it contains ctime it can only be parse by v4.4.x onwards.
        See Also:
        Constant Field Values
      • METADATA_FORMAT_VERSION_3

        public static final int METADATA_FORMAT_VERSION_3
        Protobuf based, serialized in binary format. Available from v4.9.x onwards.
        See Also:
        Constant Field Values
      • MAXIMUM_METADATA_FORMAT_VERSION

        public static final int MAXIMUM_METADATA_FORMAT_VERSION
        See Also:
        Constant Field Values
      • CURRENT_METADATA_FORMAT_VERSION

        public static final int CURRENT_METADATA_FORMAT_VERSION
        See Also:
        Constant Field Values
    • Constructor Detail

      • LedgerMetadataSerDe

        public LedgerMetadataSerDe()
    • Method Detail

      • serialize

        public byte[] serialize​(LedgerMetadata metadata)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseConfig

        public LedgerMetadata parseConfig​(byte[] bytes,
                                          long ledgerId,
                                          java.util.Optional<java.lang.Long> metadataStoreCtime)
                                   throws java.io.IOException
        Parses a given byte array and transforms into a LedgerConfig object.
        Parameters:
        bytes - byte array to parse
        metadataStoreCtime - metadata store creation time, used for legacy ledgers
        Returns:
        LedgerConfig
        Throws:
        java.io.IOException - if the given byte[] cannot be parsed