bsh.commands.which.bsh Maven / Gradle / Ivy
The newest version!
/**
Use classpath mapping to determine the source of the specified class
file. (Like the Unix which command for executables).
This command maps the entire classpath and prints all of the occurrences
of the class. If you just want to find the first occurrence in the
classpath (the one that will be used by Java) you can also get it by
printing the URL of the resource. e.g.:
print( getResource("/com/foo/MyClass.class") );
// Same as...
// System.out.println(
// getClass().getResourceAsStream("/com/foo/MyClass.class" ) );
Note: This is all a lie! This command is broken and only reports the
currently first occurence! To be fixed!
@method which( classIdentifier | string | class )
*/
bsh.help.which= "usage: which( classIdentifier | string | class )";
import bsh.ClassIdentifier;
which( clas )
{
// make the class into a name
Class clas;
if ( clas instanceof ClassIdentifier )
clas = this.namespace.identifierToClass( clas );
if ( clas instanceof Class )
clas = clas.getName();
String className = clas;
cp = this.caller.namespace.getClassManager().getClassPath();
print ( cp.getClassSource( className ) );
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy