org.luaj.vm2.lib.jse
Class JseIoLib

java.lang.Object
  extended by org.luaj.vm2.Varargs
      extended by org.luaj.vm2.LuaValue
          extended by org.luaj.vm2.LuaFunction
              extended by org.luaj.vm2.lib.LibFunction
                  extended by org.luaj.vm2.lib.TwoArgFunction
                      extended by org.luaj.vm2.lib.IoLib
                          extended by org.luaj.vm2.lib.jse.JseIoLib

public class JseIoLib
extends IoLib

Subclass of IoLib and therefore LibFunction which implements the lua standard io library for the JSE platform.

It uses RandomAccessFile to implement seek on files.

Typically, this library is included as part of a call to JsePlatform.standardGlobals()

 Globals globals = JsePlatform.standardGlobals();
 globals.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));
  

For special cases where the smallest possible footprint is desired, a minimal set of libraries could be loaded directly via LuaValue.load(LuaValue) using code such as:

 Globals globals = new Globals();
 globals.load(new JseBaseLib());
 globals.load(new PackageLib());
 globals.load(new JseIoLib());
 globals.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));
  

However, other libraries such as MathLib are not loaded in this case.

This has been implemented to match as closely as possible the behavior in the corresponding library in C.

See Also:
LibFunction, JsePlatform, JmePlatform, IoLib, JmeIoLib, Lua 5.2 I/O Lib Reference

Nested Class Summary
 
Nested classes/interfaces inherited from class org.luaj.vm2.lib.IoLib
IoLib.File
 
Field Summary
 
Fields inherited from class org.luaj.vm2.lib.IoLib
FILE_NAMES, FTYPE_NAMED, FTYPE_STDERR, FTYPE_STDIN, FTYPE_STDOUT, globals, IO_NAMES
 
Fields inherited from class org.luaj.vm2.lib.LibFunction
name, opcode
 
Fields inherited from class org.luaj.vm2.LuaFunction
s_metatable
 
Fields inherited from class org.luaj.vm2.LuaValue
ADD, CALL, CONCAT, DIV, EMPTYSTRING, ENV, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, NILS, NONE, NOVALS, ONE, POW, SUB, TBOOLEAN, TFUNCTION, TINT, TLIGHTUSERDATA, TNIL, TNONE, TNUMBER, TOSTRING, TRUE, TSTRING, TTABLE, TTHREAD, TUSERDATA, TVALUE, TYPE_NAMES, UNM, ZERO
 
Constructor Summary
JseIoLib()
           
 
Method Summary
protected  IoLib.File openFile(java.lang.String filename, boolean readMode, boolean appendMode, boolean updateMode, boolean binaryMode)
          Open a file in a particular mode.
protected  IoLib.File openProgram(java.lang.String prog, java.lang.String mode)
          Start a new process and return a file for input or output
protected  IoLib.File tmpFile()
          Open a temporary file.
protected  IoLib.File wrapStderr()
          Wrap the standard error output.
protected  IoLib.File wrapStdin()
          Wrap the standard input.
protected  IoLib.File wrapStdout()
          Wrap the standard output.
 
Methods inherited from class org.luaj.vm2.lib.IoLib
_file_close, _file_flush, _file_lines, _file_read, _file_seek, _file_setvbuf, _file_write, _io_close, _io_flush, _io_index, _io_input, _io_lines, _io_open, _io_output, _io_popen, _io_read, _io_tmpfile, _io_type, _io_write, _lines_iter, call, freadall, freadbytes, freadline, freadnumber, freaduntil
 
Methods inherited from class org.luaj.vm2.lib.TwoArgFunction
call, call, call, invoke
 
Methods inherited from class org.luaj.vm2.lib.LibFunction
bind, bind, call, newupe, newupl, newupn, tojstring
 
Methods inherited from class org.luaj.vm2.LuaFunction
checkfunction, classnamestub, getmetatable, isfunction, name, optfunction, strvalue, type, typename
 
