Mercurial Hosting > luan
diff src/luan/modules/IoLuan.java @ 1181:51d1342e25ad
luanhost password handling
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 20 Feb 2018 19:50:30 -0700 |
parents | e54ae41e9501 |
children | 5d0cbd908582 |
line wrap: on
line diff
--- a/src/luan/modules/IoLuan.java Wed Feb 14 16:49:56 2018 -0700 +++ b/src/luan/modules/IoLuan.java Tue Feb 20 19:50:30 2018 -0700 @@ -59,8 +59,8 @@ public void close() throws IOException; } - public static LuanTable textWriter(final PrintStream out) { - LuanWriter luanWriter = new LuanWriter() { + private static LuanWriter luanWriter(final PrintStream out) { + return new LuanWriter() { public void write(LuanState luan,Object... args) throws LuanException { for( Object obj : args ) { @@ -72,11 +72,14 @@ out.close(); } }; - return writer(luanWriter); } - public static LuanTable textWriter(final Writer out) { - LuanWriter luanWriter = new LuanWriter() { + public static LuanTable textWriter(final PrintStream out) { + return writer(luanWriter(out)); + } + + private static LuanWriter luanWriter(final Writer out) { + return new LuanWriter() { public void write(LuanState luan,Object... args) throws LuanException, IOException { for( Object obj : args ) { @@ -88,7 +91,10 @@ out.close(); } }; - return writer(luanWriter); + } + + public static LuanTable textWriter(final Writer out) { + return writer(luanWriter(out)); } private static LuanTable writer(LuanWriter luanWriter) { @@ -340,6 +346,12 @@ return binaryWriter(new BufferedOutputStream(outputStream())); } + public void write_text(LuanState luan,Object... args) throws LuanException, IOException { + LuanWriter luanWriter = luanWriter(new BufferedWriter(new OutputStreamWriter(outputStream()))); + luanWriter.write(luan,args); + luanWriter.close(); + } + @Override public LuanTable table() { LuanTable tbl = super.table(); try { @@ -352,6 +364,9 @@ tbl.rawPut( "binary_writer", new LuanJavaFunction( LuanIO.class.getMethod( "binary_writer" ), this ) ); + tbl.rawPut( "write_text", new LuanJavaFunction( + LuanIO.class.getMethod( "write_text", LuanState.class, new Object[0].getClass() ), this + ) ); } catch(NoSuchMethodException e) { throw new RuntimeException(e); }