Allow objects to serialize their nested objects

Introduce an optional interface for callers to encode themselves.
This commit is contained in:
Clayton Coleman
2016-05-25 22:50:29 -04:00
parent 12a5eeea17
commit ce57455de6
4 changed files with 137 additions and 58 deletions

View File

@@ -154,6 +154,18 @@ type StorageSerializer interface {
DecoderToVersion(serializer Decoder, gv GroupVersioner) Decoder
}
// NestedObjectEncoder is an optional interface that objects may implement to be given
// an opportunity to encode any nested Objects / RawExtensions during serialization.
type NestedObjectEncoder interface {
EncodeNestedObjects(e Encoder) error
}
// NestedObjectDecoder is an optional interface that objects may implement to be given
// an opportunity to decode any nested Objects / RawExtensions during serialization.
type NestedObjectDecoder interface {
DecodeNestedObjects(d Decoder) error
}
///////////////////////////////////////////////////////////////////////////////
// Non-codec interfaces