BDLContext implementation of
BaggageContext.See: Description
| Interface | Description |
|---|---|
| Bag |
The BDL compiler generates classes that implement this interface, Bag.
|
| BaggageHandler<T extends Bag> |
Provides serialization, deserialization, branch, and merge logic for a bag type.
|
| Brancher<T> | |
| Joiner<T> | |
| Parser<T> | |
| Parser.ElementParser<T> | |
| Serializer<T> | |
| Serializer.ElementSerializer<T> |
A serializer that only serializes data elements and not bags
|
| SpecialTypes.Counter |
A P-Counter CRDT, corresponding to the
counter BDL type |
| Struct |
BDL supports structs, which are simply several data types combined into a single binary blob and
encoded as one atom.
|
| Struct.StructHandler<S> | |
| Struct.StructReader<S> | |
| Struct.StructSizer<S> | |
| Struct.StructWriter<S> |
| Class | Description |
|---|---|
| BDLUtils | |
| Branchers |
Branch logic for primitive BDL types
Branchers.noop(), sets, and maps. |
| Cast |
Converts between
ByteBuffer and Object representations for primitive BDL types. |
| CounterImpl |
Implements the special
SpecialTypes.Counter type based on the P-Counter CRDT; the counter BDL type uses this. |
| CounterImpl.Handler |
Provides branch, merge, and serialization logic for
CounterImpl |
| Joiners |
Merge logic for primitive BDL types
Joiners.first(), sets, and maps. |
| Parsers |
Parsers for built-in types used by compiled baggage buffers classes
|
| ReaderHelpers |
Helper methods used by compiled baggagebuffers classes
|
| Serializers |
Serializers for built-in types used by compiled baggage buffers classes
|
| SpecialTypes |
Defines the interfaces for special BDL types such as
SpecialTypes.Counter |
| StructHelpers |
Helpers to read and write values from structs
|
| WriterHelpers |
Helper methods used by compiled baggagebuffers classes
|
Library classes used by BDL-generated objects, including the BDLContext implementation of
BaggageContext.
The two main interfaces used by BDL are Bag and BaggageHandler. Bags are nodes in the nested
data structure tree, while BaggageHandlers provide branch, join, and serialization logic for Bags.
Bag and BaggageHandler are conceptually similar to BaggageContext and BaggageProvider
, except applying to nodes within a BDLContext.
The BDL library classes also include CRDT-like data structures that the BDL supports, such as counters, implemented
by CounterImpl.