Class MergeScalars

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

public class MergeScalars extends ca.uqac.lif.cep.functions.Function
Creates a named tuple out of multiple input traces, each containing scalar values. For example, if p1 and p2 are two processors that return numbers, one can create a trace of tuples with attributes "foo" and "bar", where foo is the value of the event in p1 and bar is the value of the event in p2, by writing:
 FunctionProcessor fp = new FunctionProcessor(new MergeScalars("foo", "bar"));
 Connector.connect(p1, 0, fp, 0);
 Connector.connect(p2, 0, fp, 1);
 
Author:
Sylvain Hallé
  • Field Details

    • m_attributeNames

      protected final String[] m_attributeNames
      The names given to the attributes corresponding to each scalar
    • m_builder

      protected FixedTupleBuilder m_builder
  • Constructor Details

    • MergeScalars

      public MergeScalars(String... names)
    • MergeScalars

      public MergeScalars(List<String> names)
  • 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 ca.uqac.lif.cep.functions.Function 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