SearchPathpublic class SearchPath extends Object
Fields Summary |
---|
private String | pathString | private String[] | pathArray |
Constructors Summary |
---|
public SearchPath(String searchPath)
//### Should check searchpath for well-formedness.
StringTokenizer st = new StringTokenizer(searchPath, File.pathSeparator);
List dlist = new ArrayList();
while (st.hasMoreTokens()) {
dlist.add(st.nextToken());
}
pathString = searchPath;
Log.LOGN(3, "!!!" + pathString );
pathArray = (String[])dlist.toArray(new String[dlist.size()]);
Log.LOGN(3, "Path array length is :"+pathArray.length);
for(int i=0; i<pathArray.length; i++) {
Log.LOGN(3, pathArray[i]);
}
|
Methods Summary |
---|
public java.lang.String[] | asArray()
return (String[])pathArray.clone();
| public java.lang.String | asString()
return pathString;
| public java.lang.String[] | children(java.lang.String relativeDirName, java.io.FilenameFilter filter)
// If a file appears at the same relative path
// with respect to multiple entries on the classpath,
// the one corresponding to the earliest entry on the
// classpath is retained. This is the one that will be
// found if we later do a 'resolve'.
SortedSet s = new TreeSet(); // sorted, no duplicates
for (int i = 0; i < pathArray.length; i++) {
FileReference path = FileReference.create(pathArray[i], relativeDirName);
if (path.exists()) {
String[] childArray = path.list(filter);
if (childArray != null) {
for (int j = 0; j < childArray.length; j++) {
if (!s.contains(childArray[j])) {
s.add(childArray[j]);
}
}
}
}
}
return (String[])s.toArray(new String[s.size()]);
| public boolean | isEmpty()
return (pathArray.length == 0);
| public int | path_array_length()
return pathArray.length;
| public FileReference | resolve(java.lang.String relativeFileName)
Log.LOGN(4, "relative filename = " + relativeFileName);
Log.LOGN(4, "path array length in resolve is " +pathArray.length);
if (!relativeFileName.endsWith(".class"))
relativeFileName += ".class";
Log.LOGN(4, "relative filename now = " + relativeFileName);
for (int i = 0; i < pathArray.length; i++) {
// Log.LOGN(3, "path array = " + pathArray[i]);
// Log.LOGN(3, "relativeFileName);
Log.LOGN(5, "pa=" + pathArray[ i ] + " " +
"rfa=" + relativeFileName );
FileReference path = FileReference.create(pathArray[i], relativeFileName);
if (path.exists()) {
Log.LOGN(4, " exists" );
return path;
}
}
return null;
|
|