Class RegexTupleBuilder

  • 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

    public class RegexTupleBuilder
    extends ca.uqac.lif.cep.SynchronousProcessor
    Builds a tuple out of parts of text. The parts of text to create the tuple from are specified by a regular expression.

    More precisely, each element of the tuple corresponds to a capture block of the regex: the first capture block will correspond to the tuple's first element, the second to the second, and so on. By default, the name of each element is a number, with the first capture block starting at 0. Optionally, these elements can be renamed to arbitrary character strings.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  RegexTupleBuilder.RegexAttributeNameList  
      • 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 RegexTupleBuilder.RegexAttributeNameList m_attributeNames
      The name given to each capture block in the output tuples
      protected java.util.regex.Pattern m_pattern
      The regex pattern to look for
      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void build​(java.util.ArrayDeque<java.lang.Object> stack)  
      protected boolean compute​(java.lang.Object[] inputs, java.util.Queue<java.lang.Object[]> outputs)  
      RegexTupleBuilder duplicate​(boolean with_state)  
      • Methods inherited from class ca.uqac.lif.cep.SynchronousProcessor

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

        allNotifiedEndOfTrace, allNull, associateTo, associateToInput, associateToOutput, copyInputQueue, copyOutputQueue, 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, onEndOfTrace, or, or, print, printState, read, readState, reset, 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_pattern

        protected java.util.regex.Pattern m_pattern
        The regex pattern to look for
    • Constructor Detail

      • RegexTupleBuilder

        public RegexTupleBuilder​(java.lang.String regex,
                                 RegexTupleBuilder.RegexAttributeNameList attributes)
        Constructs a tuple builder.
        Parameters:
        regex - The pattern. This can be any regular expression.
        attributes - The attribute names to give each capture block
    • Method Detail

      • compute

        protected boolean compute​(java.lang.Object[] inputs,
                                  java.util.Queue<java.lang.Object[]> outputs)
        Specified by:
        compute in class ca.uqac.lif.cep.SynchronousProcessor
      • build

        public static void build​(java.util.ArrayDeque<java.lang.Object> stack)
      • duplicate

        public RegexTupleBuilder duplicate​(boolean with_state)
        Specified by:
        duplicate in interface ca.uqac.lif.cep.Duplicable
        Specified by:
        duplicate in class ca.uqac.lif.cep.Processor