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 [4/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/expression/number/NegativeNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java Fri Dec  6 08:41:07 2013
@@ -23,36 +23,32 @@ import org.apache.uima.cas.text.Annotati
 import org.apache.uima.ruta.RutaBlock;
 import org.apache.uima.ruta.RutaStream;
 
-public class NegativeNumberExpression extends NumberExpression {
+public class NegativeNumberExpression extends AbstractNumberExpression {
 
-  private final NumberExpression ne;
+  private final INumberExpression ne;
 
-  public NegativeNumberExpression(NumberExpression simpleNumberExpression) {
+  public NegativeNumberExpression(INumberExpression simpleNumberExpression) {
     super();
     this.ne = simpleNumberExpression;
   }
 
-  @Override
   public double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return -ne.getDoubleValue(parent, annotation, stream);
   }
 
-  @Override
   public float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return -ne.getFloatValue(parent, annotation, stream);
   }
 
-  @Override
   public int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return -ne.getIntegerValue(parent, annotation, stream);
   }
 
-  @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return "-" + ne.getStringValue(parent, annotation, stream);
   }
 
-  public NumberExpression getExpression() {
+  public INumberExpression getExpression() {
     return ne;
   }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java Fri Dec  6 08:41:07 2013
@@ -30,7 +30,7 @@ import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.UIMAConstants;
 import org.apache.uima.ruta.expression.feature.FeatureExpression;
 
-public class NumberFeatureExpression extends NumberExpression {
+public class NumberFeatureExpression extends AbstractNumberExpression {
 
   private FeatureExpression fe;
 
@@ -39,17 +39,14 @@ public class NumberFeatureExpression ext
     this.fe = fe;
   }
 
-  @Override
   public int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return getNumberValue(parent, annotation, stream).intValue();
   }
 
-  @Override
   public double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return getNumberValue(parent, annotation, stream).doubleValue();
   }
 
-  @Override
   public float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return getNumberValue(parent, annotation, stream).floatValue();
   }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFunctionExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFunctionExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFunctionExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFunctionExpression.java Fri Dec  6 08:41:07 2013
@@ -19,6 +19,6 @@
 
 package org.apache.uima.ruta.expression.number;
 
-public abstract class NumberFunctionExpression extends NumberExpression {
+public abstract class NumberFunctionExpression extends AbstractNumberExpression {
 
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ReferenceNumberExpression.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 ReferenceNumberExpression extends NumberExpression {
+public class ReferenceNumberExpression extends AbstractNumberExpression {
 
   private final String var;
 
@@ -32,7 +32,6 @@ public class ReferenceNumberExpression e
     this.var = var;
   }
 
-  @Override
   public double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     Object value = parent.getEnvironment().getVariableValue(getVar());
     double variableValue = 0;
@@ -42,7 +41,6 @@ public class ReferenceNumberExpression e
     return variableValue;
   }
 
-  @Override
   public float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     Object value = parent.getEnvironment().getVariableValue(getVar());
     float variableValue = 0;
@@ -52,7 +50,6 @@ public class ReferenceNumberExpression e
     return variableValue;
   }
 
-  @Override
   public int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     Object value = parent.getEnvironment().getVariableValue(getVar());
     int variableValue = 0;
@@ -62,7 +59,6 @@ public class ReferenceNumberExpression e
     return variableValue;
   }
 
-  @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     Class<?> variableType = parent.getEnvironment().getVariableType(getVar());
     if (variableType.equals(Integer.class)) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.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 SimpleNumberExpression extends NumberExpression {
+public class SimpleNumberExpression extends AbstractNumberExpression {
 
   private final Number number;
 
@@ -32,17 +32,14 @@ public class SimpleNumberExpression exte
     this.number = number;
   }
 
-  @Override
   public double getDoubleValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return number.doubleValue();
   }
 
-  @Override
   public float getFloatValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return number.floatValue();
   }
 
-  @Override
   public int getIntegerValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     return number.intValue();
   }
@@ -51,7 +48,6 @@ public class SimpleNumberExpression exte
     return number;
   }
 
