/** Load a directory as if it were an archive */
public static synchronized void loadDirectory(File dir) throws IOException { loadDirectory(dir, ""); }
private static synchronized void loadDirectory(File dir, String prefix) throws IOException {
- new Static(prefix.replace(File.separatorChar, '.'));
+ String n = prefix.replace(File.separatorChar, '.');
+ if (n.endsWith(".")) n = n.substring(0, n.length() - 1);
+ new Static(n);
String[] subfiles = dir.list();
for(int i=0; i<subfiles.length; i++) {
if (subfiles[i].equals("CVS") || !validResourceName(subfiles[i])) continue;
/** Load an archive from an inputstream. */
public static synchronized void loadArchive(InputStream is) throws IOException { loadArchive(is, 0, null); }
- public static synchronized void loadArchive(InputStream is, final int length, final JS.Function callback) throws IOException {
+ public static synchronized void loadArchive(InputStream is, final int length, final JS.Callable callback) throws IOException {
// random placeholder
Object thisArchive = new Object();
int ret = super.read(b, off, len);
if (clear && callback != null) {
clear = false;
- ThreadMessage.newthread(new JS.Function() {
- public Object _call(JS.Array args_) throws JS.Exn {
+ ThreadMessage.newthread(new JS.Callable() {
+ public Object call(Array args_) throws JS.Exn {
try {
- JS.Array args = new JS.Array();
+ Array args = new Array();
args.addElement(new Double(bytesDownloaded));
args.addElement(new Double(length));
callback.call(args);