public class BuilderCodec
A fluent builder-style codec for complex object serialization. Provides type-safe field registration with automatic validation and schema generation.
java.lang.Object > BuilderCodec
Field Summary
min
Field min.
t
Field t.
results
Field results.
document
Field document.
key
Field key.
treeMapEntry
Field treeMapEntry.
keyEntry
Field keyEntry.
codec
Field codec.
bsonValue
Field bsonValue.
inheritCodec
Field inheritCodec.
value
Field value.
parentValue
Field parentValue.
read
Field read.
version
Field version.
schema
Field schema.
comment
Field comment.
meta
Field meta.
c
Field c.
fieldSchema
Field fieldSchema.
type
Field type.
field
Field field.
documentation
Field documentation.
metadata
Field metadata.
codecVersion
Field codecVersion.
minCodecVersion
Field minCodecVersion.
versioned
Field versioned.
useLegacyVersion
Field useLegacyVersion.
Method Detail
getInnerClass
Class
getInnerClass
()
Method getInnerClass.
getSupplier
Supplier
getSupplier
()
Method getSupplier.
getDefaultValue
T
getDefaultValue
()
Method getDefaultValue.
getEntries
>>
getEntries
()
Method getEntries.
getAfterDecode
ExtraInfo>
getAfterDecode
()
Method getAfterDecode.
getParent
T>
getParent
()
Method getParent.
getDocumentation
String
getDocumentation
()
Method getDocumentation.
getCodecVersion
int
getCodecVersion
()
Method getCodecVersion.
inherit
Method inherit.
- Parameters:
final Tt@Nonnull final Tparent@Nonnull final ExtraInfoextraInfo
afterDecodeAndValidate
Method afterDecodeAndValidate.
- Parameters:
final Tt@Nonnull final ExtraInfoextraInfo
if
else
if
(this.validator != null)
Method if.
- Parameters:
this.validator !=null
decode
Method decode.
- Parameters:
@Nonnull final BsonValuebsonValue@Nonnull final ExtraInfoextraInfo
decode0
Method decode0.
- Parameters:
@Nonnull final BsonDocumentdocumentfinal TtExtraInfoextraInfo
encode0
BsonDocument
encode0
(final T t, @Nonnull final BsonDocument document, @Nonnull final ExtraInfo extraInfo)
Method encode0.
- Parameters:
final Tt@Nonnull final BsonDocumentdocument@Nonnull final ExtraInfoextraInfo
decodeJson
Method decodeJson.
- Parameters:
@Nonnull final RawJsonReaderreader@Nonnull final ExtraInfoextraInfo
decodeJson0
Method decodeJson0.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal TtExtraInfoextraInfo
readEntry
void
readEntry
(@Nonnull final RawJsonReader reader, final T t, @Nonnull final ExtraInfo extraInfo)
Method readEntry.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal Tt@Nonnull final ExtraInfoextraInfo
IllegalArgumentException
new
IllegalArgumentException
("Unknown field entry type: " + String.valueOf(keyEntry.getType()
Method IllegalArgumentException.
- Parameters:
"Unknown field entry type: " +String.valueOf(keyEntry.getType(
readField
void
readField
(@Nonnull final RawJsonReader reader, final T t, @Nonnull final ExtraInfo extraInfo, final String key, @Nonnull final List> fields)
Method readField.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal Tt@Nonnull final ExtraInfoextraInfofinal Stringkey@Nonnull final Listfields>
readUnknownField
void
readUnknownField
(@Nonnull final RawJsonReader reader, @Nonnull final ExtraInfo extraInfo)
Method readUnknownField.
- Parameters:
@Nonnull final RawJsonReaderreader@Nonnull final ExtraInfoextraInfo
decodeAndInherit
T
decodeAndInherit
(@Nonnull final BsonDocument document, final T parent, final ExtraInfo extraInfo)
Method decodeAndInherit.
- Parameters:
@Nonnull final BsonDocumentdocumentfinal Tparentfinal ExtraInfoextraInfo
decodeAndInherit0
void
decodeAndInherit0
(@Nonnull final BsonDocument document, final T t, final T parent, @Nonnull final ExtraInfo extraInfo)
Method decodeAndInherit0.
- Parameters:
@Nonnull final BsonDocumentdocumentfinal Ttfinal Tparent@Nonnull final ExtraInfoextraInfo
decodeAndInheritJson
T
decodeAndInheritJson
(@Nonnull final RawJsonReader reader, final T parent, final ExtraInfo extraInfo)
Method decodeAndInheritJson.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal Tparentfinal ExtraInfoextraInfo
decodeAndInheritJson0
void
decodeAndInheritJson0
(@Nonnull final RawJsonReader reader, final T t, final T parent, @Nonnull final ExtraInfo extraInfo)
Method decodeAndInheritJson0.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal Ttfinal Tparent@Nonnull final ExtraInfoextraInfo
readAndInheritEntry
void
readAndInheritEntry
(@Nonnull final RawJsonReader reader, final T t, final T parent, @Nonnull final ExtraInfo extraInfo)
Method readAndInheritEntry.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal Ttfinal Tparent@Nonnull final ExtraInfoextraInfo
readAndInheritField
void
readAndInheritField
(@Nonnull final RawJsonReader reader, final T t, final T parent, @Nonnull final ExtraInfo extraInfo, final String key, @Nonnull final List> fields)
Method readAndInheritField.
- Parameters:
@Nonnull final RawJsonReaderreaderfinal Ttfinal Tparent@Nonnull final ExtraInfoextraInfofinal Stringkey@Nonnull final Listfields>
decodeVersion
Method decodeVersion.
- Parameters:
final BsonDocumentdocument@Nonnull final ExtraInfoextraInfo
validateDefaults
Method validateDefaults.
- Parameters:
@Nonnull final ExtraInfoextraInfo@Nonnull final Settested>
createSchemaFields
void
createSchemaFields
(@Nonnull final SchemaContext context, @Nullable final T def, @Nonnull final BuilderCodec codec, @Nonnull final Map properties)
Method createSchemaFields.
- Parameters:
@Nonnull final SchemaContextcontext@Nullable final Tdef@Nonnull final BuilderCodeccodec@Nonnull final Mapproperties
toString
String
toString
()
Method toString.
findEntry
?>
findEntry
(@Nonnull BuilderCodec super T> current, final String key, @Nonnull final ExtraInfo extraInfo)
Method findEntry.
- Parameters:
@Nonnull BuilderCodec super T>currentfinal Stringkey@Nonnull final ExtraInfoextraInfo
findField
Method findField.
- Parameters:
@Nullable final Listentry@Nonnull final ExtraInfoextraInfo
builder
Method builder.
- Parameters:
final ClasstClassfinal Suppliersupplier
abstractBuilder
Method abstractBuilder.
- Parameters:
final ClasstClass
Builder
protected
Builder
(final Class tClass, final Supplier supplier)
Method Builder.
- Parameters:
final ClasstClassfinal Suppliersupplier
BuilderBase
protected
BuilderBase
(final Class tClass, final Supplier supplier)
Method BuilderBase.
- Parameters:
final ClasstClassfinal Suppliersupplier
KeyEntry
new
KeyEntry
(EntryType.IGNORE)
Method KeyEntry.
- Parameters:
EntryType.IGNOREEntryType.IGNORE
self
S
self
()
Method self.
documentation
S
documentation
(final String doc)
Method documentation.
- Parameters:
final Stringdoc
versioned
S
versioned
()
Method versioned.
legacyVersioned
S
legacyVersioned
()
Method legacyVersioned.
addField
S
addField
(@Nonnull final KeyedCodec codec, @Nonnull final BiConsumer setter, @Nonnull final Function getter)
Method addField.
- Parameters:
@Nonnull final KeyedCodeccodec@Nonnull final BiConsumersetter@Nonnull final Functiongetter
append
S>
append
(final KeyedCodec codec, @Nonnull final BiConsumer setter, @Nonnull final Function getter)
Method append.
- Parameters:
final KeyedCodeccodec@Nonnull final BiConsumersetter@Nonnull final Functiongetter
appendInherited
S>
appendInherited
(final KeyedCodec codec, @Nonnull final BiConsumer setter, @Nonnull final Function getter, @Nonnull final BiConsumer inherit)
Method appendInherited.
- Parameters:
final KeyedCodeccodec@Nonnull final BiConsumersetter@Nonnull final Functiongetter@Nonnull final BiConsumerinherit
ObjectArrayList
new
ObjectArrayList
()
Method ObjectArrayList.
validator
S
validator
(final BiConsumer validator)
Method validator.
- Parameters:
final BiConsumervalidator
codecVersion
S
codecVersion
(final int minCodecVersion, final int codecVersion)
Method codecVersion.
- Parameters:
final intminCodecVersionfinal intcodecVersion
getType
EntryType
getType
()
Method getType.
getFields
>
getFields
()
Method getFields.