added support for writing Fountains in js.Directory
[org.ibex.js.git] / src / org / ibex / js / Directory.java
index a44cc77..0a77f41 100644 (file)
@@ -5,6 +5,7 @@
 package org.ibex.js; 
 
 import org.ibex.util.*; 
+import org.ibex.io.*;
 import java.io.*;
 
 // FEATURE: support for move
@@ -69,7 +70,12 @@ public class Directory extends JS.Immutable {
             File f2 = new File(f.getAbsolutePath() + File.separatorChar + Encode.toFilename(key));
             destroy(f2);
             if (val == null) return;
-            if (val instanceof JSPrimitive) {
+            if (val instanceof org.ibex.io.Fountain) {
+                Stream stream = ((org.ibex.io.Fountain)val).getStream();
+                Stream out = new Stream(null, new FileOutputStream(f2));
+                stream.transcribe(out);
+                out.close();
+            } else if (val instanceof JSPrimitive) {
                 OutputStream out = new FileOutputStream(f2);
                 Writer w = new OutputStreamWriter(out);
                 w.write(JSU.toString(val));