-  @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     boolean floating = number.intValue() != number.doubleValue();
     if (floating) {

Copied: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/AbstractStringExpression.java (from r1545591, uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringExpression.java)
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/AbstractStringExpression.java?p2=uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/AbstractStringExpression.java&p1=uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringExpression.java&r1=1545591&r2=1548429&rev=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/AbstractStringExpression.java Fri Dec  6 08:41:07 2013
@@ -28,7 +28,7 @@ import org.apache.uima.ruta.expression.R
 import org.apache.uima.ruta.rule.RuleElement;
 import org.apache.uima.ruta.rule.RuleMatch;
 
-public abstract class StringExpression extends RutaExpression {
+public abstract class AbstractStringExpression extends RutaExpression implements IStringExpression {
 
   public String getStringValue(RutaBlock parent, RuleMatch match, RuleElement element,
           RutaStream stream) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/ComposedStringExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/ComposedStringExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/ComposedStringExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/ComposedStringExpression.java Fri Dec  6 08:41:07 2013
@@ -27,9 +27,9 @@ import org.apache.uima.ruta.RutaStream;
 
 public class ComposedStringExpression extends LiteralStringExpression {
 
-  private final List<StringExpression> epxressions;
+  private final List<IStringExpression> epxressions;
 
-  public ComposedStringExpression(List<StringExpression> expressions) {
+  public ComposedStringExpression(List<IStringExpression> expressions) {
     super();
     this.epxressions = expressions;
   }
@@ -37,13 +37,13 @@ public class ComposedStringExpression ex
   @Override
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     StringBuilder result = new StringBuilder();
-    for (StringExpression each : getExpressions()) {
+    for (IStringExpression each : getExpressions()) {
       result.append(each.getStringValue(parent, annotation, stream));
     }
     return result.toString();
   }
 
-  public List<StringExpression> getExpressions() {
+  public List<IStringExpression> getExpressions() {
     return epxressions;
   }
 

Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/IStringExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/IStringExpression.java?rev=1548429&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/IStringExpression.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/IStringExpression.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.string;
+
+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.IRutaExpression;
+import org.apache.uima.ruta.rule.RuleElement;
+import org.apache.uima.ruta.rule.RuleMatch;
+
+public interface IStringExpression extends IRutaExpression {
+
+  String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream);
+
+  String getStringValue(RutaBlock parent, RuleMatch match, RuleElement element, RutaStream stream);
+
+}

Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/IStringExpression.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/LiteralStringExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/LiteralStringExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/LiteralStringExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/LiteralStringExpression.java Fri Dec  6 08:41:07 2013
@@ -19,6 +19,6 @@
 
 package org.apache.uima.ruta.expression.string;
 
-public abstract class LiteralStringExpression extends StringExpression {
+public abstract class LiteralStringExpression extends AbstractStringExpression {
 
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java Fri Dec  6 08:41:07 2013
@@ -27,11 +27,11 @@ import org.apache.uima.ruta.RutaStream;
 
 public class RemoveFunction extends StringFunctionExpression {
 
-  private List<StringExpression> list;
+  private List<IStringExpression> list;
 
   private String var;
 
-  public RemoveFunction(String v, List<StringExpression> list) {
+  public RemoveFunction(String v, List<IStringExpression> list) {
     super();
     this.var = v;
     this.list = list;
@@ -41,7 +41,7 @@ public class RemoveFunction extends Stri
   public String getStringValue(RutaBlock parent, AnnotationFS annotation, RutaStream stream) {
     StringBuilder result = new StringBuilder();
     String value = parent.getEnvironment().getVariableValue(var, String.class);
-    for (StringExpression each : list) {
+    for (IStringExpression each : list) {
       String string = each.getStringValue(parent, annotation, stream);
       String[] split = value.split(string);
       for (String r : split) {
@@ -51,7 +51,7 @@ public class RemoveFunction extends Stri
     return result.toString();
   }
 
-  public List<StringExpression> getList() {
+  public List<IStringExpression> getList() {
     return list;
   }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.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 StringFeatureExpression extends StringExpression {
+public class StringFeatureExpression extends AbstractStringExpression {
 
   private FeatureExpression fe;
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionExpression.java Fri Dec  6 08:41:07 2013
@@ -19,6 +19,6 @@
 
 package org.apache.uima.ruta.expression.string;
 
-public abstract class StringFunctionExpression extends StringExpression {
+public abstract class StringFunctionExpression extends AbstractStringExpression {
 
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionFactory.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFunctionFactory.java Fri Dec  6 08:41:07 2013
@@ -25,7 +25,7 @@ import org.antlr.runtime.Token;
 
 public class StringFunctionFactory {
 
-  public static StringExpression createRemoveFunction(Token var, List<StringExpression> list) {
+  public static AbstractStringExpression createRemoveFunction(Token var, List<IStringExpression> list) {
     String v = var == null ? "" : var.getText();
     return new RemoveFunction(v, list);
   }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeExpression.java Fri Dec  6 08:41:07 2013
@@ -21,9 +21,9 @@ package org.apache.uima.ruta.expression.
 
 import org.apache.uima.cas.Type;
 import org.apache.uima.ruta.RutaBlock;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.AbstractStringExpression;
 
-public abstract class TypeExpression extends StringExpression {
+public abstract class TypeExpression extends AbstractStringExpression {
 
   public abstract Type getType(RutaBlock parent);
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/extensions/RutaExternalFactory.java Fri Dec  6 08:41:07 2013
@@ -27,9 +27,9 @@ import org.antlr.runtime.Token;
 import org.apache.uima.ruta.action.AbstractRutaAction;
 import org.apache.uima.ruta.condition.AbstractRutaCondition;
 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;
 import org.apache.uima.ruta.expression.type.TypeExpression;
 
 public class RutaExternalFactory {
@@ -89,7 +89,7 @@ public class RutaExternalFactory {
     return null;
   }
 
-  public BooleanExpression createExternalBooleanFunction(Token id, List<RutaExpression> args)
+  public IBooleanExpression createExternalBooleanFunction(Token id, List<RutaExpression> args)
           throws RutaParseException {
     String name = id.getText();
     IRutaBooleanFunctionExtension extension = booleanFunctionExtensions.get(name);
@@ -100,7 +100,7 @@ public class RutaExternalFactory {
     return null;
   }
 
-  public StringExpression createExternalStringFunction(Token id, List<RutaExpression> args)
+  public AbstractStringExpression createExternalStringFunction(Token id, List<RutaExpression> args)
           throws RutaParseException {
     String name = id.getText();
     IRutaStringFunctionExtension extension = stringFunctionExtensions.get(name);
@@ -111,7 +111,7 @@ public class RutaExternalFactory {
     return null;
   }
 
-  public NumberExpression createExternalNumberFunction(Token id, List<RutaExpression> args)
+  public INumberExpression createExternalNumberFunction(Token id, List<RutaExpression> args)
           throws RutaParseException {
     String name = id.getText();
     IRutaNumberFunctionExtension extension = numberFunctionExtensions.get(name);

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java Fri Dec  6 08:41:07 2013
@@ -19,9 +19,6 @@
 
 package org.apache.uima.ruta.resource;
 
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
@@ -35,6 +32,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Scanner;
 
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
 import org.apache.uima.cas.FSIterator;
 import org.apache.uima.cas.Type;
 import org.apache.uima.cas.text.AnnotationFS;

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java Fri Dec  6 08:41:07 2013
@@ -43,23 +43,24 @@ import org.apache.uima.ruta.RutaEnvironm
 import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.ScriptApply;
 import org.apache.uima.ruta.UIMAConstants;
-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.IRutaExpression;
+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.string.IStringExpression;
 import org.apache.uima.ruta.expression.type.TypeExpression;
 import org.apache.uima.ruta.utils.UIMAUtils;
 import org.apache.uima.ruta.visitor.InferenceCrowd;
 
 public class RegExpRule extends AbstractRule {
 
-  private Map<TypeExpression, NumberExpression> typeMap;
+  private Map<TypeExpression, INumberExpression> typeMap;
 
-  private StringExpression regexpExpr;
+  private IStringExpression regexpExpr;
 
-  private Map<TypeExpression, Map<StringExpression, RutaExpression>> featureAssignments;
+  private Map<TypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments;
 
-  public RegExpRule(StringExpression regexp, Map<TypeExpression, NumberExpression> typeMap, int id,
+  public RegExpRule(AbstractStringExpression regexp, Map<TypeExpression, INumberExpression> typeMap, int id,
           RutaBlock parent) {
     super(parent, id);
     this.regexpExpr = regexp;
@@ -110,13 +111,13 @@ 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<StringExpression, RutaExpression>>> entrySet = featureAssignments
+    Set<Entry<TypeExpression, Map<IStringExpression, IRutaExpression>>> entrySet = featureAssignments
             .entrySet();
-    for (Entry<TypeExpression, Map<StringExpression, RutaExpression>> entry : entrySet) {
+    for (Entry<TypeExpression, Map<IStringExpression, IRutaExpression>> entry : entrySet) {
       TypeExpression key = entry.getKey();
       Type type = key.getType(getParent());
-      Map<StringExpression, RutaExpression> value = entry.getValue();
-      NumberExpression cgExpr = typeMap.get(key);
+      Map<IStringExpression, IRutaExpression> value = entry.getValue();
+      INumberExpression cgExpr = typeMap.get(key);
       int cg = cgExpr.getIntegerValue(getParent(), null, stream);
       Map<Type, Map<String, Object>> map = result.get(cg);
       if (map == null) {
@@ -128,10 +129,10 @@ public class RegExpRule extends Abstract
         typeMap = new HashMap<String, Object>();
         map.put(type, typeMap);
       }
-      Set<Entry<StringExpression, RutaExpression>> entrySet2 = value.entrySet();
-      for (Entry<StringExpression, RutaExpression> entry2 : entrySet2) {
-        StringExpression key2 = entry2.getKey();
-        RutaExpression value2 = entry2.getValue();
+      Set<Entry<IStringExpression, IRutaExpression>> entrySet2 = value.entrySet();
+      for (Entry<IStringExpression, IRutaExpression> entry2 : entrySet2) {
+        IStringExpression key2 = entry2.getKey();
+        IRutaExpression value2 = entry2.getValue();
         String stringValue = key2.getStringValue(getParent(), null, stream);
         typeMap.put(stringValue, value2);
       }
@@ -141,10 +142,10 @@ public class RegExpRule extends Abstract
 
   private Map<Integer, List<Type>> getGroup2Types(RutaStream stream) {
     Map<Integer, List<Type>> groupTypes = new TreeMap<Integer, List<Type>>();
-    Set<Entry<TypeExpression, NumberExpression>> entrySet = typeMap.entrySet();
-    for (Entry<TypeExpression, NumberExpression> entry : entrySet) {
+    Set<Entry<TypeExpression, INumberExpression>> entrySet = typeMap.entrySet();
+    for (Entry<TypeExpression, INumberExpression> entry : entrySet) {
       Type type = entry.getKey().getType(getParent());
-      NumberExpression value = entry.getValue();
+      INumberExpression value = entry.getValue();
       int group = value == null ? 0 : value.getIntegerValue(getParent(), null, stream);
       List<Type> list = groupTypes.get(group);
       if (list == null) {
@@ -191,8 +192,8 @@ public class RegExpRule extends Abstract
           if (feature != null) {
             Object argExpr = eachEntry.getValue();
             Type range = feature.getRange();
-            if (argExpr instanceof NumberExpression) {
-              NumberExpression ne = (NumberExpression) argExpr;
+            if (argExpr instanceof INumberExpression) {
+              INumberExpression ne = (INumberExpression) argExpr;
               int cg = ne.getIntegerValue(getParent(), afs, stream);
               if (range.getName().equals(UIMAConstants.TYPE_STRING)) {
                 String s = matchResult.group(cg);
@@ -230,10 +231,10 @@ public class RegExpRule extends Abstract
                   AnnotationFS annotation = annotationsInWindow.get(0);
                   afs.setStringValue(feature, annotation.getCoveredText());
                 }
-              } else if (argExpr instanceof StringExpression
+              } else if (argExpr instanceof AbstractStringExpression
                       && range.getName().equals(UIMAConstants.TYPE_STRING)) {
                 afs.setStringValue(feature,
-                        ((StringExpression) argExpr).getStringValue(getParent(), afs, stream));
+                        ((AbstractStringExpression) argExpr).getStringValue(getParent(), afs, stream));
                 // numbers are reserved for capturing groups
                 //
                 // } else if (argExpr instanceof NumberExpression) {
@@ -256,10 +257,10 @@ public class RegExpRule extends Abstract
                 // afs.setLongValue(feature,
                 // (long) ((NumberExpression) argExpr).getIntegerValue(getParent()));
                 // }
-              } else if (argExpr instanceof BooleanExpression
+              } else if (argExpr instanceof IBooleanExpression
                       && range.getName().equals(UIMAConstants.TYPE_BOOLEAN)) {
                 afs.setBooleanValue(feature,
-                        ((BooleanExpression) argExpr).getBooleanValue(getParent(), null, stream));
+                        ((IBooleanExpression) argExpr).getBooleanValue(getParent(), null, stream));
               } else if (argExpr instanceof TypeExpression) {
                 TypeExpression typeExpr = (TypeExpression) argExpr;
                 List<AnnotationFS> annotationsInWindow = stream.getAnnotationsInWindow(afs,
@@ -284,27 +285,27 @@ public class RegExpRule extends Abstract
     return getParent().getEnvironment();
   }
 
-  public Map<TypeExpression, NumberExpression> getTypeMap() {
+  public Map<TypeExpression, INumberExpression> getTypeMap() {
     return typeMap;
   }
 
-  public void setTypeMap(Map<TypeExpression, NumberExpression> typeMap) {
+  public void setTypeMap(Map<TypeExpression, INumberExpression> typeMap) {
     this.typeMap = typeMap;
   }
 
-  public StringExpression getRegExp() {
+  public IStringExpression getRegExp() {
     return regexpExpr;
   }
 
-  public void setRegExp(StringExpression regexpExpr) {
-    this.regexpExpr = regexpExpr;
+  public void setRegExp(IStringExpression regexp) {
+    this.regexpExpr = regexp;
   }
 
-  public void setFeatureAssignments(Map<TypeExpression, Map<StringExpression, RutaExpression>> fa) {
+  public void setFeatureAssignments(Map<TypeExpression, Map<IStringExpression, IRutaExpression>> fa) {
     this.featureAssignments = fa;
   }
 
-  public Map<TypeExpression, Map<StringExpression, RutaExpression>> getFeatureAssignments() {
+  public Map<TypeExpression, Map<IStringExpression, IRutaExpression>> getFeatureAssignments() {
     return featureAssignments;
   }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java Fri Dec  6 08:41:07 2013
@@ -27,14 +27,14 @@ import org.apache.uima.cas.Type;
 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.IStringExpression;
 import org.apache.uima.ruta.type.RutaBasic;
 
 public class RutaLiteralMatcher implements RutaMatcher {
 
-  private final StringExpression expression;
+  private final IStringExpression expression;
 
-  public RutaLiteralMatcher(StringExpression expression) {
+  public RutaLiteralMatcher(IStringExpression expression) {
     super();
     this.expression = expression;
   }
@@ -63,7 +63,7 @@ public class RutaLiteralMatcher implemen
     return "\"" + expression.toString() + "\"";
   }
 
-  public StringExpression getExpression() {
+  public IStringExpression getExpression() {
     return expression;
   }
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java Fri Dec  6 08:41:07 2013
@@ -26,7 +26,7 @@ import org.apache.uima.cas.Type;
 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.RutaExpression;
+import org.apache.uima.ruta.expression.IRutaExpression;
 
 public interface RutaMatcher {
 
@@ -36,7 +36,7 @@ public interface RutaMatcher {
 
   List<Type> getTypes(RutaBlock parent, RutaStream stream);
 
-  RutaExpression getExpression();
+  IRutaExpression getExpression();
 
   long estimateAnchors(RutaBlock parent, RutaStream stream);
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java Fri Dec  6 08:41:07 2013
@@ -37,7 +37,7 @@ import org.apache.uima.ruta.RutaStream;
 import org.apache.uima.ruta.action.AbstractRutaAction;
 import org.apache.uima.ruta.condition.AbstractRutaCondition;
 import org.apache.uima.ruta.engine.RutaEngine;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.type.RutaBasic;
 import org.apache.uima.ruta.type.RutaFrame;
 import org.apache.uima.ruta.visitor.InferenceCrowd;
@@ -251,7 +251,7 @@ public class WildCardRuleElement extends
       }
     } else if (matcher instanceof RutaLiteralMatcher) {
       RutaLiteralMatcher lm = (RutaLiteralMatcher) matcher;
-      StringExpression expression = lm.getExpression();
+      IStringExpression expression = lm.getExpression();
       String stringValue = expression.getStringValue(parent, annotation, stream);
       AnnotationFS documentAnnotation = stream.getDocumentAnnotation();
       int delta = documentAnnotation.getBegin();
@@ -407,7 +407,7 @@ public class WildCardRuleElement extends
           RutaStream stream, InferenceCrowd crowd) {
     List<RuleMatch> result = new ArrayList<RuleMatch>();
     RutaLiteralMatcher matcher = (RutaLiteralMatcher) nextElement.getMatcher();
-    StringExpression expression = matcher.getExpression();
+    IStringExpression expression = matcher.getExpression();
     String stringValue = expression.getStringValue(parent, null, stream);
     AnnotationFS documentAnnotation = stream.getDocumentAnnotation();
     int delta = documentAnnotation.getBegin();

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxGreedy.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxGreedy.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxGreedy.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxGreedy.java Fri Dec  6 08:41:07 2013
@@ -24,7 +24,7 @@ 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.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
 import org.apache.uima.ruta.rule.ComposedRuleElementMatch;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -34,11 +34,11 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class MinMaxGreedy implements RuleElementQuantifier {
 
-  private NumberExpression min;
+  private INumberExpression min;
 
-  private NumberExpression max;
+  private INumberExpression max;
 
-  public MinMaxGreedy(NumberExpression min, NumberExpression max, boolean interval) {
+  public MinMaxGreedy(INumberExpression min, INumberExpression max, boolean interval) {
     super();
     if (!interval) {
       this.min = min;
@@ -74,11 +74,11 @@ public class MinMaxGreedy implements Rul
     }
   }
 
-  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/rule/quantifier/MinMaxReluctant.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxReluctant.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxReluctant.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxReluctant.java Fri Dec  6 08:41:07 2013
@@ -24,7 +24,7 @@ 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.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
 import org.apache.uima.ruta.rule.ComposedRuleElementMatch;
 import org.apache.uima.ruta.rule.RuleElement;
@@ -34,11 +34,11 @@ import org.apache.uima.ruta.visitor.Infe
 
 public class MinMaxReluctant implements RuleElementQuantifier {
 
-  private NumberExpression min;
+  private INumberExpression min;
 
-  private NumberExpression max;
+  private INumberExpression max;
 
-  public MinMaxReluctant(NumberExpression min, NumberExpression max, boolean interval) {
+  public MinMaxReluctant(INumberExpression min, INumberExpression max, boolean interval) {
     super();
     if (!interval) {
       this.min = min;
@@ -52,11 +52,11 @@ public class MinMaxReluctant implements 
     }
   }
 
-  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/type/Document_Type.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/Document_Type.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/Document_Type.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/Document_Type.java Fri Dec  6 08:41:07 2013
@@ -3,13 +3,12 @@ package org.apache.uima.ruta.type;
 
 import org.apache.uima.cas.FeatureStructure;
 import org.apache.uima.cas.Type;
-import org.apache.uima.jcas.tcas.Annotation_Type;
-
 import org.apache.uima.cas.impl.CASImpl;
 import org.apache.uima.cas.impl.FSGenerator;
 import org.apache.uima.cas.impl.TypeImpl;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
  * Updated by JCasGen Fri Jul 26 17:02:04 CEST 2013

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional.java Fri Dec  6 08:41:07 2013
@@ -3,10 +3,9 @@
 /* First created by JCasGen Sat Jun 08 19:25:02 CEST 2013 */
 package org.apache.uima.ruta.type;
 
-import org.apache.uima.jcas.JCas; 
+import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
 import org.apache.uima.jcas.cas.TOP_Type;
-
 import org.apache.uima.jcas.tcas.Annotation;
 
 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional_Type.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional_Type.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional_Type.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/type/RutaOptional_Type.java Fri Dec  6 08:41:07 2013
@@ -2,13 +2,13 @@
 /* First created by JCasGen Sat Jun 08 19:25:02 CEST 2013 */
 package org.apache.uima.ruta.type;
 
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.Type;
 import org.apache.uima.cas.impl.CASImpl;
 import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.FeatureStructure;
 import org.apache.uima.cas.impl.TypeImpl;
-import org.apache.uima.cas.Type;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ActionVerbalizer.java Fri Dec  6 08:41:07 2013
@@ -63,12 +63,12 @@ import org.apache.uima.ruta.action.TrieA
 import org.apache.uima.ruta.action.TrimAction;
 import org.apache.uima.ruta.action.UnmarkAction;
 import org.apache.uima.ruta.action.UnmarkAllAction;
-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.TypeListExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
+import org.apache.uima.ruta.expression.number.INumberExpression;
 import org.apache.uima.ruta.expression.resource.WordTableExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.expression.type.TypeExpression;
 
 public class ActionVerbalizer {
@@ -196,7 +196,7 @@ public class ActionVerbalizer {
       StringBuilder features = new StringBuilder();
       if (a.getFeatures() != null) {
         features.append(", ");
-        for (Entry<StringExpression, RutaExpression> each : a.getFeatures().entrySet()) {
+        for (Entry<IStringExpression, IRutaExpression> each : a.getFeatures().entrySet()) {
           features.append(verbalizer.verbalize(each.getKey()));
           features.append(" = ");
           features.append(verbalizer.verbalize(each.getValue()));
@@ -219,7 +219,7 @@ public class ActionVerbalizer {
       String features = "";
       if (a.getFeatures() != null) {
         features += ", ";
-        for (StringExpression each : a.getFeatures().keySet()) {
+        for (IStringExpression each : a.getFeatures().keySet()) {
           features += verbalizer.verbalize(each);
           features += " = ";
           features += verbalizer.verbalize(a.getFeatures().get(each));
@@ -245,7 +245,7 @@ public class ActionVerbalizer {
       String features = "";
       if (a.getFeatures() != null) {
         features += ", ";
-        for (StringExpression each : a.getFeatures().keySet()) {
+        for (IStringExpression each : a.getFeatures().keySet()) {
           features += verbalizer.verbalize(each);
           features += " = ";
           features += verbalizer.verbalize(a.getFeatures().get(each));
@@ -365,7 +365,7 @@ public class ActionVerbalizer {
       TrieAction a = (TrieAction) action;
       String map = "";
       if (a.getMap() != null) {
-        for (StringExpression each : a.getMap().keySet()) {
+        for (IStringExpression each : a.getMap().keySet()) {
           map += verbalizer.verbalize(each);
           map += " = ";
           map += verbalizer.verbalize(a.getMap().get(each));
@@ -405,7 +405,7 @@ public class ActionVerbalizer {
       String map = "";
       if (a.getParameterMap() != null) {
         map += ", ";
-        for (StringExpression each : a.getParameterMap().keySet()) {
+        for (IStringExpression each : a.getParameterMap().keySet()) {
           map += verbalizer.verbalize(each);
           map += " = ";
           map += verbalizer.verbalize(a.getParameterMap().get(each));
@@ -417,9 +417,9 @@ public class ActionVerbalizer {
     } else if (action instanceof DynamicAnchoringAction) {
       DynamicAnchoringAction a = (DynamicAnchoringAction) action;
 
-      BooleanExpression active = a.getActive();
-      NumberExpression panelty = a.getPanelty();
-      NumberExpression factor = a.getFactor();
+      IBooleanExpression active = a.getActive();
+      INumberExpression panelty = a.getPanelty();
+      INumberExpression factor = a.getFactor();
 
       String pa = verbalizer.verbalize(active);
       String pp = panelty == null ? "" : ", " + verbalizer.verbalize(panelty);
@@ -427,7 +427,7 @@ public class ActionVerbalizer {
       return name + pa + pp + pf + ")";
     } else if (action instanceof GreedyAnchoringAction) {
       GreedyAnchoringAction a = (GreedyAnchoringAction) action;
-      BooleanExpression active = a.getActive();
+      IBooleanExpression active = a.getActive();
       String pa = verbalizer.verbalize(active);
       return name + pa + ")";
     } else if (action instanceof GetListAction) {
@@ -438,13 +438,13 @@ public class ActionVerbalizer {
     } else if (action instanceof MarkTableAction) {
       MarkTableAction a = (MarkTableAction) action;
       TypeExpression typeExpr = a.getTypeExpr();
-      NumberExpression indexExpr = a.getIndexExpr();
+      INumberExpression indexExpr = a.getIndexExpr();
       WordTableExpression tableExpr = a.getTableExpr();
-      Map<StringExpression, NumberExpression> featureMap = a.getFeatureMap();
-      BooleanExpression ignoreCase = a.getIgnoreCase();
-      NumberExpression ignoreLength = a.getIgnoreLength();
-      StringExpression ignoreChar = a.getIgnoreChar();
-      NumberExpression maxIgnoreChar = a.getMaxIgnoreChar();
+      Map<IStringExpression, INumberExpression> featureMap = a.getFeatureMap();
+      IBooleanExpression ignoreCase = a.getIgnoreCase();
+      INumberExpression ignoreLength = a.getIgnoreLength();
+      IStringExpression ignoreChar = a.getIgnoreChar();
+      INumberExpression maxIgnoreChar = a.getMaxIgnoreChar();
 
       String type = verbalizer.verbalize(typeExpr);
       String index = verbalizer.verbalize(indexExpr);
@@ -452,7 +452,7 @@ public class ActionVerbalizer {
       String map = "";
       if (featureMap != null) {
         map += ", ";
-        for (StringExpression each : featureMap.keySet()) {
+        for (IStringExpression each : featureMap.keySet()) {
           map += verbalizer.verbalize(each);
           map += " = ";
           map += verbalizer.verbalize(featureMap.get(each));
@@ -468,7 +468,7 @@ public class ActionVerbalizer {
     } else if (action instanceof MatchedTextAction) {
       MatchedTextAction a = (MatchedTextAction) action;
       String var = a.getVar();
-      List<NumberExpression> list = a.getList();
+      List<INumberExpression> list = a.getList();
       String indexes = list == null ? "" : ", " + verbalizer.verbalizeExpressionList(list);
       return name + var + indexes + ")";
     } else if (action instanceof RemoveDuplicateAction) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ConditionVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ConditionVerbalizer.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ConditionVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ConditionVerbalizer.java Fri Dec  6 08:41:07 2013
@@ -52,9 +52,9 @@ import org.apache.uima.ruta.condition.St
 import org.apache.uima.ruta.condition.TotalCountCondition;
 import org.apache.uima.ruta.condition.VoteCondition;
 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.expression.string.StringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
 
 public class ConditionVerbalizer {
 
@@ -164,9 +164,9 @@ public class ConditionVerbalizer {
       return sb.toString();
     } else if (condition instanceof ContainsCondition) {
       ContainsCondition c = (ContainsCondition) condition;
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, 1);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String percent = verbalizer.verbalize(c.getPercent());
       percent = !percent.equals("false") ? ", " + percent : "";
@@ -180,9 +180,9 @@ public class ConditionVerbalizer {
     } else if (condition instanceof ContextCountCondition) {
       ContextCountCondition c = (ContextCountCondition) condition;
       String type = verbalizer.verbalize(c.getType());
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String var = c.getVar() == null ? "" : ", " + c.getVar();
       return name + type + min + max + var + ")";
@@ -190,18 +190,18 @@ public class ConditionVerbalizer {
       CountCondition c = (CountCondition) condition;
       if (c.getArg() == null) {
         String type = verbalizer.verbalize(c.getType());
-        NumberExpression minE = c.getMin();
+        INumberExpression minE = c.getMin();
         String min = verbalizeMin(minE, Integer.MIN_VALUE);
-        NumberExpression maxE = c.getMax();
+        INumberExpression maxE = c.getMax();
         String max = verbalizeMax(maxE, Integer.MAX_VALUE);
         String var = c.getVar() == null ? "" : ", " + c.getVar();
         return name + type + min + max + var + ")";
       } else {
         String list = verbalizer.verbalize(c.getArgList());
         String arg = verbalizer.verbalize(c.getArg());
-        NumberExpression minE = c.getMin();
+        INumberExpression minE = c.getMin();
         String min = verbalizeMin(minE, Integer.MIN_VALUE);
-        NumberExpression maxE = c.getMax();
+        INumberExpression maxE = c.getMax();
         String max = verbalizeMax(maxE, Integer.MAX_VALUE);
         String var = c.getVar() == null ? "" : ", " + c.getVar();
         return name + list + ", " + arg + min + max + var + ")";
@@ -209,9 +209,9 @@ public class ConditionVerbalizer {
     } else if (condition instanceof CurrentCountCondition) {
       CurrentCountCondition c = (CurrentCountCondition) condition;
       String type = verbalizer.verbalize(c.getType());
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String var = c.getVar() == null ? "" : ", " + c.getVar();
       return name + type + min + max + var + ")";
@@ -226,7 +226,7 @@ public class ConditionVerbalizer {
       } else {
         list = verbalizer.verbalize(c.getStringList());
       }
-      NumberExpression distE = c.getDistance();
+      INumberExpression distE = c.getDistance();
       String dist = "";
       String rel = "";
       if (distE != null) {
@@ -244,9 +244,9 @@ public class ConditionVerbalizer {
       StringBuilder sb = new StringBuilder();
       sb.append(name);
 
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       sb.append(min.substring(2, min.length()));
       sb.append(max);
@@ -268,9 +268,9 @@ public class ConditionVerbalizer {
       NearCondition c = (NearCondition) condition;
       String type = verbalizer.verbalize(c.getType());
       String var = verbalizer.verbalize(c.getForward());
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String filtered = verbalizer.verbalize(c.getFiltered());
       if (!"".equals(filtered)) {
@@ -335,7 +335,7 @@ public class ConditionVerbalizer {
               + verbalizer.verbalize(c.getPosition()) + relative + ")";
     } else if (condition instanceof RegExpCondition) {
       RegExpCondition c = (RegExpCondition) condition;
-      StringExpression variable = c.getVariable();
+      IStringExpression variable = c.getVariable();
       String ic = verbalizer.verbalize(c.getIgnoreCase());
       if (variable == null) {
         return name + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
@@ -345,18 +345,18 @@ public class ConditionVerbalizer {
     } else if (condition instanceof ScoreCondition) {
       ScoreCondition c = (ScoreCondition) condition;
       // String type = verbalizer.verbalize(c.getType());
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String var = c.getVar() == null ? "" : ", " + c.getVar();
       return name + min.substring(2) + max + var + ")";
     } else if (condition instanceof TotalCountCondition) {
       TotalCountCondition c = (TotalCountCondition) condition;
       String type = verbalizer.verbalize(c.getType());
-      NumberExpression minE = c.getMin();
+      INumberExpression minE = c.getMin();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMax();
+      INumberExpression maxE = c.getMax();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String var = c.getVar() == null ? "" : ", " + c.getVar();
       return name + type + min + max + var + ")";
@@ -428,9 +428,9 @@ public class ConditionVerbalizer {
       return name + type + ")";
     } else if (condition instanceof SizeCondition) {
       SizeCondition c = (SizeCondition) condition;
-      NumberExpression minE = c.getMinExpr();
+      INumberExpression minE = c.getMinExpr();
       String min = verbalizeMin(minE, Integer.MIN_VALUE);
-      NumberExpression maxE = c.getMaxExpr();
+      INumberExpression maxE = c.getMaxExpr();
       String max = verbalizeMax(maxE, Integer.MAX_VALUE);
       String var = c.getVarExpr() == null ? "" : ", " + c.getVarExpr();
       ListExpression<?> listExpr = c.getListExpr();
@@ -448,7 +448,7 @@ public class ConditionVerbalizer {
     return condition.getClass().getSimpleName();
   }
 
-  private String verbalizeMax(NumberExpression maxE, int def) {
+  private String verbalizeMax(INumberExpression maxE, int def) {
     String max = "";
     if (!(maxE instanceof SimpleNumberExpression && ((SimpleNumberExpression) maxE).getNumber()
             .equals(def))) {
@@ -457,7 +457,7 @@ public class ConditionVerbalizer {
     return max;
   }
 
-  private String verbalizeMin(NumberExpression minE, int def) {
+  private String verbalizeMin(INumberExpression minE, int def) {
     String min = "";
     if (!(minE instanceof SimpleNumberExpression && ((SimpleNumberExpression) minE).getNumber()
             .equals(def))) {

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ExpressionVerbalizer.java Fri Dec  6 08:41:07 2013
@@ -22,16 +22,17 @@ package org.apache.uima.ruta.verbalize;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.uima.ruta.expression.IRutaExpression;
 import org.apache.uima.ruta.expression.MatchReference;
-import org.apache.uima.ruta.expression.RutaExpression;
-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.feature.FeatureExpression;
 import org.apache.uima.ruta.expression.feature.FeatureMatchExpression;
+import org.apache.uima.ruta.expression.feature.GenericFeatureExpression;
 import org.apache.uima.ruta.expression.list.ListExpression;
 import org.apache.uima.ruta.expression.list.ReferenceBooleanListExpression;
 import org.apache.uima.ruta.expression.list.ReferenceNumberListExpression;
@@ -42,8 +43,8 @@ import org.apache.uima.ruta.expression.l
 import org.apache.uima.ruta.expression.list.SimpleStringListExpression;
 import org.apache.uima.ruta.expression.list.SimpleTypeListExpression;
 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;
@@ -52,10 +53,10 @@ import org.apache.uima.ruta.expression.r
 import org.apache.uima.ruta.expression.resource.WordListExpression;
 import org.apache.uima.ruta.expression.resource.WordTableExpression;
 import org.apache.uima.ruta.expression.string.ComposedStringExpression;
+import org.apache.uima.ruta.expression.string.IStringExpression;
 import org.apache.uima.ruta.expression.string.LiteralStringExpression;
 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;
@@ -70,13 +71,13 @@ public class ExpressionVerbalizer {
     this.verbalizer = verbalizer;
   }
 
-  public String verbalize(RutaExpression expression) {
+  public String verbalize(IRutaExpression expression) {
     if (expression instanceof TypeExpression) {
       return verbalize((TypeExpression) expression);
-    } else if (expression instanceof BooleanExpression) {
-      return verbalize((BooleanExpression) expression);
-    } else if (expression instanceof NumberExpression) {
-      return verbalize((NumberExpression) expression);
+    } else if (expression instanceof IBooleanExpression) {
+      return verbalize((IBooleanExpression) expression);
+    } else if (expression instanceof INumberExpression) {
+      return verbalize((INumberExpression) expression);
     } else if (expression instanceof WordListExpression) {
       return verbalize((WordListExpression) expression);
     } else if (expression instanceof WordTableExpression) {
@@ -85,12 +86,14 @@ public class ExpressionVerbalizer {
       return verbalize((ListExpression<?>) expression);
     } else if (expression instanceof FeatureExpression) {
       return verbalize((FeatureExpression) expression);
-    } else if (expression instanceof StringExpression) {
-      return verbalize((StringExpression) expression);
+    } else if (expression instanceof IStringExpression) {
+      return verbalize((IStringExpression) expression);
     } else if (expression instanceof MatchReference) {
       return verbalize((MatchReference) expression);
     } else if (expression instanceof FeatureMatchExpression) {
       return verbalize((FeatureMatchExpression) expression);
+    } else if (expression instanceof GenericFeatureExpression) {
+      return verbalize(((GenericFeatureExpression) expression).getFeatureExpression());
     }
     return expression.getClass().getSimpleName();
   }
@@ -140,7 +143,7 @@ public class ExpressionVerbalizer {
     return expression.getClass().getSimpleName();
   }
 
-  public String verbalize(NumberExpression expression) {
+  public String verbalize(INumberExpression expression) {
     if (expression == null) {
       return "";
     } else if (expression instanceof NegativeNumberExpression) {
@@ -154,7 +157,7 @@ public class ExpressionVerbalizer {
       return e.getNumber().toString();
     } else if (expression instanceof ComposedNumberExpression) {
       ComposedNumberExpression e = (ComposedNumberExpression) expression;
-      NumberExpression ne = e.getExpressions().get(0);
+      INumberExpression ne = e.getExpressions().get(0);
       if (ne == null) {
         return "";
       }
@@ -172,7 +175,7 @@ public class ExpressionVerbalizer {
     return expression.getClass().getSimpleName();
   }
 
-  public String verbalize(BooleanExpression expression) {
+  public String verbalize(IBooleanExpression expression) {
     if (expression == null) {
       return "";
     } else if (expression instanceof BooleanNumberExpression) {
@@ -195,15 +198,15 @@ public class ExpressionVerbalizer {
     return expression.getClass().getSimpleName();
   }
 
-  public String verbalize(StringExpression expression) {
+  public String verbalize(IStringExpression expression) {
     if (expression == null) {
       return "";
-    } else if (expression instanceof NumberExpression) {
-      return verbalize((NumberExpression) expression);
+    } else if (expression instanceof INumberExpression) {
+      return verbalize((INumberExpression) expression);
     } else if (expression instanceof TypeExpression) {
       return verbalize((TypeExpression) expression);
-    } else if (expression instanceof BooleanExpression) {
-      return verbalize((BooleanExpression) expression);
+    } else if (expression instanceof IBooleanExpression) {
+      return verbalize((IBooleanExpression) expression);
     } else if (expression instanceof ListExpression) {
       return verbalize((ListExpression) expression);
     } else if (expression instanceof LiteralStringExpression) {
@@ -220,9 +223,9 @@ public class ExpressionVerbalizer {
     } else if (expression instanceof ComposedStringExpression) {
       ComposedStringExpression e = (ComposedStringExpression) expression;
       StringBuilder sb = new StringBuilder();
-      Iterator<StringExpression> it = e.getExpressions().iterator();
+      Iterator<IStringExpression> it = e.getExpressions().iterator();
       while (it.hasNext()) {
-        StringExpression each = it.next();
+        IStringExpression each = it.next();
         sb.append(verbalize(each));
         if (it.hasNext()) {
           sb.append(" + ");

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/RutaVerbalizer.java Fri Dec  6 08:41:07 2013
@@ -28,6 +28,7 @@ import org.apache.uima.ruta.RutaBlock;
 import org.apache.uima.ruta.RutaElement;
 import org.apache.uima.ruta.action.AbstractRutaAction;
 import org.apache.uima.ruta.condition.AbstractRutaCondition;
+import org.apache.uima.ruta.expression.IRutaExpression;
 import org.apache.uima.ruta.expression.RutaExpression;
 import org.apache.uima.ruta.extensions.IRutaExtension;
 import org.apache.uima.ruta.rule.ComposedRuleElement;
@@ -64,20 +65,22 @@ public class RutaVerbalizer {
     }
   }
 
-  public String verbalize(RutaElement element) {
-    if (externalVerbalizers.keySet().contains(element.getClass())) {
-      return externalVerbalizers.get(element.getClass()).verbalize(element, this);
+  public String verbalize(Object element) {
+    if (externalVerbalizers.keySet().contains(element.getClass()) && element instanceof RutaElement) {
+      return externalVerbalizers.get(element.getClass()).verbalize((RutaElement) element, this);
     } else if (element instanceof AbstractRutaAction) {
       return actionVerbalizer.verbalize((AbstractRutaAction) element);
     } else if (element instanceof AbstractRutaCondition) {
       return conditionVerbalizer.verbalize((AbstractRutaCondition) element);
-    } else if (element instanceof RutaExpression) {
+    } else if (element instanceof IRutaExpression) {
       return expressionVerbalizer.verbalize((RutaExpression) element);
+    } else if(element instanceof RutaElement){
+      return scriptVerbalizer.verbalize((RutaElement) element);
     } else {
-      return scriptVerbalizer.verbalize(element);
+      return element.getClass().getSimpleName();
     }
   }
-
+  
   public String verbalizeName(RutaElement element) {
     if (externalVerbalizers.keySet().contains(element.getClass())) {
       return externalVerbalizers.get(element.getClass()).verbalizeName(element);
@@ -113,7 +116,7 @@ public class RutaVerbalizer {
     return verbalizerUtils.verbalizeTypeList(list);
   }
 
-  public String verbalizeExpressionList(List<? extends RutaExpression> list) {
+  public String verbalizeExpressionList(List<? extends IRutaExpression> list) {
     return verbalizerUtils.verbalizeExpressionList(list);
   }
 
@@ -125,4 +128,5 @@ public class RutaVerbalizer {
     return scriptVerbalizer.verbalizeComposed(cre);
   }
 
+
 }

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java Fri Dec  6 08:41:07 2013
@@ -29,9 +29,9 @@ import org.apache.uima.ruta.RutaElement;
 import org.apache.uima.ruta.RutaStatement;
 import org.apache.uima.ruta.action.AbstractRutaAction;
 import org.apache.uima.ruta.condition.AbstractRutaCondition;
-import org.apache.uima.ruta.expression.RutaExpression;
-import org.apache.uima.ruta.expression.number.NumberExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
+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.rule.AbstractRuleElement;
 import org.apache.uima.ruta.rule.ComposedRuleElement;
@@ -260,27 +260,27 @@ public class ScriptVerbalizer {
     sb.append(regexp);
     sb.append(THEN);
 
-    Iterator<Entry<TypeExpression, NumberExpression>> iterator = rule.getTypeMap().entrySet()
+    Iterator<Entry<TypeExpression, INumberExpression>> iterator = rule.getTypeMap().entrySet()
             .iterator();
     while (iterator.hasNext()) {
-      Entry<TypeExpression, NumberExpression> next = iterator.next();
+      Entry<TypeExpression, INumberExpression> next = iterator.next();
       String type = verbalizer.verbalize(next.getKey());
-      NumberExpression value = next.getValue();
+      INumberExpression value = next.getValue();
       if (value != null) {
         String group = verbalizer.verbalize(value);
         sb.append(group + " = " + type);
       } else {
         sb.append(type);
       }
-      Map<TypeExpression, Map<StringExpression, RutaExpression>> featureAssignments = rule
+      Map<TypeExpression, Map<IStringExpression, IRutaExpression>> featureAssignments = rule
               .getFeatureAssignments();
       if (featureAssignments != null) {
-        Map<StringExpression, RutaExpression> map = featureAssignments.get(next.getKey());
+        Map<IStringExpression, IRutaExpression> map = featureAssignments.get(next.getKey());
         if (map != null) {
           sb.append("(");
-          Iterator<Entry<StringExpression, RutaExpression>> fit = map.entrySet().iterator();
+          Iterator<Entry<IStringExpression, IRutaExpression>> fit = map.entrySet().iterator();
           while (fit.hasNext()) {
-            Map.Entry<StringExpression, RutaExpression> entry = (Map.Entry<StringExpression, RutaExpression>) fit
+            Map.Entry<IStringExpression, IRutaExpression> entry = (Map.Entry<IStringExpression, IRutaExpression>) fit
                     .next();
             sb.append(verbalizer.verbalize(entry.getKey()));
             sb.append(" = ");

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/VerbalizerUtils.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/VerbalizerUtils.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/VerbalizerUtils.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/VerbalizerUtils.java Fri Dec  6 08:41:07 2013
@@ -23,7 +23,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.uima.cas.Type;
-import org.apache.uima.ruta.expression.RutaExpression;
+import org.apache.uima.ruta.expression.IRutaExpression;
 
 public class VerbalizerUtils {
 
@@ -60,11 +60,11 @@ public class VerbalizerUtils {
     return result.toString();
   }
 
-  public String verbalizeExpressionList(List<? extends RutaExpression> list) {
+  public String verbalizeExpressionList(List<? extends IRutaExpression> list) {
     StringBuilder result = new StringBuilder();
-    Iterator<? extends RutaExpression> it = list.iterator();
+    Iterator<? extends IRutaExpression> it = list.iterator();
     while (it.hasNext()) {
-      RutaExpression e = it.next();
+      IRutaExpression e = it.next();
       result.append(verbalizer.verbalize(e));
       if (it.hasNext()) {
         result.append(", ");

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/CustomViewTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/CustomViewTest.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/CustomViewTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/CustomViewTest.java Fri Dec  6 08:41:07 2013
@@ -19,6 +19,8 @@
 
 package org.apache.uima.ruta;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -39,8 +41,6 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-
 /**
  * Tests Ruta when it is runned on another view than _InitialView.
  */

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/ShiftWithLowMemoryProfileTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/ShiftWithLowMemoryProfileTest.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/ShiftWithLowMemoryProfileTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/ShiftWithLowMemoryProfileTest.java Fri Dec  6 08:41:07 2013
@@ -19,6 +19,8 @@
 
 package org.apache.uima.ruta;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.util.HashMap;
@@ -36,8 +38,6 @@ import org.apache.uima.ruta.engine.RutaE
 import org.apache.uima.util.InvalidXMLException;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-
 /**
  * There was a {@link NullPointerException} when calling
  * {@link org.apache.uima.ruta.type.RutaBasic#getEndAnchors(org.apache.uima.cas.Type)}

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java Fri Dec  6 08:41:07 2013
@@ -61,23 +61,24 @@ import org.apache.uima.ruta.action.Trans
 import org.apache.uima.ruta.action.TrieAction;
 import org.apache.uima.ruta.action.UnmarkAction;
 import org.apache.uima.ruta.action.UnmarkAllAction;
-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.bool.SimpleBooleanExpression;
 import org.apache.uima.ruta.expression.list.ListExpression;
 import org.apache.uima.ruta.expression.list.SimpleStringListExpression;
 import org.apache.uima.ruta.expression.list.SimpleTypeListExpression;
 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.ReferenceNumberExpression;
 import org.apache.uima.ruta.expression.number.SimpleNumberExpression;
 import org.apache.uima.ruta.expression.resource.ReferenceWordListExpression;
 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.IStringExpression;
 import org.apache.uima.ruta.expression.string.SimpleStringExpression;
-import org.apache.uima.ruta.expression.string.StringExpression;
 import org.apache.uima.ruta.expression.type.ReferenceTypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
 import org.apache.uima.ruta.expression.type.TypeExpression;
@@ -91,27 +92,27 @@ public class ActionVerbalizerTest {
   public void test() {
     RutaVerbalizer v = new RutaVerbalizer();
     List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
-    List<StringExpression> stringExprList = new ArrayList<StringExpression>();
-    List<RutaExpression> exprList = new ArrayList<RutaExpression>();
-    List<NumberExpression> indexes = new ArrayList<NumberExpression>();
+    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 ReferenceTypeExpression("typeVar");
     typeExprList.add(typeExpr1);
     typeExprList.add(typeExpr2);
-    NumberExpression numExpr1 = new SimpleNumberExpression(4);
-    NumberExpression numExpr2 = new ReferenceNumberExpression("numVar");
-    BooleanExpression boolExpr1 = new SimpleBooleanExpression(true);
-    StringExpression stringExpr = new SimpleStringExpression("string");
+    INumberExpression numExpr1 = new SimpleNumberExpression(4);
+    INumberExpression numExpr2 = new ReferenceNumberExpression("numVar");
+    IBooleanExpression boolExpr1 = new SimpleBooleanExpression(true);
+    AbstractStringExpression stringExpr = new SimpleStringExpression("string");
     stringExprList.add(stringExpr);
     exprList.add(typeExpr1);
     WordTableExpression wordTableExpr = new ReferenceWordTableExpression(var);
     WordListExpression wordListExpr = new ReferenceWordListExpression(var);
     TypeListExpression typeListExpr = new SimpleTypeListExpression(typeExprList);
     StringListExpression stringListExpr = new SimpleStringListExpression(stringExprList);
-    Map<StringExpression, RutaExpression> stringExprMap = new HashMap<StringExpression, RutaExpression>();
-    Map<StringExpression, NumberExpression> stringExprNumExprMap = new HashMap<StringExpression, NumberExpression>();
-    Map<StringExpression, TypeExpression> stringExprTypeExprMap = new HashMap<StringExpression, TypeExpression>();
+    Map<IStringExpression, IRutaExpression> stringExprMap = new HashMap<IStringExpression, IRutaExpression>();
+    Map<IStringExpression, INumberExpression> stringExprNumExprMap = new HashMap<IStringExpression, INumberExpression>();
+    Map<IStringExpression, TypeExpression> stringExprTypeExprMap = new HashMap<IStringExpression, TypeExpression>();
     @SuppressWarnings("rawtypes")
     ListExpression listExpr = new SimpleTypeListExpression(typeExprList);
     @SuppressWarnings("rawtypes")

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java?rev=1548429&r1=1548428&r2=1548429&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ConditionVerbalizerTest.java Fri Dec  6 08:41:07 2013
@@ -52,17 +52,17 @@ import org.apache.uima.ruta.condition.Si
 import org.apache.uima.ruta.condition.StartsWithCondition;
 import org.apache.uima.ruta.condition.TotalCountCondition;
 import org.apache.uima.ruta.condition.VoteCondition;
-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.list.SimpleStringListExpression;
 import org.apache.uima.ruta.expression.list.SimpleTypeListExpression;
 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.ReferenceNumberExpression;
 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.string.StringExpression;
 import org.apache.uima.ruta.expression.type.ReferenceTypeExpression;
 import org.apache.uima.ruta.expression.type.SimpleTypeExpression;
 import org.apache.uima.ruta.expression.type.TypeExpression;
@@ -75,17 +75,17 @@ public class ConditionVerbalizerTest {
   public void test() {
     RutaVerbalizer v = new RutaVerbalizer();
     List<TypeExpression> typeExprList = new ArrayList<TypeExpression>();
-    List<StringExpression> stringExprList = new ArrayList<StringExpression>();
+    List<IStringExpression> stringExprList = new ArrayList<IStringExpression>();
     String var = "anyVar";
-    StringExpression varExpr = new ReferenceNumberExpression(var);
+    IStringExpression varExpr = new ReferenceNumberExpression(var);
     TypeExpression typeExpr1 = new SimpleTypeExpression("Type1");
     TypeExpression typeExpr2 = new ReferenceTypeExpression("typeVar");
     typeExprList.add(typeExpr1);
     typeExprList.add(typeExpr2);
-    NumberExpression numExpr1 = new SimpleNumberExpression(4);
-    NumberExpression numExpr2 = new ReferenceNumberExpression("numVar");
-    BooleanExpression boolExpr1 = new SimpleBooleanExpression(true);
-    StringExpression stringExpr = new SimpleStringExpression("string");
+    INumberExpression numExpr1 = new SimpleNumberExpression(4);
+    INumberExpression numExpr2 = new ReferenceNumberExpression("numVar");
+    IBooleanExpression boolExpr1 = new SimpleBooleanExpression(true);
+    IStringExpression stringExpr = new SimpleStringExpression("string");
     stringExprList.add(stringExpr);
     TypeListExpression typeListExpr = new SimpleTypeListExpression(typeExprList);
     StringListExpression stringListExpr = new SimpleStringListExpression(stringExprList);