Value extracted from POJO or JSON
It is wrapped into StatementPlaceholder#Value, because its real type
is unknown in compile time and all we need is its method
.set(preparedStatement: PreparedStatement, placeholder: Int): Unit
to fill PreparedStatement
Optional Int-indexed Map of ExtractedValues None means some values were not found and SQL Enrichment shouldn't performed
This objects hold a value of some extracted from Input and know how to set this value to PreparedStatement
Build IntMap with all sequental input values It returns Failure if **any** of inputs were extracted with fatal error (not-found is not a fatal error)
Build IntMap with all sequental input values It returns Failure if **any** of inputs were extracted with fatal error (not-found is not a fatal error)
list of all Input objects
POJO of enriched event
list of derived contexts
list of custom contexts
optional unstructured event
IntMap if all input values were extracted without error, non-empty list of errors otherwise
Map all properties inside EnrichedEvent to textual representations of their types It is dynamically configured *once*, when job has started
Extract runtime-typed (wrapped in StatementPlaceholder.Value) value from JSON Objects, Arrays and nulls are mapped to None
Extract runtime-typed (wrapped in StatementPlaceholder.Value) value from JSON Objects, Arrays and nulls are mapped to None
JSON, probably extracted by JSONPath
Some runtime-typed representation of JSON value or None if it is object, array, null or JNothing
Get data out of all JSON contexts matching schemaCriterion
If more than one context match schemaCriterion, first will be picked
Get data out of all JSON contexts matching schemaCriterion
If more than one context match schemaCriterion, first will be picked
list of self-describing JSON contexts attached to event
part of URI
first (optional) self-desc JSON matched schemaCriterion
Get StatementPlaceholder for specified field For e.
Get StatementPlaceholder for specified field For e.g. "geo_longitude" => FloatPlaceholder
particular property of EnrichedEvent
some
Convert list of inputs to IntMap with placeholder as a key It will throw away inputs with clasing placeholders (which is actually valid configuration state).
Convert list of inputs to IntMap with placeholder as a key It will throw away inputs with clasing placeholders (which is actually valid configuration state). Used only to check consistency of placeholders
Check if there any gaps in keys of IntMap (like 1,2,4,5) and keys contain "1", so they fill all placeholders
Check if there any gaps in keys of IntMap (like 1,2,4,5) and keys contain "1", so they fill all placeholders
Map with Ints as keys
true if Map contains no gaps and has "1"
Map all textual representations of types of EnrichedEvent properties to corresponding StatementPlaceholders
Companion object, containing common methods for input data manipulation and template context building