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

  1. // Copyright(c) 1996,1997 ObjectSpace, Inc.
  2. import com.objectspace.jgl.*;
  3. import com.objectspace.jgl.algorithms.*;
  4. import com.objectspace.jgl.functions.*;
  5. import com.objectspace.jgl.predicates.*;
  6.  
  7. /**
  8.  * Filtering provides algorithms for creating a variation of a sequence.
  9.  *
  10.  * @see com.objectspace.jgl.algorithms.Filtering
  11.  * @version 3.0.0
  12.  * @author ObjectSpace, Inc.
  13.  */
  14.  
  15. public class Algorithms5
  16.   {
  17.   public static void main( String[] args )
  18.     {
  19.     Array array1 = new Array();
  20.     array1.add( "cat" );
  21.     array1.add( "monkey" );
  22.     array1.add( "goat" );
  23.     array1.add( "elephant" );
  24.     System.out.println( "array1 = " + array1 );
  25.  
  26.     // Predicate that returns true if a string is greater than 4 characters long.
  27.     UnaryPredicate predicate = new UnaryComposePredicate
  28.       (
  29.       new BindSecondPredicate( new GreaterNumber(), new Integer( 4 ) ),
  30.       new LengthString()
  31.       );
  32.  
  33.     Array array2 = (Array)Filtering.select( array1, predicate );
  34.     System.out.println( "strings with length > 4 = " + array2 );
  35.  
  36.     Array array3 = (Array)Filtering.reject( array1, predicate );
  37.     System.out.println( "strings with length <= 4 = " + array3 );
  38.     }
  39.   }
  40.