+++ /dev/null
-// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL]
-package org.ibex.js;
-
-import org.ibex.util.*;
-import java.util.*;
-import java.io.*;
-
-// FEATURE: Update for new api
-
-/** A JS interface to a Java '.properties' file; very crude */
-public class PropertyFile extends JS {
-
- /*private final Properties p = new Properties();
- private final Hash cache = new Hash(10, 3);
- private File f;
-
- private class Minion extends JS {
- private final String prefix;
- Minion(String prefix) { this.prefix = prefix; }
- public Number coerceToNumber() { return N(coerceToString()); }
- public Boolean coerceToBoolean() { return B(coerceToString().equals("true")); }
- public String coerceToString() { return (String)p.get(prefix.substring(0, prefix.length() - 1)); }
- public Enumeration keys() throws JSExn { throw new JSExn("PropertyFile.keys() not supported"); }
- public Object get(Object key) throws JSExn {
- if (toString(key).equals("")) return coerceToString();
- Object ret = p.get(prefix + escape(toString(key)));
- if (ret != null) return ret;
- return new Minion(prefix + escape(toString(key)) + ".");
- }
- public void put(Object key, Object val) throws JSExn {
- try {
- p.put(prefix + (prefix.equals("") ? "" : ".") + escape(toString(key)), toString(val));
- File fnew = new File(f.getName() + ".new");
- FileOutputStream fo = new FileOutputStream(fnew);
- p.save(fo, "");
- fo.close();
- fnew.renameTo(f);
- f = fnew;
- } catch (IOException e) { throw new JSExn(e); }
- }
- }
-
- public static String escape(String s) {
- return s.replaceAll("\\\\", "\\\\\\\\").replaceAll("\\.", "\\\\.").replaceAll("=","\\\\="); }
- public PropertyFile(File f) throws IOException { this.f = f; this.p.load(new FileInputStream(f)); }
- public void put(Object key, Object val) throws JSExn { new Minion("").put(key, val); }
- public Enumeration keys() throws JSExn { return new Minion("").keys(); }
- public Object get(Object key) throws JSExn {
- Object ret = p.get(toString(key));
- if (ret != null) return ret;
- return new Minion(escape(toString(key)));
- }*/
-}