org.luaj.vm2.lib.jme
Class JmeIoLib

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.jme.JmeIoLib

public class JmeIoLib
extends IoLib

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

The implementation of the is based on CLDC 1.0 and StreamConnection. However, seek is not supported.

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

 Globals globals = JmePlatform.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 JmeBaseLib());
 globals.load(new PackageLib());
 globals.load(new JmeIoLib());
 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, JseIoLib, 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
JmeIoLib()
           
 
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

JmeIoLib

public JmeIoLib()
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.