Package ca.uqac.lif.cep.xml
Class XPathFunction
- java.lang.Object
-
- ca.uqac.lif.cep.functions.Function
-
- ca.uqac.lif.cep.xml.XPathFunction
-
- All Implemented Interfaces:
ca.uqac.lif.azrael.Printable,ca.uqac.lif.azrael.Readable,ca.uqac.lif.cep.Duplicable,ca.uqac.lif.cep.functions.DuplicableFunction
- Direct Known Subclasses:
XPathFunctionGet
public class XPathFunction extends ca.uqac.lif.cep.functions.FunctionFunction that converts a string into an XML element
-
-
Field Summary
Fields Modifier and Type Field Description protected ca.uqac.lif.xml.XPathExpressionm_expressionThe XPath expression this function evaluates
-
Constructor Summary
Constructors Constructor Description XPathFunction(ca.uqac.lif.xml.XPathExpression exp)Creates a new XPath functionXPathFunction(java.lang.String exp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description XPathFunctionduplicate(boolean with_state)voidevaluate(java.lang.Object[] inputs, java.lang.Object[] outputs)voidevaluate(java.lang.Object[] inputs, java.lang.Object[] outputs, ca.uqac.lif.cep.Context context, ca.uqac.lif.cep.EventTracker tracker)protected static ca.uqac.lif.xml.XPathExpressionevaluatePlaceholders(ca.uqac.lif.xml.XPathExpression expression, ca.uqac.lif.cep.Context context, ca.uqac.lif.cep.EventTracker tracker)Replaces all occurrences of placeholders in an XPath expression by concrete values fetched from some context.intgetInputArity()voidgetInputTypesFor(java.util.Set<java.lang.Class<?>> classes, int index)intgetOutputArity()java.lang.Class<?>getOutputTypeFor(int index)java.util.Collection<ca.uqac.lif.xml.XmlElement>getValue(ca.uqac.lif.xml.XmlElement x)static ca.uqac.lif.xml.XPathExpressionparseExpression(java.lang.String s)Parses an XPath expression from a stringprotected java.lang.ObjectpostProcess(java.util.Collection<ca.uqac.lif.xml.XmlElement> col)java.lang.StringtoString()
-
-
-
Method Detail
-
parseExpression
public static ca.uqac.lif.xml.XPathExpression parseExpression(java.lang.String s)
Parses an XPath expression from a string- Parameters:
s- The string to parse- Returns:
- An expression, or
nullif the parsing failed
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
duplicate
public XPathFunction duplicate(boolean with_state)
- Specified by:
duplicatein interfaceca.uqac.lif.cep.Duplicable- Specified by:
duplicatein classca.uqac.lif.cep.functions.Function
-
evaluatePlaceholders
protected static ca.uqac.lif.xml.XPathExpression evaluatePlaceholders(ca.uqac.lif.xml.XPathExpression expression, ca.uqac.lif.cep.Context context, ca.uqac.lif.cep.EventTracker tracker)Replaces all occurrences of placeholders in an XPath expression by concrete values fetched from some context. Placeholders are currently only supported in binary predicates, and are identified by a "$" symbol followed by some name- Parameters:
expression- The original expressioncontext- The context- Returns:
- The new expression where placeholders have been replaced
-
evaluate
public void evaluate(java.lang.Object[] inputs, java.lang.Object[] outputs, ca.uqac.lif.cep.Context context, ca.uqac.lif.cep.EventTracker tracker)- Specified by:
evaluatein classca.uqac.lif.cep.functions.Function
-
evaluate
public void evaluate(java.lang.Object[] inputs, java.lang.Object[] outputs)- Overrides:
evaluatein classca.uqac.lif.cep.functions.Function
-
getValue
public java.util.Collection<ca.uqac.lif.xml.XmlElement> getValue(ca.uqac.lif.xml.XmlElement x)
-
getInputArity
public int getInputArity()
- Specified by:
getInputArityin classca.uqac.lif.cep.functions.Function
-
getOutputArity
public int getOutputArity()
- Specified by:
getOutputArityin classca.uqac.lif.cep.functions.Function
-
getInputTypesFor
public void getInputTypesFor(java.util.Set<java.lang.Class<?>> classes, int index)- Specified by:
getInputTypesForin classca.uqac.lif.cep.functions.Function
-
getOutputTypeFor
public java.lang.Class<?> getOutputTypeFor(int index)
- Specified by:
getOutputTypeForin classca.uqac.lif.cep.functions.Function
-
postProcess
protected java.lang.Object postProcess(java.util.Collection<ca.uqac.lif.xml.XmlElement> col)
-
-