Class CipExpression
- java.lang.Object
-
- com.automation_pros.odva.cip.path.CipExpression
-
- Direct Known Subclasses:
CipExpression.BinaryOp,CipExpression.Constant,CipExpression.TrinaryOp,CipExpression.UnaryOp,CipExpression.Variable
public abstract class CipExpression extends java.lang.ObjectSupport expressions composed of variables, constants, and common operators, where variables are parsable CipPaths, and operators are applied in postfix (aka Reverse Polish Notation) order.Commas and whitespace push a preceding item onto the execution stack. Numeric constants are introduced with the pound sign (aka "hash").
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCipExpression.AddOpstatic classCipExpression.AndOpstatic classCipExpression.BinaryOpstatic classCipExpression.BitwiseOpstatic classCipExpression.CompareOpstatic classCipExpression.Constantstatic classCipExpression.DivideOpstatic classCipExpression.InvertOpstatic classCipExpression.LogicalAndOpstatic classCipExpression.LogicalOrOpstatic classCipExpression.MathOpstatic classCipExpression.ModulusOpstatic classCipExpression.MultiplyOpstatic classCipExpression.NotOpstatic classCipExpression.OrOpstatic classCipExpression.SubtractOpstatic classCipExpression.TrinaryOpstatic classCipExpression.UnaryOpstatic classCipExpression.Variablestatic classCipExpression.XorOp
-
Constructor Summary
Constructors Modifier Constructor Description protectedCipExpression()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static longas64(BaseDataType<?> data)static booleanasBool(BaseDataType<?> data)abstract BaseDataType<?>execute(DataContext ctx)abstract java.util.List<CipPath>getVariablePaths()protected static booleanhasTrail(java.io.StreamTokenizer st, int trail)static voidmain(java.lang.String[] args)static CipExpressionparse(java.lang.String expression)protected abstract java.lang.StringprefixedString(java.lang.String prefix)java.lang.StringtoString()
-
-
-
Method Detail
-
execute
public abstract BaseDataType<?> execute(DataContext ctx)
-
hasTrail
protected static boolean hasTrail(java.io.StreamTokenizer st, int trail)
-
parse
public static CipExpression parse(java.lang.String expression)
-
asBool
public static boolean asBool(BaseDataType<?> data)
-
as64
public static long as64(BaseDataType<?> data)
-
getVariablePaths
public abstract java.util.List<CipPath> getVariablePaths()
-
prefixedString
protected abstract java.lang.String prefixedString(java.lang.String prefix)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
main
public static void main(java.lang.String[] args)
-
-