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 2016/01/04 11:10:43 UTC

svn commit: r1722822 [2/2] - in /uima/ruta/branches/UIMA-4408: example-projects/ruta-ep-example-extensions/src/main/java/org/apache/uima/ruta/example/extensions/ ruta-core-ext/src/main/java/org/apache/uima/ruta/block/ ruta-core-ext/src/main/java/org/ap...

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java Mon Jan  4 10:10:42 2016
@@ -31,7 +31,7 @@ import org.apache.uima.jcas.tcas.Annotat
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.expression.bool.IBooleanExpression;
 import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
 import org.apache.uima.ruta.rule.RuleMatch;
@@ -41,7 +41,7 @@ import org.apache.uima.util.CasCopier;
 
 public class SplitAction extends AbstractRutaAction {
 
-  private TypeExpression splitOnType;
+  private ITypeExpression splitOnType;
 
   private IBooleanExpression complete;
 
@@ -49,7 +49,7 @@ public class SplitAction extends Abstrac
 
   private IBooleanExpression appendToEnd;
 
-  public SplitAction(TypeExpression splitOnType, IBooleanExpression complete,
+  public SplitAction(ITypeExpression splitOnType, IBooleanExpression complete,
           IBooleanExpression appendToBegin, IBooleanExpression appendToEnd) {
     super();
     this.splitOnType = splitOnType;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java Mon Jan  4 10:10:42 2016
@@ -27,7 +27,7 @@ import org.apache.uima.cas.FeatureStruct
 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.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
 import org.apache.uima.ruta.rule.RuleElementMatch;
@@ -36,7 +36,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class TransferAction extends TypeSensitiveAction {
 
-  public TransferAction(TypeExpression type) {
+  public TransferAction(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java Mon Jan  4 10:10:42 2016
@@ -33,7 +33,7 @@ import org.apache.uima.ruta.expression.l
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.resource.WordListExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.resource.RutaWordList;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -78,8 +78,8 @@ public class TrieAction extends Abstract
     for (IStringExpression eachKey : map.keySet()) {
       String stringValue = eachKey.getStringValue(context, stream);
       IRutaExpression expression = map.get(eachKey);
-      if (expression instanceof TypeExpression) {
-        Type typeValue = ((TypeExpression) expression).getType(context, stream);
+      if (expression instanceof ITypeExpression) {
+        Type typeValue = ((ITypeExpression) expression).getType(context, stream);
         typeMap.put(stringValue, typeValue);
       } else if (expression instanceof UntypedListExpression) {
         List<Object> innerList = ((UntypedListExpression) expression).getList(context, stream);

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java Mon Jan  4 10:10:42 2016
@@ -27,7 +27,7 @@ import org.apache.uima.cas.text.Annotati
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
 import org.apache.uima.ruta.rule.RuleMatch;
@@ -38,9 +38,9 @@ public class TrimAction extends Abstract
 
   private TypeListExpression typeList;
 
-  private List<TypeExpression> types;
+  private List<ITypeExpression> types;
 
-  public TrimAction(List<TypeExpression> types, TypeListExpression typeList) {
+  public TrimAction(List<ITypeExpression> types, TypeListExpression typeList) {
     super();
     this.types = types;
     this.typeList = typeList;
@@ -113,7 +113,7 @@ public class TrimAction extends Abstract
   private List<Type> getTypes(MatchContext context, RutaStream stream) {
     List<Type> result = new ArrayList<Type>();
     if (types != null) {
-      for (TypeExpression each : types) {
+      for (ITypeExpression each : types) {
         result.add(each.getType(context, stream));
       }
     } else if (typeList != null) {
@@ -126,7 +126,7 @@ public class TrimAction extends Abstract
     return typeList;
   }
 
-  public List<TypeExpression> getTypes() {
+  public List<ITypeExpression> getTypes() {
     return types;
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/TypeSensitiveAction.java Mon Jan  4 10:10:42 2016
@@ -19,18 +19,18 @@
 
 package org.apache.uima.ruta.action;
 
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 
 public abstract class TypeSensitiveAction extends AbstractRutaAction {
 
-  public TypeSensitiveAction(TypeExpression type) {
+  protected ITypeExpression type;
+
+  public TypeSensitiveAction(ITypeExpression type) {
     super();
     this.type = type;
   }
 
-  protected TypeExpression type;
-
-  public TypeExpression getType() {
+  public ITypeExpression getType() {
     return type;
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java Mon Jan  4 10:10:42 2016
@@ -28,7 +28,7 @@ import org.apache.uima.cas.text.Annotati
 import org.apache.uima.ruta.RutaStream;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
 import org.apache.uima.ruta.rule.RuleMatch;
@@ -41,7 +41,7 @@ public class UnmarkAction extends TypeSe
 
   private IBooleanExpression allAnchor;
 
-  public UnmarkAction(TypeExpression type, List<INumberExpression> list, IBooleanExpression b) {
+  public UnmarkAction(ITypeExpression type, List<INumberExpression> list, IBooleanExpression b) {
     super(type);
     this.list = list;
     this.allAnchor = b;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java Mon Jan  4 10:10:42 2016
@@ -29,7 +29,7 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
 import org.apache.uima.ruta.rule.RuleElementMatch;
@@ -41,7 +41,7 @@ public class UnmarkAllAction extends Typ
 
   private final TypeListExpression list;
 
-  public UnmarkAllAction(TypeExpression type, TypeListExpression list) {
+  public UnmarkAllAction(ITypeExpression type, TypeListExpression list) {
     super(type);
     this.list = list;
   }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java Mon Jan  4 10:10:42 2016
@@ -26,14 +26,14 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.visitor.InferenceCrowd;
 
 public class AfterCondition extends TypeSentiveCondition {
 
-  public AfterCondition(TypeExpression type) {
+  public AfterCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java Mon Jan  4 10:10:42 2016
@@ -26,14 +26,14 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.visitor.InferenceCrowd;
 
 public class BeforeCondition extends TypeSentiveCondition {
 
-  public BeforeCondition(TypeExpression type) {
+  public BeforeCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java Mon Jan  4 10:10:42 2016
@@ -31,7 +31,7 @@ import org.apache.uima.ruta.expression.l
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.resource.WordListExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 
 public class ConditionFactory {
 
@@ -53,12 +53,12 @@ public class ConditionFactory {
     return new NotCondition(cond);
   }
 
-  public static AbstractRutaCondition createConditionContains(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionContains(ITypeExpression typeExpr,
           INumberExpression min, INumberExpression max, IBooleanExpression percent, RutaBlock parent) {
     return new ContainsCondition(typeExpr, min, max, percent);
   }
 
-  public static AbstractRutaCondition createConditionContextCount(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionContextCount(ITypeExpression typeExpr,
           INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
     String varString = null;
     if (var != null) {
@@ -67,7 +67,7 @@ public class ConditionFactory {
     return new ContextCountCondition(typeExpr, min, max, varString);
   }
 
-  public static AbstractRutaCondition createConditionCurrentCount(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionCurrentCount(ITypeExpression typeExpr,
           INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
     String varString = null;
     if (var != null) {
@@ -76,7 +76,7 @@ public class ConditionFactory {
     return new CurrentCountCondition(typeExpr, min, max, varString);
   }
 
-  public static AbstractRutaCondition createConditionCount(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionCount(ITypeExpression typeExpr,
           INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
     String varString = null;
     if (var != null) {
@@ -85,7 +85,7 @@ public class ConditionFactory {
     return new CountCondition(typeExpr, min, max, varString);
   }
 
-  public static AbstractRutaCondition createConditionTotalCount(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionTotalCount(ITypeExpression typeExpr,
           INumberExpression min, INumberExpression max, Token var, RutaBlock parent) {
     String varString = null;
     if (var != null) {
@@ -104,13 +104,13 @@ public class ConditionFactory {
     return new MOfNCondition(conds, min, max);
   }
 
-  public static AbstractRutaCondition createConditionNear(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionNear(ITypeExpression typeExpr,
           INumberExpression min, INumberExpression max, IBooleanExpression direction,
           IBooleanExpression filtered, RutaBlock parent) {
     return new NearCondition(typeExpr, min, max, direction, filtered);
   }
 
-  public static AbstractRutaCondition createConditionPartOf(TypeExpression type,
+  public static AbstractRutaCondition createConditionPartOf(ITypeExpression type,
           TypeListExpression list, RutaBlock parent) {
     if (type != null) {
       return new PartOfCondition(type);
@@ -119,7 +119,7 @@ public class ConditionFactory {
     }
   }
 
-  public static AbstractRutaCondition createConditionPosition(TypeExpression typeExpr,
+  public static AbstractRutaCondition createConditionPosition(ITypeExpression typeExpr,
           INumberExpression pos, IBooleanExpression rel, RutaBlock parent) {
     return new PositionCondition(typeExpr, pos, rel);
   }
@@ -143,12 +143,12 @@ public class ConditionFactory {
     return new ScoreCondition(min, max, varString);
   }
 
-  public static AbstractRutaCondition createConditionVote(TypeExpression type1Expr,
-          TypeExpression type2Expr, RutaBlock parent) {
+  public static AbstractRutaCondition createConditionVote(ITypeExpression type1Expr,
+          ITypeExpression type2Expr, RutaBlock parent) {
     return new VoteCondition(type1Expr, type2Expr);
   }
 
-  public static AbstractRutaCondition createConditionLast(TypeExpression typeExpr, RutaBlock parent) {
+  public static AbstractRutaCondition createConditionLast(ITypeExpression typeExpr, RutaBlock parent) {
     return new LastCondition(typeExpr);
   }
 
@@ -178,7 +178,7 @@ public class ConditionFactory {
     return new VariableCondition(id.getText());
   }
 
-  public static AbstractRutaCondition createConditionIs(TypeExpression type,
+  public static AbstractRutaCondition createConditionIs(ITypeExpression type,
           TypeListExpression list, RutaBlock env) {
     if (type != null) {
       return new IsCondition(type);
@@ -187,7 +187,7 @@ public class ConditionFactory {
     }
   }
 
-  public static AbstractRutaCondition createConditionAfter(TypeExpression type,
+  public static AbstractRutaCondition createConditionAfter(ITypeExpression type,
           TypeListExpression list, RutaBlock env) {
     if (type != null) {
       return new AfterCondition(type);
@@ -196,7 +196,7 @@ public class ConditionFactory {
     }
   }
 
-  public static AbstractRutaCondition createConditionBefore(TypeExpression type,
+  public static AbstractRutaCondition createConditionBefore(ITypeExpression type,
           TypeListExpression list, RutaBlock env) {
     if (type != null) {
       return new BeforeCondition(type);
@@ -205,7 +205,7 @@ public class ConditionFactory {
     }
   }
 
-  public static AbstractRutaCondition createConditionEndsWith(TypeExpression type,
+  public static AbstractRutaCondition createConditionEndsWith(ITypeExpression type,
           TypeListExpression list, RutaBlock env) {
     if (type != null) {
       return new EndsWithCondition(type);
@@ -214,7 +214,7 @@ public class ConditionFactory {
     }
   }
 
-  public static AbstractRutaCondition createConditionStartsWith(TypeExpression type,
+  public static AbstractRutaCondition createConditionStartsWith(ITypeExpression type,
           TypeListExpression list, RutaBlock env) {
     if (type != null) {
       return new StartsWithCondition(type);
@@ -223,7 +223,7 @@ public class ConditionFactory {
     }
   }
 
-  public static AbstractRutaCondition createConditionPartOfNeq(TypeExpression type,
+  public static AbstractRutaCondition createConditionPartOfNeq(ITypeExpression type,
           TypeListExpression list, RutaBlock env) {
     if (type != null) {
       return new PartOfNeqCondition(type);

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java Mon Jan  4 10:10:42 2016
@@ -36,7 +36,7 @@ import org.apache.uima.ruta.expression.l
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -55,7 +55,7 @@ public class ContainsCondition extends T
   @SuppressWarnings("rawtypes")
   private ListExpression argList;
 
-  public ContainsCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+  public ContainsCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
           IBooleanExpression percent) {
     super(type);
     this.min = min == null ? new SimpleNumberExpression(Integer.valueOf(1)) : min;
@@ -66,7 +66,7 @@ public class ContainsCondition extends T
   @SuppressWarnings("rawtypes")
   public ContainsCondition(ListExpression list, IRutaExpression a, INumberExpression min,
           INumberExpression max, IBooleanExpression percent) {
-    super((TypeExpression) null);
+    super((ITypeExpression) null);
     this.min = min == null ? new SimpleNumberExpression(Integer.valueOf(1)) : min;
     this.max = max == null ? new SimpleNumberExpression(Integer.MAX_VALUE) : max;
     this.percent = percent == null ? new SimpleBooleanExpression(false) : percent;
@@ -122,8 +122,8 @@ public class ContainsCondition extends T
         while (l.remove(v)) {
           basicCount++;
         }
-      } else if (arg instanceof TypeExpression && argList instanceof TypeListExpression) {
-        TypeExpression e = (TypeExpression) arg;
+      } else if (arg instanceof ITypeExpression && argList instanceof TypeListExpression) {
+        ITypeExpression e = (ITypeExpression) arg;
         TypeListExpression le = (TypeListExpression) argList;
         Type v = e.getType(context, stream);
         List<Type> l = new ArrayList<Type>(le.getList(context, stream));

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java Mon Jan  4 10:10:42 2016
@@ -28,7 +28,7 @@ import org.apache.uima.cas.text.Annotati
 import org.apache.uima.ruta.RutaStream;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -43,7 +43,7 @@ public class ContextCountCondition exten
 
   private final String var;
 
-  public ContextCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+  public ContextCountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
           String var) {
     super(type);
     this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java Mon Jan  4 10:10:42 2016
@@ -35,7 +35,7 @@ import org.apache.uima.ruta.expression.l
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -54,7 +54,7 @@ public class CountCondition extends Type
 
   private IRutaExpression arg;
 
-  public CountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+  public CountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
           String var) {
     super(type);
     this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
@@ -64,7 +64,7 @@ public class CountCondition extends Type
 
   public CountCondition(@SuppressWarnings("rawtypes") ListExpression list, IRutaExpression a, INumberExpression min,
           INumberExpression max, String var) {
-    super((TypeExpression) null);
+    super((ITypeExpression) null);
     this.list = list;
     this.arg = a;
     this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;
@@ -113,8 +113,8 @@ public class CountCondition extends Type
         while (l.remove(v)) {
           count++;
         }
-      } else if (arg instanceof TypeExpression && list instanceof TypeListExpression) {
-        TypeExpression e = (TypeExpression) arg;
+      } else if (arg instanceof ITypeExpression && list instanceof TypeListExpression) {
+        ITypeExpression e = (ITypeExpression) arg;
         TypeListExpression le = (TypeListExpression) list;
         Type v = e.getType(context, stream);
         List<Type> l = new ArrayList<Type>(le.getList(context, stream));

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java Mon Jan  4 10:10:42 2016
@@ -25,7 +25,7 @@ import org.apache.uima.cas.text.Annotati
 import org.apache.uima.ruta.RutaStream;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -38,7 +38,7 @@ public class CurrentCountCondition exten
 
   private final String var;
 
-  public CurrentCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+  public CurrentCountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
           String var) {
     super(type);
     this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java Mon Jan  4 10:10:42 2016
@@ -25,7 +25,7 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -33,7 +33,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class EndsWithCondition extends TypeSentiveCondition {
 
-  public EndsWithCondition(TypeExpression type) {
+  public EndsWithCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java Mon Jan  4 10:10:42 2016
@@ -26,7 +26,7 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -34,7 +34,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class IsCondition extends TypeSentiveCondition {
 
-  public IsCondition(TypeExpression type) {
+  public IsCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java Mon Jan  4 10:10:42 2016
@@ -22,7 +22,7 @@ package org.apache.uima.ruta.condition;
 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.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -30,7 +30,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class LastCondition extends TypeSentiveCondition {
 
-  public LastCondition(TypeExpression type) {
+  public LastCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java Mon Jan  4 10:10:42 2016
@@ -27,7 +27,7 @@ import org.apache.uima.ruta.expression.b
 import org.apache.uima.ruta.expression.bool.SimpleBooleanExpression;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -43,7 +43,7 @@ public class NearCondition extends TypeS
 
   private final IBooleanExpression filtered;
 
-  public NearCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+  public NearCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
           IBooleanExpression forward, IBooleanExpression filtered) {
     super(type);
     this.min = min == null ? new SimpleNumberExpression(1) : min;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java Mon Jan  4 10:10:42 2016
@@ -26,7 +26,7 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -35,7 +35,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class PartOfCondition extends TypeSentiveCondition {
 
-  public PartOfCondition(TypeExpression type) {
+  public PartOfCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java Mon Jan  4 10:10:42 2016
@@ -26,7 +26,7 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -34,7 +34,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class PartOfNeqCondition extends TypeSentiveCondition {
 
-  public PartOfNeqCondition(TypeExpression type) {
+  public PartOfNeqCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java Mon Jan  4 10:10:42 2016
@@ -28,7 +28,7 @@ import org.apache.uima.cas.text.Annotati
 import org.apache.uima.ruta.RutaStream;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -42,7 +42,7 @@ public class PositionCondition extends T
 
   private final IBooleanExpression relative;
 
-  public PositionCondition(TypeExpression type, INumberExpression position,
+  public PositionCondition(ITypeExpression type, INumberExpression position,
           IBooleanExpression relative) {
     super(type);
     this.position = position;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java Mon Jan  4 10:10:42 2016
@@ -25,7 +25,7 @@ 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.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -33,7 +33,7 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class StartsWithCondition extends TypeSentiveCondition {
 
-  public StartsWithCondition(TypeExpression type) {
+  public StartsWithCondition(ITypeExpression type) {
     super(type);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java Mon Jan  4 10:10:42 2016
@@ -25,7 +25,7 @@ import org.apache.uima.jcas.tcas.Annotat
 import org.apache.uima.ruta.RutaStream;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -38,7 +38,7 @@ public class TotalCountCondition extends
 
   private final String var;
 
-  public TotalCountCondition(TypeExpression type, INumberExpression min, INumberExpression max,
+  public TotalCountCondition(ITypeExpression type, INumberExpression min, INumberExpression max,
           String var) {
     super(type);
     this.min = min == null ? new SimpleNumberExpression(Integer.MIN_VALUE) : min;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/TypeSentiveCondition.java Mon Jan  4 10:10:42 2016
@@ -20,19 +20,19 @@
 package org.apache.uima.ruta.condition;
 
 import org.apache.uima.ruta.expression.list.TypeListExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 
 public abstract class TypeSentiveCondition extends TerminalRutaCondition {
 
-  protected final TypeExpression type;
+  protected final ITypeExpression type;
 
   private final TypeListExpression list;
 
-  public TypeExpression getType() {
+  public ITypeExpression getType() {
     return type;
   }
 
-  public TypeSentiveCondition(TypeExpression type) {
+  public TypeSentiveCondition(ITypeExpression type) {
     super();
     this.type = type;
     this.list = null;

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java Mon Jan  4 10:10:42 2016
@@ -24,7 +24,7 @@ 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.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.EvaluatedCondition;
 import org.apache.uima.ruta.rule.MatchContext;
 import org.apache.uima.ruta.type.RutaBasic;
@@ -32,11 +32,11 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class VoteCondition extends TerminalRutaCondition {
 
-  private final TypeExpression type1;
+  private final ITypeExpression type1;
 
-  private final TypeExpression type2;
+  private final ITypeExpression type2;
 
-  public VoteCondition(TypeExpression type1, TypeExpression type2) {
+  public VoteCondition(ITypeExpression type1, ITypeExpression type2) {
     super();
     this.type1 = type1;
     this.type2 = type2;
@@ -63,11 +63,11 @@ public class VoteCondition extends Termi
     return new EvaluatedCondition(this, count1 > count2);
   }
 
-  public TypeExpression getType1() {
+  public ITypeExpression getType1() {
     return type1;
   }
 
-  public TypeExpression getType2() {
+  public ITypeExpression getType2() {
     return type2;
   }
 }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java Mon Jan  4 10:10:42 2016
@@ -54,6 +54,9 @@ public class AnnotationTypeExpression ex
     if (!initialized) {
       initialize(context, stream);
     }
+    if(annotationExpression == null) {
+      return null;
+    }
     return annotationExpression.getAnnotation(context, stream);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java Mon Jan  4 10:10:42 2016
@@ -74,8 +74,8 @@ import org.apache.uima.ruta.expression.s
 import org.apache.uima.ruta.expression.string.SimpleStringExpression;
 import org.apache.uima.ruta.expression.string.StringFeatureExpression;
 import org.apache.uima.ruta.expression.string.StringVariableExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.expression.type.TypeVariableExpression;
 
 public class ExpressionFactory {
@@ -167,17 +167,17 @@ public class ExpressionFactory {
     return new BooleanVariableExpression(id.getText());
   }
 
-  public static TypeExpression createSimpleTypeExpression(Token typeToken, RutaBlock parent) {
+  public static ITypeExpression createSimpleTypeExpression(Token typeToken, RutaBlock parent) {
     String typeString = typeToken == null ? "uima.tcas.DocumentAnnotation" : typeToken.getText();
     return new SimpleTypeExpression(typeString);
   }
 
-  public static TypeExpression createReferenceTypeExpression(Token varToken) {
+  public static ITypeExpression createReferenceTypeExpression(Token varToken) {
     String varString = varToken == null ? "" : varToken.getText();
     return new TypeVariableExpression(varString);
   }
 
-  public static TypeExpression createSimpleTypeExpression(String typeString, RutaBlock parent) {
+  public static ITypeExpression createSimpleTypeExpression(String typeString, RutaBlock parent) {
     return new SimpleTypeExpression(typeString);
   }
 
@@ -202,8 +202,8 @@ public class ExpressionFactory {
     return new LiteralWordTableExpression(path.getText());
   }
 
-  public static IBooleanExpression createBooleanTypeExpression(TypeExpression e1, Token op,
-          TypeExpression e2) {
+  public static IBooleanExpression createBooleanTypeExpression(ITypeExpression e1, Token op,
+          ITypeExpression e2) {
     return new BooleanTypeExpression(e1, op.getText(), e2);
   }
 
@@ -239,7 +239,7 @@ public class ExpressionFactory {
     return new SimpleNumberListExpression(list);
   }
 
-  public static TypeListExpression createTypeListExpression(List<TypeExpression> list) {
+  public static TypeListExpression createTypeListExpression(List<ITypeExpression> list) {
     return new SimpleTypeListExpression(list);
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java Mon Jan  4 10:10:42 2016
@@ -29,7 +29,6 @@ import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.expression.feature.FeatureExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.expression.type.ITypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class NullExpression extends FeatureExpression implements IStringExpression, ITypeExpression {
@@ -66,7 +65,7 @@ public class NullExpression extends Feat
   }
 
   @Override
-  public TypeExpression getTypeExpr(MatchContext context, RutaStream stream) {
+  public ITypeExpression getTypeExpr(MatchContext context, RutaStream stream) {
     return null;
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanTypeExpression.java Mon Jan  4 10:10:42 2016
@@ -21,18 +21,18 @@ package org.apache.uima.ruta.expression.
 
 import org.apache.uima.cas.Type;
 import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class BooleanTypeExpression extends AbstractBooleanExpression {
 
-  private final TypeExpression e1;
+  private final ITypeExpression e1;
 
   private final String op;
 
-  private final TypeExpression e2;
+  private final ITypeExpression e2;
 
-  public BooleanTypeExpression(TypeExpression e1, String op, TypeExpression e2) {
+  public BooleanTypeExpression(ITypeExpression e1, String op, ITypeExpression e2) {
     super();
     this.e1 = e1;
     this.op = op;
@@ -57,7 +57,7 @@ public class BooleanTypeExpression exten
     return false;
   }
 
-  public TypeExpression getFristExpression() {
+  public ITypeExpression getFristExpression() {
     return e1;
   }
 
@@ -65,7 +65,7 @@ public class BooleanTypeExpression exten
     return op;
   }
 
-  public TypeExpression getSecondExpression() {
+  public ITypeExpression getSecondExpression() {
     return e2;
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java Mon Jan  4 10:10:42 2016
@@ -35,7 +35,6 @@ import org.apache.uima.ruta.expression.I
 import org.apache.uima.ruta.expression.MatchReference;
 import org.apache.uima.ruta.expression.NullExpression;
 import org.apache.uima.ruta.expression.type.ITypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.rule.AnnotationComparator;
 import org.apache.uima.ruta.rule.MatchContext;
 
@@ -110,7 +109,7 @@ public class SimpleFeatureExpression ext
     return typeExpr;
   }
 
-  public void setTypeExpr(TypeExpression typeExpr) {
+  public void setTypeExpr(ITypeExpression typeExpr) {
     this.typeExpr = typeExpr;
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/SimpleTypeListExpression.java Mon Jan  4 10:10:42 2016
@@ -24,14 +24,14 @@ import java.util.List;
 
 import org.apache.uima.cas.Type;
 import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class SimpleTypeListExpression extends TypeListExpression {
 
-  private List<TypeExpression> list;
+  private List<ITypeExpression> list;
 
-  public SimpleTypeListExpression(List<TypeExpression> list) {
+  public SimpleTypeListExpression(List<ITypeExpression> list) {
     super();
     this.list = list;
   }
@@ -39,13 +39,13 @@ public class SimpleTypeListExpression ex
   @Override
   public List<Type> getList(MatchContext context, RutaStream stream) {
     List<Type> result = new ArrayList<Type>();
-    for (TypeExpression each : list) {
+    for (ITypeExpression each : list) {
       result.add(each.getType(context, stream));
     }
     return result;
   }
 
-  public List<TypeExpression> getList() {
+  public List<ITypeExpression> getList() {
     return list;
   }
 }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/TypeListVariableExpression.java Mon Jan  4 10:10:42 2016
@@ -25,7 +25,7 @@ import java.util.List;
 import org.apache.uima.cas.Type;
 import org.apache.uima.ruta.RutaBlock;
 import org.apache.uima.ruta.RutaStream;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class TypeListVariableExpression extends TypeListExpression {
@@ -44,8 +44,8 @@ public class TypeListVariableExpression
     List<Object> list = parent.getEnvironment().getVariableValue(var, List.class);
     List<Type> result = new ArrayList<Type>();
     for (Object each : list) {
-      if (each instanceof TypeExpression) {
-        result.add(((TypeExpression) each).getType(context, stream));
+      if (each instanceof ITypeExpression) {
+        result.add(((ITypeExpression) each).getType(context, stream));
       } else if (each instanceof Type) {
         result.add((Type) each);
       }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/list/UntypedListExpression.java Mon Jan  4 10:10:42 2016
@@ -24,10 +24,10 @@ import java.util.List;
 
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.expression.IRutaExpression;
-import org.apache.uima.ruta.expression.bool.AbstractBooleanExpression;
-import org.apache.uima.ruta.expression.number.AbstractNumberExpression;
-import org.apache.uima.ruta.expression.string.AbstractStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+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.ITypeExpression;
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class UntypedListExpression extends ListExpression<Object> {
@@ -44,16 +44,16 @@ public class UntypedListExpression exten
     List<Object> result = new ArrayList<Object>();
     for (IRutaExpression each : list) {
       // TODO support arrays
-      if (each instanceof AbstractBooleanExpression) {
-        result.add(((AbstractBooleanExpression) each).getBooleanValue(context, stream));
-      } else if (each instanceof AbstractNumberExpression) {
-        result.add(((AbstractNumberExpression) each).getDoubleValue(context, stream));
-      } else if (each instanceof TypeExpression) {
-        result.add(((TypeExpression) each).getType(context, stream));
+      if (each instanceof IBooleanExpression) {
+        result.add(((IBooleanExpression) each).getBooleanValue(context, stream));
+      } else if (each instanceof INumberExpression) {
+        result.add(((INumberExpression) each).getDoubleValue(context, stream));
+      } else if (each instanceof ITypeExpression) {
+        result.add(((ITypeExpression) each).getType(context, stream));
       } else if (each instanceof ListExpression) {
         result.add(((ListExpression<?>) each).getList(context, stream));
-      } else if (each instanceof AbstractStringExpression) {
-        result.add(((AbstractStringExpression) each).getStringValue(context, stream));
+      } else if (each instanceof IStringExpression) {
+        result.add(((IStringExpression) each).getStringValue(context, stream));
       }
     }
     return result;

Copied: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java (from r1712996, uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java)
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java?p2=uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java&p1=uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java&r1=1712996&r2=1722822&rev=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/AbstractTypeExpression.java Mon Jan  4 10:10:42 2016
@@ -21,6 +21,6 @@ package org.apache.uima.ruta.expression.
 
 import org.apache.uima.ruta.expression.string.AbstractStringExpression;
 
-public abstract class TypeExpression extends AbstractStringExpression implements ITypeExpression {
+public abstract class AbstractTypeExpression extends AbstractStringExpression implements ITypeExpression {
 
 }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java Mon Jan  4 10:10:42 2016
@@ -24,7 +24,7 @@ import org.apache.uima.ruta.RutaBlock;
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.rule.MatchContext;
 
-public class SimpleTypeExpression extends TypeExpression {
+public class SimpleTypeExpression extends AbstractTypeExpression {
 
   private final String typeString;
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeFunctionExpression.java Mon Jan  4 10:10:42 2016
@@ -19,6 +19,6 @@
 
 package org.apache.uima.ruta.expression.type;
 
-public abstract class TypeFunctionExpression extends TypeExpression {
+public abstract class TypeFunctionExpression extends AbstractTypeExpression {
 
 }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java Mon Jan  4 10:10:42 2016
@@ -24,7 +24,7 @@ import org.apache.uima.ruta.RutaBlock;
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.rule.MatchContext;
 
-public class TypeVariableExpression extends TypeExpression {
+public class TypeVariableExpression extends AbstractTypeExpression {
 
   private final String var;
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java Mon Jan  4 10:10:42 2016
@@ -33,7 +33,7 @@ import org.apache.uima.ruta.expression.a
 import org.apache.uima.ruta.expression.bool.IBooleanExpression;
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.string.AbstractStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 
 public class RutaExternalFactory {
 
@@ -89,7 +89,7 @@ public class RutaExternalFactory {
     return null;
   }
 
-  public TypeExpression createExternalTypeFunction(Token id, List<RutaExpression> args)
+  public ITypeExpression createExternalTypeFunction(Token id, List<RutaExpression> args)
           throws RutaParseException {
     String name = id.getText();
     IRutaTypeFunctionExtension extension = typeFunctionExtensions.get(name);

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java Mon Jan  4 10:10:42 2016
@@ -48,20 +48,20 @@ import org.apache.uima.ruta.expression.b
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.string.AbstractStringExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.utils.UIMAUtils;
 import org.apache.uima.ruta.visitor.InferenceCrowd;
 
 public class RegExpRule extends AbstractRule {
 
-  private Map<TypeExpression, INumberExpression> typeMap;
+  private Map<ITypeExpression, INumberExpression> typeMap;
 
   private IStringExpression regexpExpr;
 
-  private Map<TypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments;
+  private Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments;
 
   public RegExpRule(AbstractStringExpression regexp,
-          Map<TypeExpression, INumberExpression> typeMap, int id, RutaBlock parent) {
+          Map<ITypeExpression, INumberExpression> typeMap, int id, RutaBlock parent) {
     super(parent, id);
     this.regexpExpr = regexp;
     this.typeMap = typeMap;
@@ -111,11 +111,11 @@ public class RegExpRule extends Abstract
 
   private Map<Integer, Map<Type, Map<String, Object>>> getFeatureAssignmentMap(RutaStream stream) {
     Map<Integer, Map<Type, Map<String, Object>>> result = new HashMap<Integer, Map<Type, Map<String, Object>>>();
-    Set<Entry<TypeExpression, Map<IStringExpression, IRutaExpression>>> entrySet = featureAssignments
+    Set<Entry<ITypeExpression, Map<IStringExpression, IRutaExpression>>> entrySet = featureAssignments
             .entrySet();
     MatchContext context = new MatchContext(getParent());
-    for (Entry<TypeExpression, Map<IStringExpression, IRutaExpression>> entry : entrySet) {
-      TypeExpression key = entry.getKey();
+    for (Entry<ITypeExpression, Map<IStringExpression, IRutaExpression>> entry : entrySet) {
+      ITypeExpression key = entry.getKey();
       Type type = key.getType(context, stream);
       Map<IStringExpression, IRutaExpression> value = entry.getValue();
       INumberExpression cgExpr = typeMap.get(key);
@@ -143,8 +143,8 @@ public class RegExpRule extends Abstract
 
   private Map<Integer, List<Type>> getGroup2Types(MatchContext context, RutaStream stream) {
     Map<Integer, List<Type>> groupTypes = new TreeMap<Integer, List<Type>>();
-    Set<Entry<TypeExpression, INumberExpression>> entrySet = typeMap.entrySet();
-    for (Entry<TypeExpression, INumberExpression> entry : entrySet) {
+    Set<Entry<ITypeExpression, INumberExpression>> entrySet = typeMap.entrySet();
+    for (Entry<ITypeExpression, INumberExpression> entry : entrySet) {
       Type type = entry.getKey().getType(context, stream);
       INumberExpression value = entry.getValue();
       int group = value == null ? 0 : value.getIntegerValue(context, stream);
@@ -224,9 +224,9 @@ public class RegExpRule extends Abstract
                 }
               }
             } else {
-              if (argExpr instanceof TypeExpression
+              if (argExpr instanceof ITypeExpression
                       && range.getName().equals(UIMAConstants.TYPE_STRING)) {
-                TypeExpression typeExpr = (TypeExpression) argExpr;
+                ITypeExpression typeExpr = (ITypeExpression) argExpr;
                 List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(afs,
                         typeExpr.getType(context, stream));
                 if (annotationsInWindow != null && !annotationsInWindow.isEmpty()) {
@@ -263,8 +263,8 @@ public class RegExpRule extends Abstract
                       && range.getName().equals(UIMAConstants.TYPE_BOOLEAN)) {
                 afs.setBooleanValue(feature,
                         ((IBooleanExpression) argExpr).getBooleanValue(context, stream));
-              } else if (argExpr instanceof TypeExpression) {
-                TypeExpression typeExpr = (TypeExpression) argExpr;
+              } else if (argExpr instanceof ITypeExpression) {
+                ITypeExpression typeExpr = (ITypeExpression) argExpr;
                 List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(afs,
                         typeExpr.getType(context, stream));
                 if (typeSystem.subsumes(jcas.getCasType(FSArray.type), range)) {
@@ -287,11 +287,11 @@ public class RegExpRule extends Abstract
     return getParent().getEnvironment();
   }
 
-  public Map<TypeExpression, INumberExpression> getTypeMap() {
+  public Map<ITypeExpression, INumberExpression> getTypeMap() {
     return typeMap;
   }
 
-  public void setTypeMap(Map<TypeExpression, INumberExpression> typeMap) {
+  public void setTypeMap(Map<ITypeExpression, INumberExpression> typeMap) {
     this.typeMap = typeMap;
   }
 
@@ -303,11 +303,11 @@ public class RegExpRule extends Abstract
     this.regexpExpr = regexp;
   }
 
-  public void setFeatureAssignments(Map<TypeExpression, Map<IStringExpression, IRutaExpression>> fa) {
+  public void setFeatureAssignments(Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> fa) {
     this.featureAssignments = fa;
   }
 
-  public Map<TypeExpression, Map<IStringExpression, IRutaExpression>> getFeatureAssignments() {
+  public Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> getFeatureAssignments() {
     return featureAssignments;
   }
 

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java Mon Jan  4 10:10:42 2016
@@ -69,7 +69,7 @@ import org.apache.uima.ruta.expression.l
 import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.resource.WordTableExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 
 public class ActionVerbalizer {
 
@@ -433,7 +433,7 @@ public class ActionVerbalizer {
       return name + var + ", " + op + ")";
     } else if (action instanceof MarkTableAction) {
       MarkTableAction a = (MarkTableAction) action;
-      TypeExpression typeExpr = a.getTypeExpr();
+      ITypeExpression typeExpr = a.getTypeExpr();
       INumberExpression indexExpr = a.getIndexExpr();
       WordTableExpression tableExpr = a.getTableExpr();
       Map<IStringExpression, INumberExpression> featureMap = a.getFeatureMap();

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java Mon Jan  4 10:10:42 2016
@@ -60,8 +60,8 @@ import org.apache.uima.ruta.expression.s
 import org.apache.uima.ruta.expression.string.SimpleStringExpression;
 import org.apache.uima.ruta.expression.string.StringFeatureExpression;
 import org.apache.uima.ruta.expression.string.StringVariableExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.expression.type.TypeVariableExpression;
 
 public class ExpressionVerbalizer {
@@ -76,8 +76,8 @@ public class ExpressionVerbalizer {
   public String verbalize(IRutaExpression expression) {
     if (expression instanceof GenericFeatureExpression) {
       return verbalize(((GenericFeatureExpression) expression).getFeatureExpression());
-    } else if (expression instanceof TypeExpression) {
-      return verbalize((TypeExpression) expression);
+    } else if (expression instanceof ITypeExpression) {
+      return verbalize((ITypeExpression) expression);
     } else if (expression instanceof IBooleanExpression) {
       return verbalize((IBooleanExpression) expression);
     } else if (expression instanceof INumberExpression) {
@@ -209,8 +209,8 @@ public class ExpressionVerbalizer {
       return "";
     } else if (expression instanceof INumberExpression) {
       return verbalize((INumberExpression) expression);
-    } else if (expression instanceof TypeExpression) {
-      return verbalize((TypeExpression) expression);
+    } else if (expression instanceof ITypeExpression) {
+      return verbalize((ITypeExpression) expression);
     } else if (expression instanceof IBooleanExpression) {
       return verbalize((IBooleanExpression) expression);
     } else if (expression instanceof ListExpression) {
@@ -248,7 +248,7 @@ public class ExpressionVerbalizer {
     return expression.getClass().getSimpleName();
   }
 
-  public String verbalize(TypeExpression expression) {
+  public String verbalize(ITypeExpression expression) {
     if (expression == null) {
       return null;
     }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java Mon Jan  4 10:10:42 2016
@@ -33,7 +33,7 @@ import org.apache.uima.ruta.condition.Ab
 import org.apache.uima.ruta.expression.IRutaExpression;
 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.expression.type.ITypeExpression;
 import org.apache.uima.ruta.rule.AbstractRuleElement;
 import org.apache.uima.ruta.rule.ComposedRuleElement;
 import org.apache.uima.ruta.rule.ConjunctRulesRuleElement;
@@ -294,10 +294,10 @@ public class ScriptVerbalizer {
     sb.append(regexp);
     sb.append(THEN);
 
-    Iterator<Entry<TypeExpression, INumberExpression>> iterator = rule.getTypeMap().entrySet()
+    Iterator<Entry<ITypeExpression, INumberExpression>> iterator = rule.getTypeMap().entrySet()
             .iterator();
     while (iterator.hasNext()) {
-      Entry<TypeExpression, INumberExpression> next = iterator.next();
+      Entry<ITypeExpression, INumberExpression> next = iterator.next();
       String type = verbalizer.verbalize(next.getKey());
       INumberExpression value = next.getValue();
       if (value != null) {
@@ -306,7 +306,7 @@ public class ScriptVerbalizer {
       } else {
         sb.append(type);
       }
-      Map<TypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments = rule
+      Map<ITypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments = rule
               .getFeatureAssignments();
       if (featureAssignments != null) {
         Map<IStringExpression, IRutaExpression> map = featureAssignments.get(next.getKey());

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java Mon Jan  4 10:10:42 2016
@@ -20,6 +20,7 @@
 package org.apache.uima.ruta.expression.annotation;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -75,6 +76,7 @@ public class AnnotationLabelExpressionTe
     AnnotationFS next = iterator.next();
     assertEquals("text", next.getCoveredText());
     AnnotationFS a = (AnnotationFS) next.getFeatureValue(f1);
+    assertNotNull("Feature value is null!", a);
     assertEquals("Some", a.getCoveredText());
 
   }

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java Mon Jan  4 10:10:42 2016
@@ -79,8 +79,8 @@ import org.apache.uima.ruta.expression.r
 import org.apache.uima.ruta.expression.string.AbstractStringExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.expression.string.SimpleStringExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.expression.type.TypeVariableExpression;
 import org.apache.uima.ruta.verbalize.RutaVerbalizer;
 import org.junit.Test;
@@ -91,13 +91,13 @@ public class ActionVerbalizerTest {
   @Test
   public void test() {
     RutaVerbalizer v = new RutaVerbalizer();
-    List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
+    List<ITypeExpression> typeExprList = new ArrayList<ITypeExpression>();
     List<IStringExpression> stringExprList = new ArrayList<IStringExpression>();
     List<IRutaExpression> exprList = new ArrayList<IRutaExpression>();
     List<INumberExpression> indexes = new ArrayList<INumberExpression>();
     String var = "anyVar";
-    TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
-    TypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
+    ITypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
+    ITypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
     typeExprList.add(typeExpr1);
     typeExprList.add(typeExpr2);
     INumberExpression numExpr1 = new SimpleNumberExpression(4);

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java Mon Jan  4 10:10:42 2016
@@ -63,8 +63,8 @@ import org.apache.uima.ruta.expression.n
 import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
 import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.expression.string.SimpleStringExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.expression.type.TypeVariableExpression;
 import org.apache.uima.ruta.verbalize.RutaVerbalizer;
 import org.junit.Test;
@@ -74,12 +74,12 @@ public class ConditionVerbalizerTest {
   @Test
   public void test() {
     RutaVerbalizer v = new RutaVerbalizer();
-    List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
+    List<ITypeExpression> typeExprList = new ArrayList<ITypeExpression>();
     List<IStringExpression> stringExprList = new ArrayList<IStringExpression>();
     String var = "anyVar";
     IStringExpression varExpr = new NumberVariableExpression(var);
-    TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
-    TypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
+    ITypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
+    ITypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
     typeExprList.add(typeExpr1);
     typeExprList.add(typeExpr2);
     INumberExpression numExpr1 = new SimpleNumberExpression(4);

Modified: uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java?rev=1722822&r1=1722821&r2=1722822&view=diff
==============================================================================
--- uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java (original)
+++ uima/ruta/branches/UIMA-4408/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java Mon Jan  4 10:10:42 2016
@@ -50,8 +50,8 @@ import org.apache.uima.ruta.expression.s
 import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.expression.string.SimpleStringExpression;
 import org.apache.uima.ruta.expression.string.StringVariableExpression;
+import org.apache.uima.ruta.expression.type.ITypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
-import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.expression.type.TypeVariableExpression;
 import org.apache.uima.ruta.verbalize.RutaVerbalizer;
 import org.junit.Test;
@@ -97,8 +97,8 @@ public class ExpressionVerbalizerTest {
 
     String s = null;
     String var = "anyVar";
-    TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
-    TypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
+    ITypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
+    ITypeExpression typeExpr2 = new TypeVariableExpression("typeVar");
 
     List<INumberExpression> numExprList1 = new ArrayList<INumberExpression>();
     List<INumberExpression> numExprList2 = new ArrayList<INumberExpression>();
@@ -206,7 +206,7 @@ public class ExpressionVerbalizerTest {
     s = v.verbalize(nle2);
     assertEquals("anyVar", s);
 
-    List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
+    List<ITypeExpression> typeExprList = new ArrayList<ITypeExpression>();
     typeExprList.add(typeExpr1);
     typeExprList.add(typeExpr2);
     TypeListExpression tle1 = new SimpleTypeListExpression(typeExprList);