1 33 package net.sf.jga.fn.adaptor; 34 35 import net.sf.jga.fn.Generator; 36 import net.sf.jga.util.ArrayUtils; 37 38 45 46 public class ApplyGenerator extends Generator<Object []> { 47 48 static final long serialVersionUID = -2160391060913269243L; 49 50 private Generator[] _generators; 52 53 public ApplyGenerator (Generator... generators){ 54 _generators = generators; 55 } 56 57 public Generator[] getGenerators() { 58 return _generators; 59 } 60 61 public Object [] gen() { 62 Object [] result = new Object [_generators.length]; 63 for (int i = 0; i < _generators.length; ++i) { 64 result[i] = _generators[i].gen(); 65 } 66 67 return result; 68 } 69 70 74 public void accept(net.sf.jga.fn.Visitor v) { 75 if (v instanceof ApplyGenerator.Visitor) 76 ((ApplyGenerator.Visitor)v).visit(this); 77 else 78 v.visit(this); 79 } 80 81 83 public String toString() { 84 return ArrayUtils.toString(_generators); 85 } 86 87 89 92 public interface Visitor extends net.sf.jga.fn.Visitor { 93 public void visit(ApplyGenerator host); 94 } 95 } 96 | Popular Tags |