X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fpersisted%2FShardDataTreeSnapshotMetadata.java;h=0ddc785a90449dedb46dd228dcd04c2e4fdaade1;hp=f883a8d358f091385b0096ee35b6ab5eabe44688;hb=a81d98f692b80c45bce3fe6a87e731abfb012a9f;hpb=925cb4a228d0fda99c7bfeb432eb25285a223887 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotMetadata.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotMetadata.java index f883a8d358..0ddc785a90 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotMetadata.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotMetadata.java @@ -15,12 +15,15 @@ import javax.annotation.Nonnull; /** * Base class for various bits of metadata attached to a {@link MetadataShardDataTreeSnapshot}. This class is not * an interface because we want to make sure all subclasses implement the externalizable proxy pattern, for which - * we need to force {@link #readResolve()} to be abstract. - *

+ * we need to force {@link #writeReplace()} to be abstract. We do that by making it final and exposing a protected + * {@link #externalizableProxy()} method. + * + *

* All concrete subclasses of this class should be final so as to form a distinct set of possible metadata. Since * metadata is serialized along with {@link MetadataShardDataTreeSnapshot}, this set is part of the serialization format * guarded by {@link PayloadVersion}. - *

+ * + *

* If a new metadata type is introduced or a type is removed, {@link PayloadVersion} needs to be bumped to ensure * compatibility. *