Class UpdateTable

  • All Implemented Interfaces:
    ca.uqac.lif.azrael.Printable, ca.uqac.lif.azrael.Readable, ca.uqac.lif.cep.Contextualizable, ca.uqac.lif.cep.Duplicable, ca.uqac.lif.cep.DuplicableProcessor
    Direct Known Subclasses:
    UpdateTableArray, UpdateTableMap, UpdateTableStream

    public abstract class UpdateTable
    extends ca.uqac.lif.cep.UniformProcessor
    Adds contents to a table based on incoming events. This abstract processor exists in three concrete versions:
    • UpdateTableArray updates a table by creating new entries from incoming arrays of object; each array represents a new line in the table
    • UpdateTableStream work in the same way, but receives n input streams instead of a single array of n elements
    • UpdateTableMap receives a stream of Map objects, each corresponding to a tuple of key-value pairs to add to the table
    Author:
    Sylvain Hallé
    • Nested Class Summary

      • Nested classes/interfaces inherited from class ca.uqac.lif.cep.UniformProcessor

        ca.uqac.lif.cep.UniformProcessor.UnaryPullable, ca.uqac.lif.cep.UniformProcessor.UnaryPushable
      • Nested classes/interfaces inherited from class ca.uqac.lif.cep.SynchronousProcessor

        ca.uqac.lif.cep.SynchronousProcessor.InputPushable, ca.uqac.lif.cep.SynchronousProcessor.OutputPullable
      • Nested classes/interfaces inherited from class ca.uqac.lif.cep.Processor

        ca.uqac.lif.cep.Processor.InternalProcessorState
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected ca.uqac.lif.mtnp.table.HardTable m_table
      The table that is being updated by input events
      • Fields inherited from class ca.uqac.lif.cep.UniformProcessor

        m_outputArray
      • Fields inherited from class ca.uqac.lif.cep.SynchronousProcessor

        m_inputPushables, m_outputPullables, m_tempQueue
      • Fields inherited from class ca.uqac.lif.cep.Processor

        m_context, m_eventTracker, m_hasBeenNotifiedOfEndOfTrace, m_inputArity, m_inputCount, m_inputPullables, m_inputQueues, m_notifiedEndOfTraceDownstream, m_outputArity, m_outputCount, m_outputPushables, m_outputQueues, MAX_PULL_RETRIES, s_versionString
    • Constructor Summary

      Constructors 
      Constructor Description
      UpdateTable​(int in_arity, ca.uqac.lif.mtnp.table.HardTable t)
      Creates a new instance of the processor.
      UpdateTable​(int in_arity, java.lang.String... column_names)
      Creates a new instance of the processor.
      UpdateTable​(int in_arity, java.util.List<java.lang.String> column_names)
      Creates a new instance of the processor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected ca.uqac.lif.mtnp.table.TableEntry createEntry​(java.lang.Object[] inputs)
      Creates a table entry from an array of objects
      void reset()  
      • Methods inherited from class ca.uqac.lif.cep.UniformProcessor

        compute, compute, getPullableOutput, getPushableInput, onEndOfTrace, onEndOfTrace
      • Methods inherited from class ca.uqac.lif.cep.SynchronousProcessor

        setEventTracker
      • Methods inherited from class ca.uqac.lif.cep.Processor

        allNotifiedEndOfTrace, allNull, associateTo, associateToInput, associateToOutput, copyInputQueue, copyOutputQueue, duplicate, duplicate, duplicateInto, equals, getAt, getContext, getContext, getEmptyQueue, getEventTracker, getId, getInputArity, getInputCount, getInputQueue, getInputType, getInputTypesFor, getLeaves, getLeaves, getOutputArity, getOutputCount, getOutputQueue, getOutputType, getPullableInput, getPullableOutput, getPushableInput, getPushableOutput, hashCode, leftShift, newContext, or, or, print, printState, read, readState, rightShift, setContext, setContext, setPullableInput, setPushableOutput, start, startAll, stop, stopAll
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • m_table

        protected ca.uqac.lif.mtnp.table.HardTable m_table
        The table that is being updated by input events
    • Constructor Detail

      • UpdateTable

        public UpdateTable​(int in_arity,
                           java.lang.String... column_names)
        Creates a new instance of the processor.
        Parameters:
        in_arity - The input arity
        column_names - The names of the columns in the resulting table
      • UpdateTable

        public UpdateTable​(int in_arity,
                           java.util.List<java.lang.String> column_names)
        Creates a new instance of the processor.
        Parameters:
        in_arity - The input arity
        column_names - The names of the columns in the resulting table
      • UpdateTable

        public UpdateTable​(int in_arity,
                           ca.uqac.lif.mtnp.table.HardTable t)
        Creates a new instance of the processor.
        Parameters:
        in_arity - The input arity
        t - The table where entries will be added from incoming events
    • Method Detail

      • createEntry

        protected ca.uqac.lif.mtnp.table.TableEntry createEntry​(java.lang.Object[] inputs)
        Creates a table entry from an array of objects
        Parameters:
        inputs - The objects
        Returns:
        The table entry
      • reset

        public void reset()
        Overrides:
        reset in class ca.uqac.lif.cep.Processor