![]() |
0.11.4
|
Gives events to some of a processor's input.
Interface Pushable is the opposite of Pullable: rather than querying events form a processor's output (i.e. "pulling"), it gives events to a processor's input. This has for effect of triggering the processor's computation and "pushing" results (if any) to the processor's output.
If a processor is of input arity n, there exist n distinct Pullables: one for each input trace.
Definition at line 33 of file Pushable.java.
Classes | |
| class | PushableException |
| A runtime exception indicating that something went wrong when attempting to check if a next event exists. More... | |
| class | PushNotSupported |
Pushable object that throws an UnsupportedOperationException upon every call to each of its methods (except getProcessor()). More... | |
Public Member Functions | |
| Pushable | push (Object o) |
| Pushes an event into one of the processor's input trace. | |
| void | notifyEndOfTrace () throws PushableException |
| Notifies the pushable that there is no more event to be pushed, i.e. | |
| Processor | getProcessor () |
| Gets the processor instance this Pushable is linked to. | |
| int | getPosition () |
| Gets the position this Pushable is associated to: 0 is the first input (or output), 1 the second, etc. | |
| int ca.uqac.lif.cep.Pushable.getPosition | ( | ) |
Gets the position this Pushable is associated to: 0 is the first input (or output), 1 the second, etc.
Implemented in ca.uqac.lif.cep.AsynchronousProcessor.InputPushable, ca.uqac.lif.cep.functions.ApplyFunctionPartial.InputPushable, ca.uqac.lif.cep.GroupProcessor.ProxyPushable, ca.uqac.lif.cep.Pushable.PushNotSupported, ca.uqac.lif.cep.SynchronousProcessor.InputPushable, ca.uqac.lif.cep.tmf.Divert.DivertPushable, ca.uqac.lif.cep.tmf.Multiplex.MuxPushable, ca.uqac.lif.cep.tmf.Tank.QueuePushable, and ca.uqac.lif.cep.UniformProcessor.UnaryPushable.
| Processor ca.uqac.lif.cep.Pushable.getProcessor | ( | ) |
Gets the processor instance this Pushable is linked to.
Implemented in ca.uqac.lif.cep.AsynchronousProcessor.InputPushable, ca.uqac.lif.cep.functions.ApplyFunctionPartial.InputPushable, ca.uqac.lif.cep.GroupProcessor.ProxyPushable, ca.uqac.lif.cep.Pushable.PushNotSupported, ca.uqac.lif.cep.SynchronousProcessor.InputPushable, ca.uqac.lif.cep.tmf.Divert.DivertPushable, ca.uqac.lif.cep.tmf.Multiplex.MuxPushable, ca.uqac.lif.cep.tmf.Tank.QueuePushable, and ca.uqac.lif.cep.UniformProcessor.UnaryPushable.
| void ca.uqac.lif.cep.Pushable.notifyEndOfTrace | ( | ) | throws PushableException |
Notifies the pushable that there is no more event to be pushed, i.e.
the trace of events has ended at this point.
| PushableException | Exception thrown when the push operation fails for some reason |
Implemented in ca.uqac.lif.cep.AsynchronousProcessor.InputPushable, ca.uqac.lif.cep.functions.ApplyFunctionPartial.InputPushable, ca.uqac.lif.cep.GroupProcessor.ProxyPushable, ca.uqac.lif.cep.Pushable.PushNotSupported, ca.uqac.lif.cep.SynchronousProcessor.InputPushable, ca.uqac.lif.cep.tmf.Divert.DivertPushable, ca.uqac.lif.cep.tmf.Multiplex.MuxPushable, ca.uqac.lif.cep.tmf.Tank.QueuePushable, and ca.uqac.lif.cep.UniformProcessor.UnaryPushable.
| Pushable ca.uqac.lif.cep.Pushable.push | ( | Object | o | ) |
Pushes an event into one of the processor's input trace.
This method must return only when the push operation is completely done.
| o | The event. Although you can technically push null, the behaviour in this case is undefined. It may be interpreted as if you are passing no event. |
Pushable objects, e.g. p.push(o1).push(o2). Implemented in ca.uqac.lif.cep.AsynchronousProcessor.InputPushable, ca.uqac.lif.cep.functions.ApplyFunctionPartial.InputPushable, ca.uqac.lif.cep.GroupProcessor.ProxyPushable, ca.uqac.lif.cep.Pushable.PushNotSupported, ca.uqac.lif.cep.SynchronousProcessor.InputPushable, ca.uqac.lif.cep.tmf.Divert.DivertPushable, ca.uqac.lif.cep.tmf.Multiplex.MuxPushable, ca.uqac.lif.cep.tmf.Tank.QueuePushable, and ca.uqac.lif.cep.UniformProcessor.UnaryPushable.