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.OneArgFunction
                      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()

To instantiate and use it directly, link it into your globals table via LuaValue.load(LuaValue) using code such as:

 LuaTable _G = new LuaTable();
 LuaThread.setGlobals(_G);
 _G.load(new BaseLib());
 _G.load(new PackageLib());
 _G.load(new JmeIoLib());
 _G.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));
  
Doing so will ensure the library is properly initialized and loaded into the globals table.

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, http://www.lua.org/manual/5.1/manual.html#5.6

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, IO_NAMES
 
Fields inherited from class org.luaj.vm2.lib.LibFunction
name, opcode
 
Fields inherited from class org.luaj.vm2.LuaFunction
env, s_metatable
 
Fields inherited from class org.luaj.vm2.LuaValue
ADD, CALL, CONCAT, DIV, EMPTYSTRING, 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 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.OneArgFunction
call, call, call, invoke
 
Methods inherited from class org.luaj.vm2.lib.LibFunction
bind, bind, newupe, newupl, newupn, tojstring
 
Methods inherited from class org.luaj.vm2.LuaFunction
checkfunction, getfenv, getmetatable, isfunction, optfunction, setfenv, type, typename
 
Methods inherited from class org.luaj.vm2.LuaValue
add, add, add, and, arg, arg1, argerror, argerror, aritherror, aritherror, arithmt, arithmtwith, assert_, buffer, callmt, checkboolean, checkclosure, checkdouble, checkint, checkinteger, checkjstring, checklong, checkmetatag, checknotnil, checknumber, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalidkey, compareerror, compareerror, comparemt, concat, concat, concatmt, concatTo, concatTo, concatTo, div, div, div, divInto, eq_b, eq, eqmtcall, equals, error, get, get, get, getn, gettable, gt_b, gt_b, gt_b, gt, gt, gt, gteq_b, gteq_b, gteq_b, gteq, gteq, gteq, illegal, inext, invoke, invoke, invoke, invoke, invoke, invokemethod, invokemethod, invokemethod, invokemethod, invokemethod, invokemethod, isboolean, isclosure, isint, isinttype, islong, isnil, isnumber, isstring, istable, isthread, isuserdata, isuserdata, isweaknil, len, lenerror, length, listOf, listOf, load, lt_b, lt_b, lt_b, lt, lt, lt, lteq_b, lteq_b, lteq_b, lteq, lteq, lteq, 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, rawset, rawset, rawset, rawset, rawset, rawset, rawset, rawsetlist, set, set, set, set, set, set, set, setmetatable, settable, strcmp, strcmp, strongkey, strongvalue, strvalue, sub, sub, sub, 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, subargs, 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

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-2008 Luaj.org. All Rights Reserved.