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

  1. // Copyright(c) 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. import com.objectspace.jgl.voyager.*;
  7. import com.objectspace.jgl.voyager.algorithms.*;
  8. import com.objectspace.voyager.*;
  9.  
  10. /**
  11.  * Distributed algorithms on a remote container.
  12.  *
  13.  * @version 3.0.0
  14.  * @author ObjectSpace, Inc.
  15.  */
  16.  
  17. public class Voyager3
  18.   {
  19.   /**
  20.    * This example only works with ObjectSpace Voyager(tm).
  21.    * Visit the <a href=http://www.objectspace.com/voyager>Voyager homepage</a> for more information.
  22.    */
  23.   public static void main( String[] args )
  24.     {
  25.     try
  26.       {
  27.       // create and fill remote container
  28.       VDeque deque = new VDeque( "localhost:8000" );
  29.       new VDequeIterator(); // force class loading
  30.       deque.add( "Texas Fight!" );
  31.       deque.add( "Bevo" );
  32.       deque.add( "Hook 'Em" );
  33.       System.out.println( "deque = " + deque );
  34.  
  35.       // print the contents of the container at the remote location
  36.       VApplying.forEach( deque, new Print(), "localhost:8000" );
  37.  
  38.       // sort the remote array
  39.       VSorting.sort( deque, "localhost:8000" );
  40.       System.out.println( "\ndefault sort = " + deque );
  41.  
  42.       // sort the remote array using a custom comparator
  43.       VSorting.sort( deque, new LessString(), "localhost:8000" );
  44.       System.out.println( "  alpha sort = " + deque );
  45.  
  46.       // expand the remote container
  47.       deque.pushFront( "White" );
  48.       deque.pushBack( "White" );
  49.       deque.pushFront( "White" );
  50.       deque.pushBack( "White" );
  51.  
  52.       // perform an algorithm on a subrange of the remote container
  53.       System.out.println( "\nbefore = " + deque );
  54.       deque.setVirtual( true );
  55.       BidirectionalIterator b = (BidirectionalIterator)deque.start();
  56.       BidirectionalIterator e = (BidirectionalIterator)deque.finish();
  57.       b.advance();
  58.       e.retreat();
  59.       deque.setVirtual( false );
  60.       VReplacing.replace( b, e, "White", "Orange", "localhost:8000" );
  61.       System.out.println( " after = " + deque );
  62.       }
  63.     catch ( VoyagerException ex )
  64.       {
  65.       System.err.println( "caught: " + ex );
  66.       }
  67.  
  68.     Voyager.shutdown();
  69.     }
  70.   }
  71.