Methods inherited from class org.luaj.vm2.LuaValue
add, add, add, and, arg, arg1, argerror, argerror, aritherror, aritherror, arithmt, arithmtwith, assert_, buffer, call, callmt, checkboolean, checkclosure, checkdouble, checkglobals, checkint, checkinteger, checkjstring, checklong, checkmetatag, checknotnil, checknumber, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, compareerror, compareerror, comparemt, concat, concat, concatmt, concatTo, concatTo, concatTo, div, div, div, divInto, eq_b, eq, eqmtcall, equals, error, get, get, get, gettable, gt_b, gt_b, gt_b, gt, gt, gt, gteq_b, gteq_b, gteq_b, gteq, gteq, gteq, illegal, inext, initupvalue1, invoke, invoke, invoke, invoke, invoke, invokemethod, invokemethod, invokemethod, invokemethod, invokemethod, invokemethod, isboolean, isclosure, isint, isinttype, islong, isnil, isnumber, isstring, istable, isthread, isuserdata, isuserdata, isvalidkey, len, lenerror, length, listOf, listOf, load, lt_b, lt_b, lt_b, lt, lt, lt, lteq_b, lteq_b, lteq_b, lteq, lteq, lteq, metatableOf, metatag, method, method, method, method, method, method, mod, mod, mod, modFrom, mul, mul, mul, narg, neg, neq_b, neq, next, not, onInvoke, optboolean, optclosure, optdouble, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, or, pow, pow, pow, powWith, powWith, presize, raweq, raweq, raweq, raweq, raweq, rawget, rawget, rawget, rawlen, rawset, rawset, rawset, rawset, rawset, rawset, rawset, rawsetlist, set, set, set, set, set, set, set, setmetatable, settable, strcmp, strcmp, strongvalue, sub, sub, sub, subargs, subFrom, subFrom, tableOf, tableOf, tableOf, tableOf, tableOf, tableOf, tailcallOf, testfor_b, toboolean, tobyte, tochar, todouble, tofloat, toint, tolong, tonumber, toshort, tostring, toString, touserdata, touserdata, typerror, unimplemented, userdataOf, userdataOf, valueOf, valueOf, valueOf, valueOf, valueOf, valueOf, varargsOf, varargsOf, varargsOf, varargsOf, varargsOf, varargsOf
 
Methods inherited from class org.luaj.vm2.Varargs
argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, eval, isfunction, isnil, isnoneornil, isnumber, isstring, istable, isTailcall, isthread, isuserdata, isvalue, optboolean, optclosure, optdouble, optfunction, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, toboolean, tobyte, tochar, todouble, tofloat, toint, tojstring, tolong, toshort, touserdata, touserdata, type
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JseIoLib

public JseIoLib()
Method Detail

wrapStdin

protected IoLib.File wrapStdin()
                        throws java.io.IOException
Description copied from class: IoLib
Wrap the standard input.

Specified by:
wrapStdin in class IoLib
Returns:
File
Throws:
java.io.IOException

wrapStdout

protected IoLib.File wrapStdout()
                         throws java.io.IOException
Description copied from class: IoLib
Wrap the standard output.

Specified by:
wrapStdout in class IoLib
Returns:
File
Throws:
java.io.IOException

wrapStderr

protected IoLib.File wrapStderr()
                         throws java.io.IOException
Description copied from class: IoLib
Wrap the standard error output.

Specified by:
wrapStderr in class IoLib
Returns:
File
Throws:
java.io.IOException

openFile

protected IoLib.File openFile(java.lang.String filename,
                              boolean readMode,
                              boolean appendMode,
                              boolean updateMode,
                              boolean binaryMode)
                       throws java.io.IOException
Description copied from class: IoLib
Open a file in a particular mode.

Specified by:
openFile in class IoLib
readMode - true if opening in read mode
appendMode - true if opening in append mode
updateMode - true if opening in update mode
binaryMode - true if opening in binary mode
Returns:
File object if successful
Throws:
java.io.IOException - if could not be opened

openProgram

protected IoLib.File openProgram(java.lang.String prog,
                                 java.lang.String mode)
                          throws java.io.IOException
Description copied from class: IoLib
Start a new process and return a file for input or output

Specified by:
openProgram in class IoLib
Parameters:
prog - the program to execute
mode - "r" to read, "w" to write
Returns:
File to read to or write from
Throws:
java.io.IOException - if an i/o exception occurs

tmpFile

protected IoLib.File tmpFile()
                      throws java.io.IOException
Description copied from class: IoLib
Open a temporary file.

Specified by:
tmpFile in class IoLib
Returns:
File object if successful
Throws:
java.io.IOException - if could not be opened


Copyright © 2007-2015 Luaj.org. All Rights Reserved.