public abstract class NestedBaseBuildAggregator<Node,Result> extends NestedSpecBaseOperation<Node,Result,NestedBaseBuildAggregator.Context> implements Aggregator<NestedBaseBuildAggregator.Context>
Aggregator
implementations that rely on the
BuildSpec
class when declaring transformations on nested object types.
Specifically, *BuildAsAggregator
and *BuildIntoAggregator
classes create or update (respectively)
nested object types from Aggregator argument Fields
where the field values can be primitive types, objects
(with a corresponding CoercibleType
), or themselves nest object types.
In the case of a *BuildIntoAggregator
the last argument in the arguments
TupleEntry
will be
the object the BuildSpec copies values into.
In the case of a *BuildAsAggregator
a new root object will be created for the BuildSpec to copy values into.
In the case of JSON objects, multiple JSON objects selected as arguments can be combined into a new JSON object by mapping the field names into locations on the new object.
BuildSpec
,
Serialized FormModifier and Type | Class and Description |
---|---|
class |
NestedBaseBuildAggregator.Context |
Modifier and Type | Field and Description |
---|---|
protected heretical.pointer.operation.Builder<Node,Result> |
builder |
nestedCoercibleType
fieldDeclaration, numArgs, trace
Constructor and Description |
---|
NestedBaseBuildAggregator(NestedCoercibleType<Node,Result> nestedCoercibleType,
Fields fieldDeclaration,
BuildSpec... buildSpecs) |
Modifier and Type | Method and Description |
---|---|
void |
aggregate(FlowProcess flowProcess,
AggregatorCall<NestedBaseBuildAggregator.Context> aggregatorCall) |
void |
complete(FlowProcess flowProcess,
AggregatorCall<NestedBaseBuildAggregator.Context> aggregatorCall) |
void |
prepare(FlowProcess flowProcess,
OperationCall<NestedBaseBuildAggregator.Context> operationCall) |
void |
start(FlowProcess flowProcess,
AggregatorCall<NestedBaseBuildAggregator.Context> aggregatorCall) |
getArgument, getResultNode, isInto
deepCopy, getCoercibleType, getLiteralNode, getNestedPointerCompiler, getRootNode, iterable
cleanup, equals, flush, getFieldDeclaration, getNumArgs, getTrace, hashCode, isSafe, printOperationInternal, toString, toStringInternal
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
cleanup, flush, getFieldDeclaration, getNumArgs, isSafe
public NestedBaseBuildAggregator(NestedCoercibleType<Node,Result> nestedCoercibleType, Fields fieldDeclaration, BuildSpec... buildSpecs)
public void prepare(FlowProcess flowProcess, OperationCall<NestedBaseBuildAggregator.Context> operationCall)
prepare
in interface Operation<NestedBaseBuildAggregator.Context>
prepare
in class BaseOperation<NestedBaseBuildAggregator.Context>
public void start(FlowProcess flowProcess, AggregatorCall<NestedBaseBuildAggregator.Context> aggregatorCall)
start
in interface Aggregator<NestedBaseBuildAggregator.Context>
public void aggregate(FlowProcess flowProcess, AggregatorCall<NestedBaseBuildAggregator.Context> aggregatorCall)
aggregate
in interface Aggregator<NestedBaseBuildAggregator.Context>
public void complete(FlowProcess flowProcess, AggregatorCall<NestedBaseBuildAggregator.Context> aggregatorCall)
complete
in interface Aggregator<NestedBaseBuildAggregator.Context>
Copyright © 2007-2017 Cascading Maintainers. All Rights Reserved.