home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 June / PCWorld_2007-06_cd.bin / multimedia / ppsee / PPSeeSetup.exe / lib / bsh-commands-2.0b4.jar / bsh / commands / which.bsh < prev    next >
Text File  |  2005-05-23  |  1KB  |  45 lines

  1. /**
  2.     Use classpath mapping to determine the source of the specified class
  3.     file.  (Like the Unix which command for executables).
  4.     <p/>
  5.  
  6.     This command maps the entire classpath and prints all of the occurrences
  7.     of the class.  If you just want to find the first occurrence in the
  8.     classpath (the one that will be used by Java) you can also get it by
  9.     printing the URL of the resource. e.g.:
  10.     <p/>
  11.  
  12.     <pre>
  13.         print( getResource("/com/foo/MyClass.class") );
  14.         // Same as...
  15.         // System.out.println(
  16.         //    getClass().getResourceAsStream("/com/foo/MyClass.class" ) );
  17.     </pre>
  18.     <p/>
  19.  
  20.     Note: This is all a lie! This command is broken and only reports the
  21.     currently first occurence! To be fixed!
  22.     <p/>
  23.  
  24.     @method which( classIdentifier | string | class )
  25. */
  26.  
  27. bsh.help.which= "usage: which( classIdentifier | string | class )";
  28.  
  29. import bsh.ClassIdentifier;
  30.  
  31. which( clas ) 
  32. {
  33.     // make the class into a name
  34.     Class clas;
  35.     if ( clas instanceof ClassIdentifier )
  36.         clas = this.namespace.identifierToClass( clas );
  37.     if ( clas instanceof Class )
  38.         clas = clas.getName();
  39.     String className = clas;
  40.  
  41.     cp = this.caller.namespace.getClassManager().getClassPath();
  42.     print ( cp.getClassSource( className ) );
  43. }
  44.  
  45.