X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Futil%2FGeneratorStringFunctions.java;h=6d8b37300b458bfaae36f6c21874e30fd9274232;hb=ec89f6dc6e5cae2f6da9a2bb014eaac01beab882;hp=9aed00626f29dec1db0dbe618bc2d094eb6c9487;hpb=781ae5e450f0fdc85d3ee5b4b586aa542611a562;p=mir.git diff --git a/source/mir/util/GeneratorStringFunctions.java b/source/mir/util/GeneratorStringFunctions.java index 9aed0062..6d8b3730 100755 --- a/source/mir/util/GeneratorStringFunctions.java +++ b/source/mir/util/GeneratorStringFunctions.java @@ -31,55 +31,30 @@ 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) {