|
Nuxeo Enterprise Platform 5.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface OutputCollector<T,R>
This interface is used to implement result collectors when an operation method is invoked over an iterable input.
The operation method usually declare a scalar type (e.g. data object) as
argument. When the operation method is invoked on an iterator over elements
of that type the execution of the chain may help you deal with this by
automatically invoking your method over every element in the input iterator.
For this to work you should set the collector that should be used by the
automatic iteration OperationMethod.collector()
in order to construct
the method output.
So a collector is in fact collecting the result of each individual invocation
over a collections of inputs. The collector will be asked by the chain
execution to add an individual result by calling
#add(OperationContext, Object)
. This method is taking as argument the
return value of the invocation - so it must accept the same type of object -
see T generic type. When all partial results are collected the collector will
be asked to return the operation result through the getOutput()
method.
So when writing a collector you must ensure that the collected type is compatible with the one returned by the operation method where the collector is used.
IMPORTANT<> An implementation of this class must explicitly implements this interface (and not through its super classes). This is to ease generic type detections. If not doing so your collector class will be rejected and the operation using it invalid.
Method Summary | |
---|---|
void |
collect(OperationContext ctx,
T obj)
Collects a new partial result (the result of the last iteration step). |
R |
getOutput()
Gets the final output. |
Method Detail |
---|
void collect(OperationContext ctx, T obj) throws OperationException
OperationException
R getOutput()
|
Nuxeo Enterprise Platform 5.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |