home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Shareware / Comunicatii / advwebrank / awr.msi / disk1.cab / bsh_1.2b6.jar / bsh / commands / reloadClasses.bsh < prev    next >
Encoding:
Text File  |  2002-05-26  |  1.1 KB  |  57 lines

  1. /**
  2.     Reload the specified class, package name, or all classes if no name is 
  3.     given.  e.g.
  4.     <p>
  5.  
  6.     <pre>
  7.     reloadClasses();
  8.     reloadClasses("mypackage.*");
  9.     reloadClasses(".*")  // reload unpackaged classes
  10.     reloadClasses("mypackage.MyClass") 
  11.     </pre>
  12.     <p>
  13.  
  14.     See "Class Path Management"
  15.  
  16.     @method void reloadClasses( [ package name ] )
  17. */
  18.  
  19. bsh.help.reloadClasses= 
  20.     "usage: reloadClasses( String class | String package | String [] classes )";
  21.  
  22. import bsh.BshClassManager;
  23. import bsh.ClassPathException;
  24.  
  25. void reloadClasses( item ) 
  26. {
  27.     bcm = BshClassManager.getClassManager();
  28.  
  29.     try {
  30.         if ( item instanceof String [] )
  31.             bcm.reloadClasses( item );
  32.         else {
  33.             name = item;
  34.  
  35.             if ( name.endsWith(".*" ) ) {
  36.                 if ( name.equals(".*" ) )
  37.                     pack = "<unpackaged>";
  38.                 else
  39.                     pack = name.substring( 0, name.length()-2 );
  40.                 
  41.                 bcm.reloadPackage( pack );
  42.             } else
  43.                 bcm.reloadClasses( new String[] { name } );
  44.         }
  45.     } catch ( ClassPathException e ) {
  46.         error( e.getMessage() );
  47.     }
  48. }
  49.  
  50. /**
  51.     Reload all classes
  52. */
  53. void reloadClasses() 
  54. {
  55.     BshClassManager.getClassManager().reloadAllClasses();
  56. }
  57.