5 import mir.generator.Generator;
6 import mir.generator.GeneratorExc;
7 import mir.generator.GeneratorFailure;
9 public class GeneratorIntegerFunctions {
11 private GeneratorIntegerFunctions() {}
13 public static class incrementFunction implements Generator.GeneratorFunction {
14 public Object perform(List aParameters) throws GeneratorExc, GeneratorFailure {
15 int incrementValue = 1;
18 if (aParameters.size()>2 || aParameters.size()<1)
19 throw new GeneratorExc("incrementFunction: 1 or 2 parameters expected: value [increment value]");
21 if (aParameters.size()>1)
22 incrementValue = StringRoutines.interpretAsInteger(aParameters.get(1));
24 return new Integer(StringRoutines.interpretAsInteger(aParameters.get(0)) + incrementValue);
26 catch (GeneratorExc e) {
30 throw new GeneratorFailure("incrementFunction: " + t.getMessage(), t);
35 public static class isOddFunction implements Generator.GeneratorFunction {
36 public Object perform(List aParameters) throws GeneratorExc, GeneratorFailure {
38 if (aParameters.size()!=1)
39 throw new GeneratorExc("isOddFunction: 1 parameters expected: value");
41 return new Boolean((StringRoutines.interpretAsInteger(aParameters.get(0)) & 1) == 1);
43 catch (GeneratorExc e) {
47 throw new GeneratorFailure("isOddFunction: " + t.getMessage(), t);