PageRenderTime 25ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-1-pre5/bsh/commands/reloadClasses.bsh

#
Unknown | 55 lines | 46 code | 9 blank | 0 comment | 0 complexity | 48a21a9ddf511573ab0e4b07a8150029 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. /**
  2. Reload the specified class, package name, or all classes if no name is
  3. given. e.g.
  4. <p>
  5. <pre>
  6. reloadClasses();
  7. reloadClasses("mypackage.*");
  8. reloadClasses(".*") // reload unpackaged classes
  9. reloadClasses("mypackage.MyClass")
  10. </pre>
  11. <p>
  12. See <a href="classpath.html">Class Path Management</a>
  13. @method void reloadClasses( [ package name ] )
  14. */
  15. bsh.help.reloadClasses=
  16. "usage: reloadClasses( String class | String package | String [] classes )";
  17. import bsh.BshClassManager;
  18. import bsh.ClassPathException;
  19. void reloadClasses( item )
  20. {
  21. bcm = BshClassManager.getClassManager();
  22. try {
  23. if ( item instanceof String [] )
  24. bcm.reloadClasses( item );
  25. else {
  26. name = item;
  27. if ( name.endsWith(".*" ) ) {
  28. if ( name.equals(".*" ) )
  29. pack = "<unpackaged>";
  30. else
  31. pack = name.substring( 0, name.length()-2 );
  32. bcm.reloadPackage( pack );
  33. } else
  34. bcm.reloadClasses( new String[] { name } );
  35. }
  36. } catch ( ClassPathException e ) {
  37. error( e.getMessage() );
  38. }
  39. }
  40. /**
  41. Reload all classes
  42. */
  43. void reloadClasses()
  44. {
  45. BshClassManager.getClassManager().reloadAllClasses();
  46. }