org.apache.cassandra.io.sstable

## Class SSTableMetadata.SSTableMetadataSerializer

- java.lang.Object
- - org.apache.cassandra.io.sstable.SSTableMetadata.SSTableMetadataSerializer

Enclosing class:
  SSTableMetadata

    public static class SSTableMetadata.SSTableMetadataSerializer
    extends java.lang.Object

### Constructor Summary

Constructors
Constructor and Description
`SSTableMetadata.SSTableMetadataSerializer()`

### Method Summary

Methods
`Pair<SSTableMetadata,java.util.Set<java.lang.Integer>>` `deserialize(java.io.DataInputStream in, Descriptor desc)`
`Pair<SSTableMetadata,java.util.Set<java.lang.Integer>>` `deserialize(java.io.DataInputStream in, Descriptor desc, boolean loadSSTableLevel)`
`Pair<SSTableMetadata,java.util.Set<java.lang.Integer>>` `deserialize(Descriptor descriptor)` deserializes the metadata returns a pair containing the part of the metadata meant to be kept-in memory and the part that should not.
`Pair<SSTableMetadata,java.util.Set<java.lang.Integer>>` `deserialize(Descriptor descriptor, boolean loadSSTableLevel)`
`void` `legacySerialize(SSTableMetadata sstableStats, java.util.Set<java.lang.Integer> ancestors, Descriptor legacyDesc, java.io.DataOutput out)` Deprecated. will be removed when it is assumed that the minimum upgrade-from-version is the version that this patch made it into
`void` `serialize(SSTableMetadata sstableStats, java.util.Set<java.lang.Integer> ancestors, java.io.DataOutput out)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SSTableMetadata.SSTableMetadataSerializer

    public SSTableMetadata.SSTableMetadataSerializer()

### Method Detail

#### serialize

    public void serialize(SSTableMetadata sstableStats,
                 java.util.Set<java.lang.Integer> ancestors,
                 java.io.DataOutput out)
                   throws java.io.IOException

Throws:
  `java.io.IOException`

#### legacySerialize

    @Deprecated
    public void legacySerialize(SSTableMetadata sstableStats,
                                  java.util.Set<java.lang.Integer> ancestors,
                                  Descriptor legacyDesc,
                                  java.io.DataOutput out)
                         throws java.io.IOException

Deprecated. will be removed when it is assumed that the minimum upgrade-from-version is the version that this patch made it into
Used to serialize to an old version - needed to be able to update sstable level without a full compaction.

Parameters:
  `sstableStats` -
  `legacyDesc` -
  `out` -
Throws:
  `java.io.IOException`

#### deserialize

    public Pair<SSTableMetadata,java.util.Set<java.lang.Integer>> deserialize(Descriptor descriptor)
                                                                       throws java.io.IOException

deserializes the metadata returns a pair containing the part of the metadata meant to be kept-in memory and the part that should not.

Parameters:
  `descriptor` - the descriptor
Returns:
  a pair containing data that needs to be in memory and data that is potentially big and is not needed in memory
Throws:
  `java.io.IOException`

#### deserialize

    public Pair<SSTableMetadata,java.util.Set<java.lang.Integer>> deserialize(Descriptor descriptor,
                                                                     boolean loadSSTableLevel)
                                                                       throws java.io.IOException

Throws:
  `java.io.IOException`

#### deserialize

    public Pair<SSTableMetadata,java.util.Set<java.lang.Integer>> deserialize(java.io.DataInputStream in,
                                                                     Descriptor desc)
                                                                       throws java.io.IOException

Throws:
  `java.io.IOException`

#### deserialize

    public Pair<SSTableMetadata,java.util.Set<java.lang.Integer>> deserialize(java.io.DataInputStream in,
                                                                     Descriptor desc,
                                                                     boolean loadSSTableLevel)
                                                                       throws java.io.IOException

Throws:
  `java.io.IOException`