You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2013/12/06 09:41:09 UTC
svn commit: r1548429 [3/5] - in /uima/ruta/trunk:
example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/
ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/
ruta-core/src/main/java/org/apache/uima/ruta/ ru...
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java Fri Dec 6 08:41:07 2013
@@ -25,16 +25,16 @@ import java.util.List;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.RutaExpression;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.IRutaExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.list.BooleanListExpression;
import org.apache.uima.ruta.expression.list.ListExpression;
import org.apache.uima.ruta.expression.list.NumberListExpression;
import org.apache.uima.ruta.expression.list.StringListExpression;
import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
@@ -42,25 +42,25 @@ import org.apache.uima.ruta.visitor.Infe
public class CountCondition extends TypeSentiveCondition {
- private final NumberExpression min;
+ private final INumberExpression min;
- private final NumberExpression max;
+ private final INumberExpression max;
private final String var;
private ListExpression list;
- private RutaExpression arg;
+ private IRutaExpression arg;
- public CountCondition(TypeExpression type, NumberExpression min, NumberExpression max, String var) {
+ public CountCondition(TypeExpression type, INumberExpression min, INumberExpression max, String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
this.max = max == null ? new SimpleNumberExpression(Integer.MAX_VALUE) : max;
this.var = var;
}
- public CountCondition(ListExpression list, RutaExpression a, NumberExpression min,
- NumberExpression max, String var) {
+ public CountCondition(ListExpression list, IRutaExpression a, INumberExpression min,
+ INumberExpression max, String var) {
super((TypeExpression) null);
this.list = list;
this.arg = a;
@@ -84,24 +84,24 @@ public class CountCondition extends Type
return new EvaluatedCondition(this, value);
} else {
int count = 0;
- if (arg instanceof BooleanExpression && list instanceof BooleanListExpression) {
- BooleanExpression e = (BooleanExpression) arg;
+ if (arg instanceof IBooleanExpression && list instanceof BooleanListExpression) {
+ IBooleanExpression e = (IBooleanExpression) arg;
BooleanListExpression le = (BooleanListExpression) list;
boolean v = e.getBooleanValue(element.getParent(), annotation, stream);
List<Boolean> l = new ArrayList<Boolean>(le.getList(element.getParent(), stream));
while (l.remove(v)) {
count++;
}
- } else if (arg instanceof NumberExpression && list instanceof NumberListExpression) {
- NumberExpression e = (NumberExpression) arg;
+ } else if (arg instanceof INumberExpression && list instanceof NumberListExpression) {
+ INumberExpression e = (INumberExpression) arg;
NumberListExpression le = (NumberListExpression) list;
Number v = e.getDoubleValue(element.getParent(), annotation, stream);
List<Number> l = new ArrayList<Number>(le.getList(element.getParent(), stream));
while (l.remove(v)) {
count++;
}
- } else if (arg instanceof StringExpression && list instanceof StringListExpression) {
- StringExpression e = (StringExpression) arg;
+ } else if (arg instanceof IStringExpression && list instanceof StringListExpression) {
+ IStringExpression e = (IStringExpression) arg;
StringListExpression le = (StringListExpression) list;
String v = e.getStringValue(element.getParent(), annotation, stream);
List<String> l = new ArrayList<String>(le.getList(element.getParent(), stream));
@@ -126,11 +126,11 @@ public class CountCondition extends Type
}
}
- public NumberExpression getMin() {
+ public INumberExpression getMin() {
return min;
}
- public NumberExpression getMax() {
+ public INumberExpression getMax() {
return max;
}
@@ -142,7 +142,7 @@ public class CountCondition extends Type
return list;
}
- public RutaExpression getArg() {
+ public IRutaExpression getArg() {
return arg;
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java Fri Dec 6 08:41:07 2013
@@ -23,7 +23,7 @@ import java.util.Iterator;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
@@ -31,13 +31,13 @@ import org.apache.uima.ruta.rule.RuleEle
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class CurrentCountCondition extends TypeSentiveCondition {
- private final NumberExpression min;
+ private final INumberExpression min;
- private final NumberExpression max;
+ private final INumberExpression max;
private final String var;
- public CurrentCountCondition(TypeExpression type, NumberExpression min, NumberExpression max,
+ public CurrentCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
@@ -67,11 +67,11 @@ public class CurrentCountCondition exten
return new EvaluatedCondition(this, value);
}
- public NumberExpression getMin() {
+ public INumberExpression getMin() {
return min;
}
- public NumberExpression getMax() {
+ public INumberExpression getMax() {
return max;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/FeatureCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/FeatureCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/FeatureCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/FeatureCondition.java Fri Dec 6 08:41:07 2013
@@ -23,9 +23,9 @@ import org.apache.uima.cas.Feature;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.UIMAConstants;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
@@ -33,37 +33,37 @@ import org.apache.uima.ruta.visitor.Infe
public class FeatureCondition extends AbstractRutaCondition {
- private final StringExpression featureStringExpression;
+ private final IStringExpression featureStringExpression;
- private StringExpression stringExpr;
+ private IStringExpression stringExpr;
- private NumberExpression numberExpr;
+ private INumberExpression numberExpr;
- private BooleanExpression booleanExpr;
+ private IBooleanExpression booleanExpr;
private TypeExpression typeExpr;
- protected FeatureCondition(StringExpression feature) {
+ protected FeatureCondition(IStringExpression feature) {
super();
this.featureStringExpression = feature;
}
- public FeatureCondition(StringExpression feature, StringExpression stringExpr) {
+ public FeatureCondition(IStringExpression feature, IStringExpression stringExpr) {
this(feature);
this.stringExpr = stringExpr;
}
- public FeatureCondition(StringExpression feature, NumberExpression numberExpr) {
+ public FeatureCondition(IStringExpression feature, INumberExpression numberExpr) {
this(feature);
this.numberExpr = numberExpr;
}
- public FeatureCondition(StringExpression feature, BooleanExpression booleanExpr) {
+ public FeatureCondition(IStringExpression feature, IBooleanExpression booleanExpr) {
this(feature);
this.booleanExpr = booleanExpr;
}
- public FeatureCondition(StringExpression feature, TypeExpression typeExpr, String variable,
+ public FeatureCondition(IStringExpression feature, TypeExpression typeExpr, String variable,
RuleElement re) {
this(feature);
this.typeExpr = typeExpr;
@@ -124,19 +124,19 @@ public class FeatureCondition extends Ab
return new EvaluatedCondition(this, false);
}
- public StringExpression getFeatureStringExpression() {
+ public IStringExpression getFeatureStringExpression() {
return featureStringExpression;
}
- public StringExpression getStringExpr() {
+ public IStringExpression getStringExpr() {
return stringExpr;
}
- public NumberExpression getNumberExpr() {
+ public INumberExpression getNumberExpr() {
return numberExpr;
}
- public BooleanExpression getBooleanExpr() {
+ public IBooleanExpression getBooleanExpr() {
return booleanExpr;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/IfCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/IfCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/IfCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/IfCondition.java Fri Dec 6 08:41:07 2013
@@ -21,16 +21,16 @@ package org.apache.uima.ruta.condition;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class IfCondition extends AbstractRutaCondition {
- private final BooleanExpression expression;
+ private final IBooleanExpression expression;
- public IfCondition(BooleanExpression e) {
+ public IfCondition(IBooleanExpression e) {
super();
this.expression = e;
}
@@ -42,7 +42,7 @@ public class IfCondition extends Abstrac
stream));
}
- public BooleanExpression getExpression() {
+ public IBooleanExpression getExpression() {
return expression;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java Fri Dec 6 08:41:07 2013
@@ -29,8 +29,8 @@ import org.apache.uima.cas.Type;
import org.apache.uima.cas.TypeSystem;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.RutaExpression;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.IRutaExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.feature.FeatureMatchExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
@@ -39,9 +39,9 @@ import org.apache.uima.ruta.visitor.Infe
public class ImplicitCondition extends AbstractRutaCondition {
- private RutaExpression expr;
+ private IRutaExpression expr;
- public ImplicitCondition(RutaExpression expr) {
+ public ImplicitCondition(IRutaExpression expr) {
super();
this.expr = expr;
}
@@ -49,8 +49,8 @@ public class ImplicitCondition extends A
@Override
public EvaluatedCondition eval(AnnotationFS annotation, RuleElement element, RutaStream stream,
InferenceCrowd crowd) {
- if (expr instanceof BooleanExpression) {
- BooleanExpression be = (BooleanExpression) expr;
+ if (expr instanceof IBooleanExpression) {
+ IBooleanExpression be = (IBooleanExpression) expr;
return new EvaluatedCondition(this, be.getBooleanValue(element.getParent(), null, stream));
} else if (expr instanceof FeatureMatchExpression) {
FeatureMatchExpression fme = (FeatureMatchExpression) expr;
@@ -82,11 +82,11 @@ public class ImplicitCondition extends A
return result;
}
- public RutaExpression getExpr() {
+ public IRutaExpression getExpr() {
return expr;
}
- public void setExpr(RutaExpression expr) {
+ public void setExpr(IRutaExpression expr) {
this.expr = expr;
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java Fri Dec 6 08:41:07 2013
@@ -23,9 +23,9 @@ import java.util.List;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.list.StringListExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.resource.RutaWordList;
import org.apache.uima.ruta.rule.EvaluatedCondition;
@@ -34,24 +34,24 @@ import org.apache.uima.ruta.visitor.Infe
public class InListCondition extends TerminalRutaCondition {
- private BooleanExpression relative;
+ private IBooleanExpression relative;
- private final NumberExpression distance;
+ private final INumberExpression distance;
private WordListExpression listExpr;
private StringListExpression stringList;
- public InListCondition(WordListExpression listExpr, NumberExpression distance,
- BooleanExpression relative) {
+ public InListCondition(WordListExpression listExpr, INumberExpression distance,
+ IBooleanExpression relative) {
super();
this.listExpr = listExpr;
this.distance = distance;
this.relative = relative;
}
- public InListCondition(StringListExpression list, NumberExpression distance,
- BooleanExpression relative) {
+ public InListCondition(StringListExpression list, INumberExpression distance,
+ IBooleanExpression relative) {
super();
this.distance = distance;
this.relative = relative;
@@ -71,11 +71,11 @@ public class InListCondition extends Ter
return new EvaluatedCondition(this, contains);
}
- public BooleanExpression getRelative() {
+ public IBooleanExpression getRelative() {
return relative;
}
- public NumberExpression getDistance() {
+ public INumberExpression getDistance() {
return distance;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/MOfNCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/MOfNCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/MOfNCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/MOfNCondition.java Fri Dec 6 08:41:07 2013
@@ -24,19 +24,19 @@ import java.util.List;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class MOfNCondition extends ComposedRutaCondition {
- private final NumberExpression min;
+ private final INumberExpression min;
- private final NumberExpression max;
+ private final INumberExpression max;
- public MOfNCondition(List<AbstractRutaCondition> conditions, NumberExpression min,
- NumberExpression max) {
+ public MOfNCondition(List<AbstractRutaCondition> conditions, INumberExpression min,
+ INumberExpression max) {
super(conditions);
this.min = min;
this.max = max;
@@ -61,11 +61,11 @@ public class MOfNCondition extends Compo
return new EvaluatedCondition(this, value, evals);
}
- public NumberExpression getMin() {
+ public INumberExpression getMin() {
return min;
}
- public NumberExpression getMax() {
+ public INumberExpression getMax() {
return max;
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java Fri Dec 6 08:41:07 2013
@@ -23,9 +23,9 @@ import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
@@ -35,16 +35,16 @@ import org.apache.uima.ruta.visitor.Infe
public class NearCondition extends TypeSentiveCondition {
- private final NumberExpression min;
+ private final INumberExpression min;
- private final NumberExpression max;
+ private final INumberExpression max;
- private final BooleanExpression forward;
+ private final IBooleanExpression forward;
- private final BooleanExpression filtered;
+ private final IBooleanExpression filtered;
- public NearCondition(TypeExpression type, NumberExpression min, NumberExpression max,
- BooleanExpression forward, BooleanExpression filtered) {
+ public NearCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+ IBooleanExpression forward, IBooleanExpression filtered) {
super(type);
this.min = min == null ? new SimpleNumberExpression(1) : min;
this.max = max == null ? new SimpleNumberExpression(1) : max;
@@ -89,19 +89,19 @@ public class NearCondition extends TypeS
return new EvaluatedCondition(this, false);
}
- public NumberExpression getMin() {
+ public INumberExpression getMin() {
return min;
}
- public NumberExpression getMax() {
+ public INumberExpression getMax() {
return max;
}
- public BooleanExpression getForward() {
+ public IBooleanExpression getForward() {
return forward;
}
- public BooleanExpression getFiltered() {
+ public IBooleanExpression getFiltered() {
return filtered;
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java Fri Dec 6 08:41:07 2013
@@ -26,8 +26,8 @@ import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
@@ -37,12 +37,12 @@ import org.apache.uima.ruta.visitor.Infe
public class PositionCondition extends TypeSentiveCondition {
- private final NumberExpression position;
+ private final INumberExpression position;
- private final BooleanExpression relative;
+ private final IBooleanExpression relative;
- public PositionCondition(TypeExpression type, NumberExpression position,
- BooleanExpression relative) {
+ public PositionCondition(TypeExpression type, INumberExpression position,
+ IBooleanExpression relative) {
super(type);
this.position = position;
this.relative = relative;
@@ -136,11 +136,11 @@ public class PositionCondition extends T
return false;
}
- public NumberExpression getPosition() {
+ public INumberExpression getPosition() {
return position;
}
- public BooleanExpression getRelative() {
+ public IBooleanExpression getRelative() {
return relative;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/RegExpCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/RegExpCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/RegExpCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/RegExpCondition.java Fri Dec 6 08:41:07 2013
@@ -24,27 +24,27 @@ import java.util.regex.Pattern;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class RegExpCondition extends TerminalRutaCondition {
- private final StringExpression pattern;
+ private final IStringExpression pattern;
- private final BooleanExpression ignoreCase;
+ private final IBooleanExpression ignoreCase;
- private StringExpression variable;
+ private IStringExpression variable;
- public RegExpCondition(StringExpression pattern, BooleanExpression ignoreCase) {
+ public RegExpCondition(IStringExpression pattern, IBooleanExpression ignoreCase) {
super();
this.pattern = pattern;
this.ignoreCase = ignoreCase == null ? new SimpleBooleanExpression(false) : ignoreCase;
}
- public RegExpCondition(StringExpression v, StringExpression pattern, BooleanExpression ignoreCase) {
+ public RegExpCondition(IStringExpression v, IStringExpression pattern, IBooleanExpression ignoreCase) {
this(pattern, ignoreCase);
this.variable = v;
}
@@ -79,15 +79,15 @@ public class RegExpCondition extends Ter
return new EvaluatedCondition(this, matches);
}
- public StringExpression getPattern() {
+ public IStringExpression getPattern() {
return pattern;
}
- public StringExpression getVariable() {
+ public IStringExpression getVariable() {
return variable;
}
- public BooleanExpression getIgnoreCase() {
+ public IBooleanExpression getIgnoreCase() {
return ignoreCase;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ScoreCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ScoreCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ScoreCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ScoreCondition.java Fri Dec 6 08:41:07 2013
@@ -25,7 +25,7 @@ import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
@@ -33,13 +33,13 @@ import org.apache.uima.ruta.type.RutaAnn
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class ScoreCondition extends TerminalRutaCondition {
- private final NumberExpression min;
+ private final INumberExpression min;
- private final NumberExpression max;
+ private final INumberExpression max;
private final String var;
- public ScoreCondition(NumberExpression min, NumberExpression max, String var) {
+ public ScoreCondition(INumberExpression min, INumberExpression max, String var) {
super();
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
this.max = max == null ? new SimpleNumberExpression(Integer.MAX_VALUE) : max;
@@ -68,11 +68,11 @@ public class ScoreCondition extends Term
return new EvaluatedCondition(this, value);
}
- public NumberExpression getMin() {
+ public INumberExpression getMin() {
return min;
}
- public NumberExpression getMax() {
+ public INumberExpression getMax() {
return max;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/SizeCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/SizeCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/SizeCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/SizeCondition.java Fri Dec 6 08:41:07 2013
@@ -22,7 +22,7 @@ package org.apache.uima.ruta.condition;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.list.ListExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
import org.apache.uima.ruta.rule.RuleElement;
@@ -32,13 +32,13 @@ public class SizeCondition extends Abstr
private ListExpression<?> listExpr;
- private NumberExpression minExpr;
+ private INumberExpression minExpr;
- private NumberExpression maxExpr;
+ private INumberExpression maxExpr;
private String varExpr;
- public SizeCondition(ListExpression<?> list, NumberExpression min, NumberExpression max,
+ public SizeCondition(ListExpression<?> list, INumberExpression min, INumberExpression max,
String string) {
super();
this.listExpr = list;
@@ -63,11 +63,11 @@ public class SizeCondition extends Abstr
return listExpr;
}
- public NumberExpression getMinExpr() {
+ public INumberExpression getMinExpr() {
return minExpr;
}
- public NumberExpression getMaxExpr() {
+ public INumberExpression getMaxExpr() {
return maxExpr;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java Fri Dec 6 08:41:07 2013
@@ -23,7 +23,7 @@ import java.util.Iterator;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
import org.apache.uima.ruta.expression.type.TypeExpression;
import org.apache.uima.ruta.rule.EvaluatedCondition;
@@ -31,13 +31,13 @@ import org.apache.uima.ruta.rule.RuleEle
import org.apache.uima.ruta.visitor.InferenceCrowd;
public class TotalCountCondition extends TypeSentiveCondition {
- private final NumberExpression min;
+ private final INumberExpression min;
- private final NumberExpression max;
+ private final INumberExpression max;
private final String var;
- public TotalCountCondition(TypeExpression type, NumberExpression min, NumberExpression max,
+ public TotalCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
String var) {
super(type);
this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
@@ -63,11 +63,11 @@ public class TotalCountCondition extends
return new EvaluatedCondition(this, value);
}
- public NumberExpression getMin() {
+ public INumberExpression getMin() {
return min;
}
- public NumberExpression getMax() {
+ public INumberExpression getMax() {
return max;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java Fri Dec 6 08:41:07 2013
@@ -24,15 +24,16 @@ import java.util.List;
import org.antlr.runtime.Token;
import org.apache.uima.ruta.RutaBlock;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
import org.apache.uima.ruta.expression.bool.BooleanFeatureExpression;
import org.apache.uima.ruta.expression.bool.BooleanNumberExpression;
import org.apache.uima.ruta.expression.bool.BooleanTypeExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
import org.apache.uima.ruta.expression.bool.ReferenceBooleanExpression;
import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
import org.apache.uima.ruta.expression.bool.SimpleBooleanFunction;
import org.apache.uima.ruta.expression.feature.FeatureExpression;
import org.apache.uima.ruta.expression.feature.FeatureMatchExpression;
+import org.apache.uima.ruta.expression.feature.GenericFeatureExpression;
import org.apache.uima.ruta.expression.feature.SimpleFeatureExpression;
import org.apache.uima.ruta.expression.list.BooleanListExpression;
import org.apache.uima.ruta.expression.list.NumberListExpression;
@@ -47,8 +48,8 @@ import org.apache.uima.ruta.expression.l
import org.apache.uima.ruta.expression.list.StringListExpression;
import org.apache.uima.ruta.expression.list.TypeListExpression;
import org.apache.uima.ruta.expression.number.ComposedNumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
import org.apache.uima.ruta.expression.number.NegativeNumberExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
import org.apache.uima.ruta.expression.number.NumberFeatureExpression;
import org.apache.uima.ruta.expression.number.ReferenceNumberExpression;
import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
@@ -58,10 +59,11 @@ import org.apache.uima.ruta.expression.r
import org.apache.uima.ruta.expression.resource.ReferenceWordTableExpression;
import org.apache.uima.ruta.expression.resource.WordListExpression;
import org.apache.uima.ruta.expression.resource.WordTableExpression;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
import org.apache.uima.ruta.expression.string.ComposedStringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
import org.apache.uima.ruta.expression.string.ReferenceStringExpression;
import org.apache.uima.ruta.expression.string.SimpleStringExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
import org.apache.uima.ruta.expression.string.StringFeatureExpression;
import org.apache.uima.ruta.expression.type.ReferenceTypeExpression;
import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
@@ -72,7 +74,7 @@ public class ExpressionFactory {
private ExpressionFactory() {
}
- public static NumberExpression createIntegerExpression(Token number, Token minus) {
+ public static INumberExpression createIntegerExpression(Token number, Token minus) {
Integer valueOf = Integer.valueOf(number.getText());
SimpleNumberExpression simpleNumberExpression = new SimpleNumberExpression(valueOf);
if (minus != null) {
@@ -82,7 +84,7 @@ public class ExpressionFactory {
}
}
- public static NumberExpression createDoubleExpression(Token number, Token minus) {
+ public static INumberExpression createDoubleExpression(Token number, Token minus) {
Double valueOf = Double.valueOf(number.getText());
SimpleNumberExpression simpleNumberExpression = new SimpleNumberExpression(valueOf);
if (minus != null) {
@@ -92,7 +94,7 @@ public class ExpressionFactory {
}
}
- public static NumberExpression createReferenceNumberExpression(Token var, Token minus) {
+ public static INumberExpression createReferenceNumberExpression(Token var, Token minus) {
ReferenceNumberExpression simpleNumberExpression = new ReferenceNumberExpression(var.getText());
if (minus != null) {
return new NegativeNumberExpression(simpleNumberExpression);
@@ -101,7 +103,7 @@ public class ExpressionFactory {
}
}
- public static NumberExpression createComposedNumberExpression(List<NumberExpression> expressions,
+ public static INumberExpression createComposedNumberExpression(List<INumberExpression> expressions,
List<Token> opTokens) {
List<String> ops = new ArrayList<String>();
for (Token token : opTokens) {
@@ -110,39 +112,39 @@ public class ExpressionFactory {
return new ComposedNumberExpression(expressions, ops);
}
- public static NumberExpression createComposedNumberExpression(NumberExpression expression,
+ public static INumberExpression createComposedNumberExpression(INumberExpression expression,
Token opToken) {
List<String> ops = new ArrayList<String>();
- List<NumberExpression> exprList = new ArrayList<NumberExpression>();
+ List<INumberExpression> exprList = new ArrayList<INumberExpression>();
ops.add(opToken.getText());
exprList.add(expression);
return new ComposedNumberExpression(exprList, ops);
}
- public static StringExpression createSimpleStringExpression(Token token) {
+ public static AbstractStringExpression createSimpleStringExpression(Token token) {
String text = token.getText();
String substring = text.substring(1, text.length() - 1);
return new SimpleStringExpression(substring);
}
- public static StringExpression createComposedStringExpression(List<StringExpression> expressions) {
+ public static IStringExpression createComposedStringExpression(List<IStringExpression> expressions) {
return new ComposedStringExpression(expressions);
}
- public static StringExpression createReferenceStringExpression(Token var) {
+ public static AbstractStringExpression createReferenceStringExpression(Token var) {
return new ReferenceStringExpression(var.getText());
}
- public static BooleanExpression createBooleanNumberExpression(NumberExpression e1, Token op,
- NumberExpression e2) {
+ public static IBooleanExpression createBooleanNumberExpression(INumberExpression e1, Token op,
+ INumberExpression e2) {
return new BooleanNumberExpression(e1, op.getText(), e2);
}
- public static BooleanExpression createSimpleBooleanExpression(Token v) {
+ public static IBooleanExpression createSimpleBooleanExpression(Token v) {
return new SimpleBooleanExpression(Boolean.valueOf(v.getText()));
}
- public static BooleanExpression createReferenceBooleanExpression(Token id) {
+ public static IBooleanExpression createReferenceBooleanExpression(Token id) {
return new ReferenceBooleanExpression(id.getText());
}
@@ -160,8 +162,8 @@ public class ExpressionFactory {
return new SimpleTypeExpression(typeString);
}
- public static BooleanExpression createBooleanFunction(Token op, BooleanExpression e1,
- BooleanExpression e2) {
+ public static IBooleanExpression createBooleanFunction(Token op, IBooleanExpression e1,
+ IBooleanExpression e2) {
return new SimpleBooleanFunction(op.getText(), e1, e2);
}
@@ -181,7 +183,7 @@ public class ExpressionFactory {
return new LiteralWordTableExpression(path.getText());
}
- public static BooleanExpression createBooleanTypeExpression(TypeExpression e1, Token op,
+ public static IBooleanExpression createBooleanTypeExpression(TypeExpression e1, Token op,
TypeExpression e2) {
return new BooleanTypeExpression(e1, op.getText(), e2);
}
@@ -210,11 +212,11 @@ public class ExpressionFactory {
return new ReferenceNumberListExpression(var.getText());
}
- public static BooleanListExpression createBooleanListExpression(List<BooleanExpression> list) {
+ public static BooleanListExpression createBooleanListExpression(List<IBooleanExpression> list) {
return new SimpleBooleanListExpression(list);
}
- public static NumberListExpression createNumberListExpression(List<NumberExpression> list) {
+ public static NumberListExpression createNumberListExpression(List<INumberExpression> list) {
return new SimpleNumberListExpression(list);
}
@@ -222,7 +224,7 @@ public class ExpressionFactory {
return new SimpleTypeListExpression(list);
}
- public static StringListExpression createStringListExpression(List<StringExpression> list) {
+ public static StringListExpression createStringListExpression(List<IStringExpression> list) {
return new SimpleStringListExpression(list);
}
@@ -236,12 +238,12 @@ public class ExpressionFactory {
}
public static FeatureMatchExpression createFeatureMatchExpression(FeatureExpression f, Token op,
- RutaExpression arg, RutaBlock env) {
+ IRutaExpression arg, RutaBlock env) {
return new FeatureMatchExpression(f, op.getText(), arg);
}
public static MatchReference createMatchReference(Token refToken, Token opToken,
- RutaExpression arg) {
+ IRutaExpression arg) {
String match = refToken.getText();
String op = null;
if (opToken != null) {
@@ -250,16 +252,20 @@ public class ExpressionFactory {
return new MatchReference(match, op, arg);
}
- public static NumberExpression createNumberFeatureExpression(FeatureExpression fe) {
+ public static INumberExpression createNumberFeatureExpression(FeatureExpression fe) {
return new NumberFeatureExpression(fe);
}
- public static StringExpression createStringFeatureExpression(FeatureExpression fe) {
+ public static AbstractStringExpression createStringFeatureExpression(FeatureExpression fe) {
return new StringFeatureExpression(fe);
}
- public static BooleanExpression createBooleanFeatureExpression(FeatureExpression fe) {
+ public static IBooleanExpression createBooleanFeatureExpression(FeatureExpression fe) {
return new BooleanFeatureExpression(fe);
}
+ public static GenericFeatureExpression createGenericFeatureExpression(FeatureExpression fe) {
+ return new GenericFeatureExpression(fe);
+ }
+
}
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/IRutaExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/IRutaExpression.java?rev=1548429&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/IRutaExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/IRutaExpression.java Fri Dec 6 08:41:07 2013
@@ -0,0 +1,5 @@
+package org.apache.uima.ruta.expression;
+
+public interface IRutaExpression {
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/IRutaExpression.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java Fri Dec 6 08:41:07 2013
@@ -38,13 +38,13 @@ public class MatchReference extends Ruta
private String op;
- private RutaExpression arg;
+ private IRutaExpression arg;
private TypeExpression typeExpression;
private FeatureExpression featureExpression;
- public MatchReference(String match, String op, RutaExpression arg) {
+ public MatchReference(String match, String op, IRutaExpression arg) {
super();
this.match = match;
this.op = op;
@@ -114,7 +114,7 @@ public class MatchReference extends Ruta
return op;
}
- public RutaExpression getArg() {
+ public IRutaExpression getArg() {
return arg;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/RutaExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/RutaExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/RutaExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/RutaExpression.java Fri Dec 6 08:41:07 2013
@@ -31,7 +31,7 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.ruta.RutaElement;
import org.apache.uima.ruta.RutaStream;
-public class RutaExpression extends RutaElement {
+public class RutaExpression extends RutaElement implements IRutaExpression {
protected List<AnnotationFS> getTargetAnnotation(AnnotationFS annotation, Type type,
RutaStream stream) {
Copied: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/AbstractBooleanExpression.java (from r1545591, uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanExpression.java)
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/AbstractBooleanExpression.java?p2=uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/AbstractBooleanExpression.java&p1=uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanExpression.java&r1=1545591&r2=1548429&rev=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/AbstractBooleanExpression.java Fri Dec 6 08:41:07 2013
@@ -24,11 +24,11 @@ import java.util.List;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
import org.apache.uima.ruta.rule.RuleElement;
import org.apache.uima.ruta.rule.RuleMatch;
-public abstract class BooleanExpression extends StringExpression {
+abstract class AbstractBooleanExpression extends AbstractStringExpression implements IBooleanExpression {
public boolean getBooleanValue(RutaBlock parent, RuleMatch match, RuleElement element,
RutaStream stream) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java Fri Dec 6 08:41:07 2013
@@ -29,7 +29,7 @@ import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.feature.FeatureExpression;
-public class BooleanFeatureExpression extends BooleanExpression {
+public class BooleanFeatureExpression extends AbstractBooleanExpression {
private FeatureExpression fe;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFunctionExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFunctionExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFunctionExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFunctionExpression.java Fri Dec 6 08:41:07 2013
@@ -19,6 +19,6 @@
package org.apache.uima.ruta.expression.bool;
-public abstract class BooleanFunctionExpression extends BooleanExpression {
+public abstract class BooleanFunctionExpression extends AbstractBooleanExpression {
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanNumberExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanNumberExpression.java Fri Dec 6 08:41:07 2013
@@ -22,17 +22,17 @@ package org.apache.uima.ruta.expression.
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
-public class BooleanNumberExpression extends BooleanExpression {
+public class BooleanNumberExpression extends AbstractBooleanExpression {
- private final NumberExpression e1;
+ private final INumberExpression e1;
private final String op;
- private final NumberExpression e2;
+ private final INumberExpression e2;
- public BooleanNumberExpression(NumberExpression e1, String op, NumberExpression e2) {
+ public BooleanNumberExpression(INumberExpression e1, String op, INumberExpression e2) {
super();
this.e1 = e1;
this.op = op;
@@ -63,7 +63,7 @@ public class BooleanNumberExpression ext
return false;
}
- public NumberExpression getFristExpression() {
+ public INumberExpression getFristExpression() {
return e1;
}
@@ -71,7 +71,7 @@ public class BooleanNumberExpression ext
return op;
}
- public NumberExpression getSecondExpression() {
+ public INumberExpression getSecondExpression() {
return e2;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java Fri Dec 6 08:41:07 2013
@@ -25,7 +25,7 @@ import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.expression.type.TypeExpression;
-public class BooleanTypeExpression extends BooleanExpression {
+public class BooleanTypeExpression extends AbstractBooleanExpression {
private final TypeExpression e1;
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/IBooleanExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/IBooleanExpression.java?rev=1548429&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/IBooleanExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/IBooleanExpression.java Fri Dec 6 08:41:07 2013
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.ruta.expression.bool;
+
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.ruta.RutaBlock;
+import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.expression.string.IStringExpression;
+import org.apache.uima.ruta.rule.RuleElement;
+import org.apache.uima.ruta.rule.RuleMatch;
+
+public interface IBooleanExpression extends IStringExpression {
+
+ boolean getBooleanValue(RutaBlock parent, RuleMatch match, RuleElement element, RutaStream stream);
+
+ boolean getBooleanValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream);
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/IBooleanExpression.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/ReferenceBooleanExpression.java Fri Dec 6 08:41:07 2013
@@ -23,7 +23,7 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-public class ReferenceBooleanExpression extends BooleanExpression {
+public class ReferenceBooleanExpression extends AbstractBooleanExpression {
private final String var;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanExpression.java Fri Dec 6 08:41:07 2013
@@ -23,7 +23,7 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-public class SimpleBooleanExpression extends BooleanExpression {
+public class SimpleBooleanExpression extends AbstractBooleanExpression {
private final boolean value;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/SimpleBooleanFunction.java Fri Dec 6 08:41:07 2013
@@ -23,15 +23,15 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-public class SimpleBooleanFunction extends BooleanExpression {
+public class SimpleBooleanFunction extends AbstractBooleanExpression {
private String op;
- private BooleanExpression e1;
+ private IBooleanExpression e1;
- private BooleanExpression e2;
+ private IBooleanExpression e2;
- public SimpleBooleanFunction(String text, BooleanExpression e1, BooleanExpression e2) {
+ public SimpleBooleanFunction(String text, IBooleanExpression e1, IBooleanExpression e2) {
super();
this.op = text;
this.e1 = e1;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java Fri Dec 6 08:41:07 2013
@@ -26,10 +26,11 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.UIMAConstants;
+import org.apache.uima.ruta.expression.IRutaExpression;
import org.apache.uima.ruta.expression.RutaExpression;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
public class FeatureMatchExpression extends SimpleFeatureExpression {
@@ -37,17 +38,17 @@ public class FeatureMatchExpression exte
public static final String NOT_EQUAL = "!=";
- private RutaExpression arg;
+ private IRutaExpression arg;
private String op;
- public FeatureMatchExpression(FeatureExpression f, String op, RutaExpression arg) {
+ public FeatureMatchExpression(FeatureExpression f, String op, IRutaExpression arg) {
super(f.getTypeExpr(), f.getFeatureStringList());
this.op = op;
this.arg = arg;
}
- public RutaExpression getArg() {
+ public IRutaExpression getArg() {
return arg;
}
@@ -73,37 +74,37 @@ public class FeatureMatchExpression exte
String rn = feature.getRange().getName();
if (rn.equals(UIMAConstants.TYPE_BOOLEAN)) {
Boolean v1 = afs.getBooleanValue(feature);
- if (arg instanceof BooleanExpression) {
- BooleanExpression expr = (BooleanExpression) arg;
+ if (arg instanceof IBooleanExpression) {
+ IBooleanExpression expr = (IBooleanExpression) arg;
Boolean v2 = expr.getBooleanValue(parent, afs, stream);
return compare(v1, v2);
}
} else if (rn.equals(UIMAConstants.TYPE_INTEGER) || rn.equals(UIMAConstants.TYPE_BYTE)
|| rn.equals(UIMAConstants.TYPE_SHORT) || rn.equals(UIMAConstants.TYPE_LONG)) {
Integer v1 = afs.getIntValue(feature);
- if (arg instanceof NumberExpression) {
- NumberExpression expr = (NumberExpression) arg;
+ if (arg instanceof INumberExpression) {
+ INumberExpression expr = (INumberExpression) arg;
Integer v2 = expr.getIntegerValue(parent, afs, stream);
return compare(v1, v2);
}
} else if (rn.equals(UIMAConstants.TYPE_DOUBLE)) {
Double v1 = afs.getDoubleValue(feature);
- if (arg instanceof NumberExpression) {
- NumberExpression expr = (NumberExpression) arg;
+ if (arg instanceof INumberExpression) {
+ INumberExpression expr = (INumberExpression) arg;
Double v2 = expr.getDoubleValue(parent, afs, stream);
return compare(v1, v2);
}
} else if (rn.equals(UIMAConstants.TYPE_FLOAT)) {
Float v1 = afs.getFloatValue(feature);
- if (arg instanceof NumberExpression) {
- NumberExpression expr = (NumberExpression) arg;
+ if (arg instanceof INumberExpression) {
+ INumberExpression expr = (INumberExpression) arg;
Float v2 = expr.getFloatValue(parent, afs, stream);
return compare(v1, v2);
}
} else if (rn.equals(UIMAConstants.TYPE_STRING)) {
String v1 = afs.getStringValue(feature);
- if (arg instanceof StringExpression) {
- StringExpression expr = (StringExpression) arg;
+ if (arg instanceof AbstractStringExpression) {
+ AbstractStringExpression expr = (AbstractStringExpression) arg;
String v2 = expr.getStringValue(parent, afs, stream);
return compare(v1, v2);
}
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/GenericFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/GenericFeatureExpression.java?rev=1548429&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/GenericFeatureExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/GenericFeatureExpression.java Fri Dec 6 08:41:07 2013
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.ruta.expression.feature;
+
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.ruta.RutaBlock;
+import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.expression.ExpressionFactory;
+import org.apache.uima.ruta.expression.RutaExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
+import org.apache.uima.ruta.rule.RuleElement;
+import org.apache.uima.ruta.rule.RuleMatch;
+
+public class GenericFeatureExpression extends RutaExpression implements INumberExpression, IBooleanExpression, IStringExpression {
+
+ private FeatureExpression featureExpression;
+
+ private INumberExpression numberExpression;
+
+ private IStringExpression stringExpression;
+
+ private IBooleanExpression booleanExpression;
+
+ public GenericFeatureExpression(FeatureExpression fe) {
+ super();
+ this.featureExpression = fe;
+ }
+
+
+ public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
+ if(stringExpression == null) {
+ stringExpression = ExpressionFactory.createStringFeatureExpression(featureExpression);
+ }
+ return stringExpression.getStringValue(parent, annotation, stream);
+ }
+
+ public String getStringValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ if(stringExpression == null) {
+ stringExpression = ExpressionFactory.createStringFeatureExpression(featureExpression);
+ }
+ return stringExpression.getStringValue(parent, match, element, stream);
+ }
+
+ public boolean getBooleanValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ if(booleanExpression == null) {
+ booleanExpression = ExpressionFactory.createBooleanFeatureExpression(featureExpression);
+ }
+ return booleanExpression.getBooleanValue(parent, match, element, stream);
+ }
+
+ public boolean getBooleanValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
+ if(booleanExpression == null) {
+ booleanExpression = ExpressionFactory.createBooleanFeatureExpression(featureExpression);
+ }
+ return booleanExpression.getBooleanValue(parent, annotation, stream);
+ }
+
+ public int getIntegerValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ if(numberExpression == null) {
+ numberExpression = ExpressionFactory.createNumberFeatureExpression(featureExpression);
+ }
+ return numberExpression.getIntegerValue(parent, match, element, stream);
+ }
+
+ public double getDoubleValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ if(numberExpression == null) {
+ numberExpression = ExpressionFactory.createNumberFeatureExpression(featureExpression);
+ }
+ return numberExpression.getDoubleValue(parent, match, element, stream);
+ }
+
+ public float getFloatValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ if(numberExpression == null) {
+ numberExpression = ExpressionFactory.createNumberFeatureExpression(featureExpression);
+ }
+ return numberExpression.getFloatValue(parent, match, element, stream);
+ }
+
+ public int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
+ if(numberExpression == null) {
+ numberExpression = ExpressionFactory.createNumberFeatureExpression(featureExpression);
+ }
+ return numberExpression.getIntegerValue(parent, annotation, stream);
+ }
+
+ public double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
+ if(numberExpression == null) {
+ numberExpression = ExpressionFactory.createNumberFeatureExpression(featureExpression);
+ }
+ return numberExpression.getIntegerValue(parent, annotation, stream);
+ }
+
+ public float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
+ if(numberExpression == null) {
+ numberExpression = ExpressionFactory.createNumberFeatureExpression(featureExpression);
+ }
+ return numberExpression.getIntegerValue(parent, annotation, stream);
+ }
+
+
+ public FeatureExpression getFeatureExpression() {
+ return featureExpression;
+ }
+
+
+ public void setFeatureExpression(FeatureExpression featureExpression) {
+ this.featureExpression = featureExpression;
+ }
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/GenericFeatureExpression.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,9 +24,9 @@ import java.util.List;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
-public abstract class ListExpression<T> extends StringExpression {
+public abstract class ListExpression<T> extends AbstractStringExpression {
public abstract List<T> getList(RutaBlock parent, RutaStream stream);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceBooleanListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
public class ReferenceBooleanListExpression extends BooleanListExpression {
@@ -41,8 +41,8 @@ public class ReferenceBooleanListExpress
List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
List<Boolean> result = new ArrayList<Boolean>();
for (Object each : list) {
- if (each instanceof BooleanExpression) {
- result.add(((BooleanExpression) each).getBooleanValue(parent, null, stream));
+ if (each instanceof IBooleanExpression) {
+ result.add(((IBooleanExpression) each).getBooleanValue(parent, null, stream));
} else if (each instanceof Boolean) {
result.add((Boolean) each);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceNumberListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
public class ReferenceNumberListExpression extends NumberListExpression {
@@ -41,8 +41,8 @@ public class ReferenceNumberListExpressi
List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
List<Number> result = new ArrayList<Number>();
for (Object each : list) {
- if (each instanceof NumberExpression) {
- result.add(((NumberExpression) each).getDoubleValue(parent, null, stream));
+ if (each instanceof INumberExpression) {
+ result.add(((INumberExpression) each).getDoubleValue(parent, null, stream));
} else if (each instanceof Number) {
result.add((Number) each);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/ReferenceStringListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
public class ReferenceStringListExpression extends StringListExpression {
@@ -41,8 +41,8 @@ public class ReferenceStringListExpressi
List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
List<String> result = new ArrayList<String>();
for (Object each : list) {
- if (each instanceof StringExpression) {
- result.add(((StringExpression) each).getStringValue(parent, null, stream));
+ if (each instanceof AbstractStringExpression) {
+ result.add(((AbstractStringExpression) each).getStringValue(parent, null, stream));
} else if (each instanceof String) {
result.add((String) each);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleBooleanListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,13 +24,13 @@ import java.util.List;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.bool.BooleanExpression;
+import org.apache.uima.ruta.expression.bool.IBooleanExpression;
public class SimpleBooleanListExpression extends BooleanListExpression {
- private List<BooleanExpression> list;
+ private List<IBooleanExpression> list;
- public SimpleBooleanListExpression(List<BooleanExpression> list) {
+ public SimpleBooleanListExpression(List<IBooleanExpression> list) {
super();
this.list = list;
}
@@ -38,13 +38,13 @@ public class SimpleBooleanListExpression
@Override
public List<Boolean> getList(RutaBlock parent, RutaStream stream) {
List<Boolean> result = new ArrayList<Boolean>();
- for (BooleanExpression each : list) {
+ for (IBooleanExpression each : list) {
result.add(each.getBooleanValue(parent, null, stream));
}
return result;
}
- public List<BooleanExpression> getList() {
+ public List<IBooleanExpression> getList() {
return list;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleNumberListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,13 +24,13 @@ import java.util.List;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
public class SimpleNumberListExpression extends NumberListExpression {
- private List<NumberExpression> list;
+ private List<INumberExpression> list;
- public SimpleNumberListExpression(List<NumberExpression> list) {
+ public SimpleNumberListExpression(List<INumberExpression> list) {
super();
this.list = list;
}
@@ -38,13 +38,13 @@ public class SimpleNumberListExpression
@Override
public List<Number> getList(RutaBlock parent, RutaStream stream) {
List<Number> result = new ArrayList<Number>();
- for (NumberExpression each : list) {
+ for (INumberExpression each : list) {
result.add(each.getDoubleValue(parent, null, stream));
}
return result;
}
- public List<NumberExpression> getList() {
+ public List<INumberExpression> getList() {
return list;
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleStringListExpression.java Fri Dec 6 08:41:07 2013
@@ -24,13 +24,13 @@ import java.util.List;
import org.apache.uima.ruta.RutaBlock;
import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
public class SimpleStringListExpression extends StringListExpression {
- private List<StringExpression> list;
+ private List<IStringExpression> list;
- public SimpleStringListExpression(List<StringExpression> list) {
+ public SimpleStringListExpression(List<IStringExpression> list) {
super();
this.list = list;
}
@@ -38,13 +38,13 @@ public class SimpleStringListExpression
@Override
public List<String> getList(RutaBlock parent, RutaStream stream) {
List<String> result = new ArrayList<String>();
- for (StringExpression each : list) {
+ for (IStringExpression each : list) {
result.add(each.getStringValue(parent, null, stream));
}
return result;
}
- public List<StringExpression> getList() {
+ public List<IStringExpression> getList() {
return list;
}
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/AbstractNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/AbstractNumberExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/AbstractNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/AbstractNumberExpression.java Fri Dec 6 08:41:07 2013
@@ -19,8 +19,50 @@
package org.apache.uima.ruta.expression.number;
-public abstract class AbstractNumberExpression extends NumberExpression {
+import java.util.List;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.ruta.RutaBlock;
+import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
+import org.apache.uima.ruta.rule.RuleElement;
+import org.apache.uima.ruta.rule.RuleMatch;
+
+public abstract class AbstractNumberExpression extends AbstractStringExpression implements INumberExpression {
+
+ public int getIntegerValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ List<AnnotationFS> matchedAnnotationsOf = match.getMatchedAnnotationsOf(element);
+ // TODO: do we need to select the correct annotation?
+ AnnotationFS annotation = null;
+ if (!matchedAnnotationsOf.isEmpty()) {
+ annotation = matchedAnnotationsOf.get(0);
+ }
+ return getIntegerValue(parent, annotation, stream);
+ }
+
+ public double getDoubleValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ List<AnnotationFS> matchedAnnotationsOf = match.getMatchedAnnotationsOf(element);
+ // TODO: do we need to select the correct annotation?
+ AnnotationFS annotation = null;
+ if (!matchedAnnotationsOf.isEmpty()) {
+ annotation = matchedAnnotationsOf.get(0);
+ }
+ return getDoubleValue(parent, annotation, stream);
+ }
+
+ public float getFloatValue(RutaBlock parent, RuleMatch match, RuleElement element,
+ RutaStream stream) {
+ List<AnnotationFS> matchedAnnotationsOf = match.getMatchedAnnotationsOf(element);
+ // TODO: do we need to select the correct annotation?
+ AnnotationFS annotation = null;
+ if (!matchedAnnotationsOf.isEmpty()) {
+ annotation = matchedAnnotationsOf.get(0);
+ }
+ return getFloatValue(parent, annotation, stream);
+ }
+
protected double calculate(double t1, double t2, String op) {
if ("+".equals(op)) {
return t1 + t2;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java Fri Dec 6 08:41:07 2013
@@ -27,19 +27,18 @@ import org.apache.uima.ruta.RutaStream;
public class ComposedNumberExpression extends AbstractNumberExpression {
- private final List<NumberExpression> expressions;
+ private final List<INumberExpression> expressions;
private final List<String> ops;
- public ComposedNumberExpression(List<NumberExpression> expressions, List<String> ops) {
+ public ComposedNumberExpression(List<INumberExpression> expressions, List<String> ops) {
super();
this.expressions = expressions;
this.ops = ops;
}
- @Override
public double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
- NumberExpression numberExpression = getExpressions().get(0);
+ INumberExpression numberExpression = getExpressions().get(0);
if (numberExpression == null) {
return 0;
}
@@ -54,9 +53,8 @@ public class ComposedNumberExpression ex
return result;
}
- @Override
public float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
- NumberExpression numberExpression = getExpressions().get(0);
+ INumberExpression numberExpression = getExpressions().get(0);
if (numberExpression == null) {
return 0;
}
@@ -71,7 +69,6 @@ public class ComposedNumberExpression ex
return result;
}
- @Override
public int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
int result = getExpressions().get(0).getIntegerValue(parent, annotation, stream);
for (int i = 0; i < getOperators().size(); i++) {
@@ -89,7 +86,7 @@ public class ComposedNumberExpression ex
return "" + getDoubleValue(parent, null, stream);
}
- public List<NumberExpression> getExpressions() {
+ public List<INumberExpression> getExpressions() {
return expressions;
}
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/INumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/INumberExpression.java?rev=1548429&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/INumberExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/INumberExpression.java Fri Dec 6 08:41:07 2013
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.ruta.expression.number;
+
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.ruta.RutaBlock;
+import org.apache.uima.ruta.RutaStream;
+import org.apache.uima.ruta.expression.string.IStringExpression;
+import org.apache.uima.ruta.rule.RuleElement;
+import org.apache.uima.ruta.rule.RuleMatch;
+
+public interface INumberExpression extends IStringExpression {
+
+ int getIntegerValue(RutaBlock parent, RuleMatch match, RuleElement element, RutaStream stream);
+
+ double getDoubleValue(RutaBlock parent, RuleMatch match, RuleElement element, RutaStream stream);
+
+ float getFloatValue(RutaBlock parent, RuleMatch match, RuleElement element, RutaStream stream);
+
+ int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream);
+
+ double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream);
+
+ float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream);
+
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/INumberExpression.java
------------------------------------------------------------------------------
svn:eol-style = native