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 / Finding.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  3.2 KB  |  125 lines

  1. package COM.objectspace.jgl;
  2.  
  3. public final class Finding {
  4.    private Finding() {
  5.    }
  6.  
  7.    public static InputIterator find(InputIterator var0, InputIterator var1, Object var2) {
  8.       InputIterator var3 = (InputIterator)var0.clone();
  9.  
  10.       while(!var3.equals(var1) && !var3.get().equals(var2)) {
  11.          var3.advance();
  12.       }
  13.  
  14.       return var3;
  15.    }
  16.  
  17.    public static InputIterator find(Container var0, Object var1) {
  18.       return find(var0.start(), var0.finish(), var1);
  19.    }
  20.  
  21.    public static InputIterator findIf(InputIterator var0, InputIterator var1, UnaryPredicate var2) {
  22.       InputIterator var3 = (InputIterator)var0.clone();
  23.  
  24.       while(!var3.equals(var1) && !var2.execute(var3.get())) {
  25.          var3.advance();
  26.       }
  27.  
  28.       return var3;
  29.    }
  30.  
  31.    public static InputIterator findIf(Container var0, UnaryPredicate var1) {
  32.       return findIf(var0.start(), var0.finish(), var1);
  33.    }
  34.  
  35.    public static InputIterator adjacentFind(InputIterator var0, InputIterator var1) {
  36.       return adjacentFind(var0, var1, new EqualTo());
  37.    }
  38.  
  39.    public static InputIterator adjacentFind(Container var0) {
  40.       ForwardIterator var1 = var0.start();
  41.       ForwardIterator var2 = var0.finish();
  42.       return adjacentFind(var1, var2, new EqualTo());
  43.    }
  44.  
  45.    public static InputIterator adjacentFind(InputIterator var0, InputIterator var1, BinaryPredicate var2) {
  46.       if (var0.equals(var1)) {
  47.          return var1;
  48.       } else {
  49.          InputIterator var3 = (InputIterator)var0.clone();
  50.          InputIterator var4 = (InputIterator)var0.clone();
  51.          var4.advance();
  52.  
  53.          while(!var4.equals(var1)) {
  54.             if (var2.execute(var3.get(), var4.get())) {
  55.                return var3;
  56.             }
  57.  
  58.             var3.advance();
  59.             var4.advance();
  60.          }
  61.  
  62.          return var4;
  63.       }
  64.    }
  65.  
  66.    public static InputIterator adjacentFind(Container var0, BinaryPredicate var1) {
  67.       return adjacentFind(var0.start(), var0.finish(), var1);
  68.    }
  69.  
  70.    public static Object detect(ForwardIterator var0, ForwardIterator var1, UnaryPredicate var2) {
  71.       Class var3 = var0.getContainer().getClass();
  72.       Class var4 = var1.getContainer().getClass();
  73.       if (var3 != var4) {
  74.          throw new IllegalArgumentException("iterator containers must be the same");
  75.       } else {
  76.          ForwardIterator var5 = (ForwardIterator)var0.clone();
  77.  
  78.          while(!var5.equals(var1)) {
  79.             Object var6 = var5.nextElement();
  80.             if (var2.execute(var6)) {
  81.                return var6;
  82.             }
  83.          }
  84.  
  85.          return null;
  86.       }
  87.    }
  88.  
  89.    public static Object detect(Container var0, UnaryPredicate var1) {
  90.       return detect(var0.start(), var0.finish(), var1);
  91.    }
  92.  
  93.    public static boolean some(ForwardIterator var0, ForwardIterator var1, UnaryPredicate var2) {
  94.       return detect(var0, var1, var2) != null;
  95.    }
  96.  
  97.    public static boolean some(Container var0, UnaryPredicate var1) {
  98.       ForwardIterator var2 = var0.start();
  99.       ForwardIterator var3 = var0.finish();
  100.       return detect(var2, var3, var1) != null;
  101.    }
  102.  
  103.    public static boolean every(ForwardIterator var0, ForwardIterator var1, UnaryPredicate var2) {
  104.       Class var3 = var0.getContainer().getClass();
  105.       Class var4 = var1.getContainer().getClass();
  106.       if (var3 != var4) {
  107.          throw new IllegalArgumentException("iterator containers must be the same");
  108.       } else {
  109.          ForwardIterator var5 = (ForwardIterator)var0.clone();
  110.  
  111.          while(!var5.equals(var1)) {
  112.             if (!var2.execute(var5.nextElement())) {
  113.                return false;
  114.             }
  115.          }
  116.  
  117.          return true;
  118.       }
  119.    }
  120.  
  121.    public static boolean every(Container var0, UnaryPredicate var1) {
  122.       return every(var0.start(), var0.finish(), var1);
  123.    }
  124. }
  125.