![]() |
0.11.4
|
Concrete version of AbstractSlice whose output is an associative map between slice IDs and the last event produced by that slice processor.
Definition at line 37 of file Slice.java.
Public Member Functions | |
| Slice (Function func, Processor proc, Function clean_func) | |
| Creates a new Slice processor. | |
| Slice (Function func, Processor proc) | |
| Creates a new Slice processor. | |
| Object | printState () |
| Slice | readState (Object o) throws ProcessorException |
| Slice | duplicate (boolean with_state) |
| Duplicates an object. | |
| void | reset () |
| Resets the processor. | |
| Public Member Functions inherited from ca.uqac.lif.cep.tmf.AbstractSlice | |
| AbstractSlice (Function func, Processor proc, Function clean_func) | |
| Creates a new AbstractSlice processor. | |
| AbstractSlice | setProcessor (Processor p) |
| Sets the processor that will be executed on each slice. | |
| AbstractSlice | explodeCollections (boolean b) |
| Sets whether a slice function that returns a collection of values must be handled as individual slice IDs. | |
| void | addContextFromSlice (Processor p, Object slice) |
| Adds elements to the context of a newly created slice. | |
| int | getActiveSliceCount () |
| Gets the number of slices the slicer currently handles. | |
| Object | getState () |
| Public Member Functions inherited from ca.uqac.lif.cep.SynchronousProcessor | |
| SynchronousProcessor (int in_arity, int out_arity) | |
| Initializes a processor. | |
| Pushable | getPushableInput (int index) |
Returns the Pushable corresponding to the processor's i-th input trace. | |
| Pullable | getPullableOutput (int index) |
Returns the Pullable corresponding to the processor's i-th output trace. | |
| final SynchronousProcessor | setEventTracker (EventTracker tracker) |
| Associates an event tracker to this processor. | |
| Public Member Functions inherited from ca.uqac.lif.cep.Processor | |
| Processor (int in_arity, int out_arity) | |
| Initializes a processor. | |
| final Object | getContext (String key) |
| Retrieves an object from the processor's context. | |
| Context | getContext () |
| Gets the context associated to this object. | |
| void | setContext (String key, Object value) |
| Adds an object to the object's context. | |
| void | setContext (Context context) |
| Adds a complete context to this object. | |
| final int | hashCode () |
Implementation of hashCode() specific to processors. | |
| final boolean | equals (Object o) |
Implementation of equals() specific to processors. | |
| final int | getId () |
| Fetches the processor instance's unique ID. | |
| final Pushable | getPushableInput () |
Returns the Pushable corresponding to the processor's first input trace. | |
| final Pullable | getPullableOutput () |
Returns the Pullable corresponding to the processor's first output trace. | |
| void | setPullableInput (int i, Pullable p) |
Assigns a Pullable to the processor's i-th input. | |
| Pullable | getPullableInput (int i) |
Returns the Pullable corresponding to the processor's i-th input. | |
| void | setPushableOutput (int i, Pushable p) |
Assigns a Pushable to the processor's i-th output. | |
| Pushable | getPushableOutput (int i) |
Retrieves the Pushable associated to the processor's i-th output. | |
| final int | getInputArity () |
| Returns the processor's input arity. | |
| final int | getOutputArity () |
| Returns the processor's output arity. | |
| void | duplicateInto (Processor p) |
| Copies the contents and state of the current processor into another. | |
| final Set< Class<?> > | getInputType (int index) |
| Gets the type of events the processor accepts for its i-th input trace. | |
| void | getInputTypesFor (Set< Class<?> > classes, int index) |
| Populates the set of classes accepted by the processor for its i-th input. | |
| Class<?> | getOutputType (int index) |
| Returns the type of the events produced by the processor for its i-th output. | |
| void | start () |
| Starts the processor. | |
| void | stop () |
| Stops the processor. | |
| final EventTracker | getEventTracker () |
| Gets the instance of event tracker associated to this processor. | |
| void | associateToInput (int in_stream_index, int in_stream_pos, int out_stream_index, int out_stream_pos) |
| Associates an input event to an output event. | |
| void | associateTo (NodeFunction f, int out_stream_index, int out_stream_pos) |
| Associates a node function to a particular event of processor's output stream. | |
| void | associateToOutput (int in_stream_index, int in_stream_pos, int out_stream_index, int out_stream_pos) |
| Associates an input event to an output event. | |
| final int | getInputCount () |
| Gets the number of event fronts received so far by this processor. | |
| final int | getOutputCount () |
| Gets the number of event fronts produced so far by this processor. | |
| final Object | print (ObjectPrinter<?> printer) throws ProcessorException |
| Prints the contents of this processor into an object printer. | |
| final Processor | read (ObjectReader<?> reader, Object o) throws ProcessorException |
| Reads the content of a processor from a serialized object. | |
| final Processor | duplicate () |
| Duplicates an object and sets it to its initial state. | |
| void | copyInputQueue (int index, Collection< Object > to) |
| Copies the content of one of the processor's input queue to a collection. | |
| void | copyOutputQueue (int index, Collection< Object > to) |
| Copies the content of one of the processor's output queue to a collection. | |
| Processor | or (Processor p) |
| Connects the first output pipe of this processor to the first input pipe of another processor. | |
| Processor | or (CallAfterConnect c) |
Operates similar to or(Processor), but also calls a method after the connection has been established. | |
| Processor | or (SelectedInputPipe p) |
| Connects the output at index 0 of the current processor to the input of another processor. | |
| PipeSelector | getAt (int index) |
Gets the PipeSelector object corresponding to the processor's input or output pipe for a given index. | |
| Pushable | rightShift (int index) |
| Pullable | leftShift (int index) |
| Queue< Object > | getInputQueue (int index) |
| Gets the content of the processor's input queue at a given index. | |
| Queue< Object > | getOutputQueue (int index) |
| Gets the content of the processor's output queue at a given index. | |
Protected Member Functions | |
| Slice () | |
| Creates a dummy slice processor. | |
| boolean | produceReturn (Queue< Object[]> outputs) |
| Produces a final return value for the slice processor. | |
| void | handleNewSliceValue (Object slice_id, Object value, Queue< Object[]> outputs) |
| Handles the situation where one of the slices produces a new event. | |
| Protected Member Functions inherited from ca.uqac.lif.cep.tmf.AbstractSlice | |
| AbstractSlice () | |
| Creates a dummy abstract slice. | |
| boolean | compute (Object[] inputs, Queue< Object[]> outputs) |
| Computes one or more output events from its input events. | |
| void | copyInto (AbstractSlice as, boolean with_state) |
| Copies the content of the current abstract slice processor into another instance. | |
| boolean | onEndOfTrace (Queue< Object[]> outputs) throws ProcessorException |
| Allows to describe a specific behavior when the trace of input fronts has reached its end. | |
| Protected Member Functions inherited from ca.uqac.lif.cep.Processor | |
| boolean | allNotifiedEndOfTrace () |
| Determines if all the upstream pushables have sent the end of trace notification. | |
| final Context | newContext () |
| Creates a new empty context map. | |
Protected Attributes | |
| HashMap< Object, Object > | m_lastValues |
| The last value output by the processor for each slice. | |
| Protected Attributes inherited from ca.uqac.lif.cep.tmf.AbstractSlice | |
| Function | m_slicingFunction |
| The slicing function. | |
| Processor | m_processor |
| The internal processor. | |
| Function | m_cleaningFunction = null |
| The cleaning function. | |
| HashMap< Object, Processor > | m_slices |
| A map associating slice IDs to the instance of processor associated to them. | |
| HashMap< Object, QueueSink > | m_sinks |
| A map associating slice IDs to the sink that receives the events from their corresponding processor. | |
| HashMap< Object, List< Integer > > | m_sliceIndices |
| A map associating slice IDs to the event positions in the input stream that have been given to each slice's processor. | |
| boolean | m_explodeArrays = false |
| If the slicing function returns a collection, treat each element of the collection as a slice id. | |
| Protected Attributes inherited from ca.uqac.lif.cep.SynchronousProcessor | |
| final transient Queue< Object[]> | m_tempQueue |
A queue object that will be passed to the compute(Object[], Queue) method. | |
| final transient Pushable[] | m_inputPushables |
| An array of input pushables. | |
| transient Pullable[] | m_outputPullables |
| An array of output pullables. | |
| Protected Attributes inherited from ca.uqac.lif.cep.Processor | |
| int | m_inputArity |
| The processor's input arity, i.e. | |
| int | m_outputArity |
| The processor's output arity, i.e. | |
| transient Queue< Object >[] | m_inputQueues |
| An array of input event queues. | |
| transient EventTracker | m_eventTracker = null |
| An object that keeps track of the relationship between input and output events. | |
| transient Queue< Object >[] | m_outputQueues |
| An array of output event queues. | |
| transient Pullable[] | m_inputPullables |
An array of Pullables, one for each input trace this processor receives. | |
| transient Pushable[] | m_outputPushables |
An array of Pushables, one for each output trace this processor produces. | |
| int | m_inputCount = 0 |
| A counter incremented upon each input front processed. | |
| int | m_outputCount = 0 |
| A counter incremented upon each output front processed. | |
| Context | m_context = null |
| The context in which the processor is instantiated. | |
| boolean[] | m_hasBeenNotifiedOfEndOfTrace |
| Indicates whether the processor has been notified of the end of trace or not. | |
| boolean | m_notifiedEndOfTraceDownstream |
| Indicates whether the processor has notified the end of the trace to the downstream processors it is connected to. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from ca.uqac.lif.cep.Processor | |
| static boolean | allNull (Object[] v) |
| Checks if all objects in the array are null. | |
| static Queue< Object[]> | getEmptyQueue () |
| Gets an instance of an empty event queue. | |
| static void | startAll (Processor ... procs) |
| Starts all processors given as an argument. | |
| static void | stopAll (Processor ... procs) |
| Stops all processors given as an argument. | |
| static List< ProvenanceNode > | getLeaves (ProvenanceNode root) |
| Gets the leaves of a provenance tree. | |
| Static Public Attributes inherited from ca.uqac.lif.cep.Processor | |
| static final transient String | s_versionString = "0.11.2" |
| A string used to identify the program's version. | |
| static final transient int | MAX_PULL_RETRIES = 10000000 |
Number of times the Pullable#hasNext() method tries to produce an output from the input before giving up. | |
| Static Protected Member Functions inherited from ca.uqac.lif.cep.Processor | |
| static void | getLeaves (ProvenanceNode root, List< ProvenanceNode > leaves) |
| Accumulates the leaves of a provenance tree in a list. | |
|
protected |
Creates a dummy slice processor.
This constructor is only used for deserialization purposes.
Definition at line 48 of file Slice.java.
Creates a new Slice processor.
| func | The slicing function |
| proc | The processor to apply on each slice |
| clean_func | The cleaning function |
Definition at line 60 of file Slice.java.
Creates a new Slice processor.
| func | The slicing function |
| proc | The processor to apply on each slice |
Definition at line 72 of file Slice.java.
| Slice ca.uqac.lif.cep.tmf.Slice.duplicate | ( | boolean | with_state | ) |
Duplicates an object.
Optionally, set the object into the same state as the source object.
| with_state | Set to true to replicate the object's state, false to create a new copy in the initial state. |
Reimplemented from ca.uqac.lif.cep.Processor.
Definition at line 125 of file Slice.java.
|
protected |
Handles the situation where one of the slices produces a new event.
Depending on the type of slice processor, a different processing will be done in this method.
| slice_id | The id of the slice that produced an output event |
| value | The output event |
| outputs | The slice processor's output queue |
Reimplemented from ca.uqac.lif.cep.tmf.AbstractSlice.
Definition at line 161 of file Slice.java.
| Object ca.uqac.lif.cep.tmf.Slice.printState | ( | ) |
|
protected |
Produces a final return value for the slice processor.
This method is called once a new incoming event has been pushed to all the relevant slices, and handleNewSliceValue(Object, Object, Queue) has been called for all slices that produced an output event.
| outputs | The processor's output queue |
true if the processor is expected to output new events in the future, false otherwise. Reimplemented from ca.uqac.lif.cep.tmf.AbstractSlice.
Definition at line 153 of file Slice.java.
| Slice ca.uqac.lif.cep.tmf.Slice.readState | ( | Object | o | ) | throws ProcessorException |
| void ca.uqac.lif.cep.tmf.Slice.reset | ( | ) |
Resets the processor.
This has for effect of flushing the contents of all input and output event queues. If the processor has an internal state, this should also reset this state to its "initial" settings (whatever that means in your context).
Reimplemented from ca.uqac.lif.cep.tmf.AbstractSlice.
Definition at line 146 of file Slice.java.
|
protected |
The last value output by the processor for each slice.
Definition at line 42 of file Slice.java.