Class MergeTuples

java.lang.Object
ca.uqac.lif.cep.functions.Function
ca.uqac.lif.cep.tuples.MergeTuples
All Implemented Interfaces:
ca.uqac.lif.cep.Duplicable, ca.uqac.lif.cep.functions.DuplicableFunction

public class MergeTuples extends ca.uqac.lif.cep.functions.Function
Merges the key-value pairs of multiple tuples into a single tuple. If two tuples have the same key, the value in the resulting tuple is that of one of these tuples; which one is left undefined. However, if the tuples have the same value for their common keys, the resuting tuple is equivalent to that of a relational JOIN operation.
Author:
Sylvain Hallé
  • Field Details

    • m_inputArity

      protected int m_inputArity
      The number of input tuples to merge
    • m_builder

      protected FixedTupleBuilder m_builder
      A helper class to build instances of the merged tuples
  • Constructor Details

    • MergeTuples

      public MergeTuples()
    • MergeTuples

      public MergeTuples(int arity)
  • Method Details

    • evaluate

      public void evaluate(Object[] inputs, Object[] outputs, ca.uqac.lif.cep.Context context)
      Specified by:
      evaluate in class ca.uqac.lif.cep.functions.Function
    • evaluate

      public void evaluate(Object[] inputs, Object[] outputs)
      Overrides:
      evaluate in class ca.uqac.lif.cep.functions.Function
    • getInputArity

      public int getInputArity()
      Specified by:
      getInputArity in class ca.uqac.lif.cep.functions.Function
    • getOutputArity

      public int getOutputArity()
      Specified by:
      getOutputArity in class ca.uqac.lif.cep.functions.Function
    • reset

      public void reset()
      Overrides:
      reset in class ca.uqac.lif.cep.functions.Function
    • duplicate

      public MergeTuples duplicate(boolean with_state)
      Specified by:
      duplicate in interface ca.uqac.lif.cep.Duplicable
      Specified by:
      duplicate in class ca.uqac.lif.cep.functions.Function
    • getInputTypesFor

      public void getInputTypesFor(Set<Class<?>> classes, int index)
      Specified by:
      getInputTypesFor in class ca.uqac.lif.cep.functions.Function
    • getOutputTypeFor

      public Class<?> getOutputTypeFor(int index)
      Specified by:
      getOutputTypeFor in class ca.uqac.lif.cep.functions.Function