1 package net.sf.jga.fn.algorithm; 33 34 import net.sf.jga.fn.UnaryFunctor; 35 import net.sf.jga.util.TransformIterator; 36 import java.util.Iterator ; 37 38 47 48 public class TransformUnary<T,R> 49 extends UnaryFunctor<Iterator<? extends T>, TransformIterator<T,R>> 50 { 51 static final long serialVersionUID = -5437939894267586472L; 52 53 private UnaryFunctor<T,R> _fn; 54 55 60 public TransformUnary(UnaryFunctor<T,R> fn) { 61 if (fn == null) 62 throw new IllegalArgumentException (); 63 64 _fn = fn; 65 } 66 67 70 public UnaryFunctor<T,R> getFunction() { 71 return _fn; 72 } 73 74 80 public TransformIterator<T,R> fn(Iterator<? extends T> iterator) { 81 return new TransformIterator<T,R>(iterator, _fn); 82 } 83 84 88 public void accept(net.sf.jga.fn.Visitor v) { 89 if (v instanceof TransformUnary.Visitor) 90 ((TransformUnary.Visitor)v).visit(this); 91 else 92 v.visit(this); 93 } 94 95 97 public String toString() { 98 return "TransformUnary"; 99 } 100 101 103 106 public interface Visitor extends net.sf.jga.fn.Visitor { 107 public void visit(TransformUnary host); 108 } 109 } 110 | Popular Tags |