home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Extras / OSpace / jgl.exe / jgl_2_0 / COM / objectspace / jgl / Transforming.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  3.2 KB  |  73 lines

  1. package COM.objectspace.jgl;
  2.  
  3. public final class Transforming {
  4.    private Transforming() {
  5.    }
  6.  
  7.    public static OutputIterator transform(InputIterator var0, InputIterator var1, OutputIterator var2, UnaryFunction var3) {
  8.       InputIterator var4 = (InputIterator)var0.clone();
  9.       OutputIterator var5 = (OutputIterator)var2.clone();
  10.  
  11.       while(!var4.equals(var1)) {
  12.          var5.put(var3.execute(var4.nextElement()));
  13.          var5.advance();
  14.       }
  15.  
  16.       return var5;
  17.    }
  18.  
  19.    public static OutputIterator transform(Container var0, OutputIterator var1, UnaryFunction var2) {
  20.       return transform((InputIterator)var0.start(), (InputIterator)var0.finish(), (OutputIterator)var1, (UnaryFunction)var2);
  21.    }
  22.  
  23.    public static void transform(Container var0, Container var1, UnaryFunction var2) {
  24.       transform((InputIterator)var0.start(), (InputIterator)var0.finish(), (OutputIterator)(new InsertIterator(var1)), (UnaryFunction)var2);
  25.    }
  26.  
  27.    public static OutputIterator transform(InputIterator var0, InputIterator var1, InputIterator var2, OutputIterator var3, BinaryFunction var4) {
  28.       InputIterator var5 = (InputIterator)var0.clone();
  29.       InputIterator var6 = (InputIterator)var2.clone();
  30.       OutputIterator var7 = (OutputIterator)var3.clone();
  31.  
  32.       while(!var5.equals(var1)) {
  33.          var7.put(var4.execute(var5.nextElement(), var6.nextElement()));
  34.          var7.advance();
  35.       }
  36.  
  37.       return var7;
  38.    }
  39.  
  40.    public static OutputIterator transform(Container var0, Container var1, OutputIterator var2, BinaryFunction var3) {
  41.       return transform(var0.start(), var0.finish(), var1.start(), var2, var3);
  42.    }
  43.  
  44.    public static void transform(Container var0, Container var1, Container var2, BinaryFunction var3) {
  45.       transform(var0.start(), var0.finish(), var1.start(), new InsertIterator(var2), var3);
  46.    }
  47.  
  48.    public static Container collect(ForwardIterator var0, ForwardIterator var1, UnaryFunction var2) {
  49.       Class var3 = var0.getContainer().getClass();
  50.       Class var4 = var1.getContainer().getClass();
  51.       if (var3 != var4) {
  52.          throw new IllegalArgumentException("iterator containers must be the same");
  53.       } else {
  54.          return collect(var0, var1, var2, (Container)var0.getContainer().clone());
  55.       }
  56.    }
  57.  
  58.    public static Container collect(Container var0, UnaryFunction var1) {
  59.       return collect(var0.start(), var0.finish(), var1, (Container)var0.clone());
  60.    }
  61.  
  62.    private static Container collect(ForwardIterator var0, ForwardIterator var1, UnaryFunction var2, Container var3) {
  63.       var3.clear();
  64.       ForwardIterator var4 = (ForwardIterator)var0.clone();
  65.  
  66.       while(!var4.equals(var1)) {
  67.          var3.add(var2.execute(var4.nextElement()));
  68.       }
  69.  
  70.       return var3;
  71.    }
  72. }
  73.