home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JSAMPLES.Z / Finding2.java < prev    next >
Text File  |  1998-05-08  |  1KB  |  52 lines

  1. // Copyright(c) 1996,1997 ObjectSpace, Inc.
  2. import com.objectspace.jgl.*;
  3. import com.objectspace.jgl.algorithms.*;
  4.  
  5. /**
  6.  * Finding objects that match a predicate.
  7.  *
  8.  * @see com.objectspace.jgl.algorithms.Finding
  9.  * @version 3.0.0
  10.  * @author ObjectSpace, Inc.
  11.  */
  12.  
  13. public class Finding2
  14.   {
  15.   public static void main( String[] args )
  16.     {
  17.     Array array = new Array();
  18.     array.add( "cat" );
  19.     array.add( "monkey" );
  20.     array.add( "lion" );
  21.     array.add( "armadillo" );
  22.     array.add( "zebra" );
  23.     System.out.println( "array = " + array );
  24.  
  25.     System.out.println
  26.       ( 
  27.       "Array has SOME string > 5 chars  == " 
  28.         + Finding.some( array, new Finding2UnaryPredicate() ) 
  29.       );
  30.     System.out.println
  31.       ( 
  32.       "Array has EVERY string > 5 chars == "
  33.         + Finding.every( array, new Finding2UnaryPredicate() ) 
  34.       );
  35.     System.out.println
  36.       ( 
  37.       "1st Object in array > 5 chars    == "
  38.         + Finding.detect( array, new Finding2UnaryPredicate() ) 
  39.       );
  40.     }
  41.   }
  42.  
  43. class Finding2UnaryPredicate implements UnaryPredicate
  44.   {
  45.   // return true if the length of the toString() is
  46.   // greater than 5.
  47.   public boolean execute( Object object )
  48.     {
  49.     return object.toString().length() > 5;
  50.     }
  51.   }
  52.