MutableSchemaBasedValueProcessor
Base trait for mutable value processors, processing a value with a known schema. An example is protocol encoders.
The implementation is stack safe and consists of invocations of a series of processXYZ methods, as well as built-in support for a context value which is handled in a stacked way.
Maintaining any global state (per process) such as stream writers etc. is the responsibility of the implementation class.
The Target type parameter is the base type for the process function's output value. In case the process is built entirely using side effects (such as calls to a mutable writer interface) this type can be Unit.
The Context type parameter is the use-case specific context type which is passed for each process invocation, and can be manipulated before each process call achieving a local state.
Value members
Abstract methods
Gets the context for an either's left or right value within the parent context
Gets the context for an either's left or right value within the parent context
Gets the context for an enum's given constructor within the parent context
Gets the context for an enum's given constructor within the parent context
Gets the context for a dictionary's given element within the parent context
Gets the context for a dictionary's given element within the parent context
Gets the context for an option's inner value within the parent context
Gets the context for an option's inner value within the parent context
Gets the context for a record's given field within the parent context
Gets the context for a record's given field within the parent context
Gets the context for a sequence's given element within the parent context
Gets the context for a sequence's given element within the parent context
Gets the context for a set's given element within the parent context
Gets the context for a set's given element within the parent context
Gets the context for a tuple's given field within the parent context
Gets the context for a tuple's given field within the parent context
- Process a dictionary using its already processed key-value pairs
Process a dynamic value. If the result is None it indicates that the processor has no built-in support for dynamic values, and the Dynamic value's schema should be used instead.
Process a dynamic value. If the result is None it indicates that the processor has no built-in support for dynamic values, and the Dynamic value's schema should be used instead.
Process an either value using its already processed left or right value
Process an either value using its already processed left or right value
Process an enum in the given context with the given schema using the processed constructor value and it's name
Process an enum in the given context with the given schema using the processed constructor value and it's name
Process an optional value using its already processed inner value, or None
Process an optional value using its already processed inner value, or None
Process a record in the given context with the given schema, using the already processed values of its fields.
Process a record in the given context with the given schema, using the already processed values of its fields.
Process a sequence using its already processed elements
Process a sequence using its already processed elements
Process a set using its already processed elements
Process a set using its already processed elements
Process a tuple using its already processed left and right values
Process a tuple using its already processed left and right values
Concrete methods
Called before processing a record (before calling processXYZ for the record's fields)
Called before processing a record (before calling processXYZ for the record's fields)