Package ca.uqac.lif.cep.tuples
Class RegexTupleBuilder
- java.lang.Object
-
- ca.uqac.lif.cep.Processor
-
- ca.uqac.lif.cep.SynchronousProcessor
-
- ca.uqac.lif.cep.tuples.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
-
Field Summary
Fields Modifier and Type Field Description protected RegexTupleBuilder.RegexAttributeNameList
m_attributeNames
The name given to each capture block in the output tuplesprotected 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
-
-
Constructor Summary
Constructors Constructor Description RegexTupleBuilder(java.lang.String regex, RegexTupleBuilder.RegexAttributeNameList attributes)
Constructs a tuple builder.
-
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
-
-
-
-
Field Detail
-
m_pattern
protected java.util.regex.Pattern m_pattern
The regex pattern to look for
-
m_attributeNames
protected RegexTupleBuilder.RegexAttributeNameList m_attributeNames
The name given to each capture block in the output tuples
-
-
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 classca.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 interfaceca.uqac.lif.cep.Duplicable
- Specified by:
duplicate
in classca.uqac.lif.cep.Processor
-
-