fixed comment/article search + configurable icon sizes
[mir.git] / source / mir / util / GeneratorStringFunctions.java
index 9aed006..6d8b373 100755 (executable)
 
 package mir.util;
 
-import java.util.*;
-import mir.generator.*;
+import java.util.List;
+
+import mir.generator.Generator;
+import mir.generator.GeneratorExc;
+import mir.generator.GeneratorFailure;
 
 public class GeneratorStringFunctions {
 
   private GeneratorStringFunctions() {}
 
-  public static int interpretAsInteger(Object aValue) throws GeneratorExc {
-    if (aValue instanceof Integer)
-      return ((Integer) aValue).intValue();
-
-    if (aValue instanceof String)
-      try {
-        return Integer.parseInt((String) aValue);
-      }
-      catch (Throwable t) {
-        throw new GeneratorExc("Integer expected, "+aValue+" found");
-      }
-
-    throw new GeneratorExc("Integer expected, "+aValue+" found");
-  }
-
-  public static String interpretAsString(Object aValue) throws GeneratorExc {
-    if (aValue instanceof String)
-      return (String) aValue;
-
-    if (aValue instanceof Integer)
-      return ((Integer) aValue).toString();
-
-    throw new GeneratorExc("String expected, "+aValue+" found");
-  }
-
   public static class subStringFunction implements Generator.GeneratorFunction {
     public Object perform(List aParameters) throws GeneratorExc, GeneratorFailure {
       try {
         if (aParameters.size()>3 || aParameters.size()<2)
           throw new GeneratorExc("subStringFunction: 2 or 3 parameters expected: string from [length]");
 
-        if (aParameters.get(0)==null)
-          return "";
-
         if (aParameters.size()==3) {
-          return interpretAsString(aParameters.get(0)).substring(
-              interpretAsInteger(aParameters.get(1)),
-              interpretAsInteger(aParameters.get(2)));
+          return StringRoutines.interpretAsString(aParameters.get(0)).substring(
+              StringRoutines.interpretAsInteger(aParameters.get(1)),
+              StringRoutines.interpretAsInteger(aParameters.get(2)));
         }
         else {
-          return interpretAsString(aParameters.get(0)).substring(
-              interpretAsInteger(aParameters.get(1)));
+          return StringRoutines.interpretAsString(aParameters.get(0)).substring(
+              StringRoutines.interpretAsInteger(aParameters.get(1)));
         }
       }
       catch (GeneratorExc e) {