forked from jasonsantos/luajava
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
tuler
committed
Nov 16, 2005
1 parent
bdba8e7
commit 3aa499e
Showing
6 changed files
with
744 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | ||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
<html> | ||
<head> | ||
<title> | ||
LuaJava - ferramenta de scripts para Java</title> <link rel="stylesheet" href="http://www.keplerproject.org/doc.css" type="text/css"/> | ||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | ||
</head> | ||
|
||
<body> | ||
|
||
<div id="container"> | ||
|
||
<div id="product"> | ||
<div id="product_logo"><a href="http://www.keplerproject.org"><img alt="LuaJava" src="luajava_128.png"/></a></div> | ||
<div id="product_name"><big><b>LuaJava</b></big></div> | ||
<div id="product_description">Ferramenta de scripts para Java</div> | ||
</div> <!-- id="product" --> | ||
|
||
<div id="main"> | ||
<div id="navigation"> | ||
|
||
<h1>LuaJava</h1> | ||
<ul> | ||
<li><a href="index.html">Início</a> | ||
<ul> | ||
<li><a href="index.html#overview">Visão geral</a></li> | ||
<li><a href="index.html#status">Status</a></li> | ||
<li><a href="index.html#download">Download</a></li> | ||
<li><a href="index.html#credits">Créditos</a></li> | ||
<li><a href="index.html#contact">Fale conosco</a></li> | ||
</ul> | ||
</li> | ||
<li><a href="manual.html">Manual</a> | ||
<ul> | ||
<li><a href="manual.html#compile">Compilação</a></li> | ||
<li><a href="manual.html#install">Instalação</a></li> | ||
<li><a href="manual.html#console">Console Java</a></li> | ||
<li><a href="manual.html#luareference">Referência de Lua</a></li> | ||
<li><a href="manual.html#javareference">Referência de Java</a></li> | ||
</ul> | ||
</li> | ||
<li><strong>Exemplos</strong></li> | ||
<li><a href="history.html">Histórico</a></li> | ||
<li><a href="license.html">Licença</a></li> | ||
<li><a href="http://luaforge.net/projects/luajava/">Projeto LuaForge</a></li> | ||
</ul> | ||
</div> <!-- id="navigation" --> | ||
|
||
<div id="content"> | ||
|
||
<h2>Exemplos</h2> | ||
|
||
<h4>Olá Mundo usando LuaJava</h4> | ||
|
||
<p>Este exemplo é um aplicativo simples Olá Mundo que usa o LuaJava para imprimir de Lua e Java.</p> | ||
|
||
<p><code>Hello.java</code></p> | ||
<pre class="example">public class Hello | ||
{ | ||
public static void main(String[] args) | ||
{ | ||
LuaState L = LuaStateFactory.newLuaState(); | ||
L.openBasicLibraries(); | ||
|
||
L.doFile("hello.lua"); | ||
|
||
System.out.println("Olá Mundo de Java!"); | ||
} | ||
} | ||
</pre> | ||
|
||
<p><code>hello.lua</code></p> | ||
|
||
<pre class="example">print("Olá Mundo de Lua!") | ||
</pre> | ||
|
||
<h4>Acesso a um banco de dados</h4> | ||
|
||
<p>Este exemplo usa o Java JDBC para acessar um banco de dados a partir de Lua.</p> | ||
|
||
<p><code>TestJDBC.java</code></p> | ||
<pre class="example">public class TestJDBC | ||
{ | ||
|
||
public static void main(String[] args) throws Exception | ||
{ | ||
// obtém uma java.sql.Connection e cria uma instrução | ||
|
||
Class.forName("org.hsqldb.jdbcDriver"); | ||
Connection con = DriverManager.getConnection( | ||
"jdbc:hsqldb:hsql://localhost:9002", | ||
"sa", ""); | ||
Statement st = con.createStatement(); | ||
|
||
try | ||
{ | ||
st.execute("DROP TABLE luatest"); | ||
} | ||
catch (Exception ignore) {} | ||
|
||
st.execute([[CREATE TABLE luatest | ||
(id int not null primary key, | ||
str varchar, number double)]]); | ||
|
||
for(int i = 0 ; i < 10 ; i++) | ||
{ | ||
st.executeUpdate( | ||
"INSERT INTO luatest (id, str, number) values(" + | ||
i + ", '" + 2*i + "', " + | ||
System.currentTimeMillis() + ")"); | ||
} | ||
|
||
// cria um estado Lua e registra as bibliotecas básicas | ||
|
||
LuaState L = LuaStateFactory.newLuaState(); | ||
L.openBasicLibraries(); | ||
|
||
// registra a instrução no 'st' global | ||
|
||
L.pushString("st"); | ||
L.pushObjectValue(st); | ||
L.setGlobal(); | ||
|
||
// executa o arquivo testJDBC.lua | ||
|
||
int err = L.doFile("testJDBC.lua"); | ||
|
||
L.close(); | ||
st.close(); | ||
con.close(); | ||
} | ||
} | ||
</pre> | ||
|
||
|
||
<p><code>testJDBC.lua</code></p> | ||
<pre class="example">do | ||
-- testa se a instrução do objeto é nil | ||
if st == nil then | ||
print("Erro. Objeto st é nil") | ||
return | ||
end | ||
|
||
local st = st | ||
_G.st = nil | ||
|
||
function createSQLProxy(t) | ||
|
||
local tableName = t | ||
|
||
local function i (t,k) | ||
|
||
local id = tonumber(k) | ||
if not id then | ||
return nil | ||
end | ||
|
||
local function mi (t,k) | ||
|
||
local sql = "select "..k.." from ".. | ||
tableName.." where id="..id | ||
local rs = st:executeQuery(sql) | ||
if not rs:next() then | ||
rs:close() | ||
return nil | ||
end | ||
|
||
local res = rs:getString(1) | ||
rs:close() | ||
|
||
return res | ||
end | ||
|
||
local res = {} | ||
setmetatable(res, {__index = mi}) | ||
return res | ||
end | ||
|
||
local res = {} | ||
setmetatable(res, {__index = mi}) | ||
return res | ||
end | ||
|
||
end | ||
|
||
|
||
proxy = createSQLProxy("luatest") | ||
|
||
print(proxy[1].str) | ||
print(proxy[1].number) | ||
|
||
</pre> | ||
|
||
</div> <!-- id="content" --> | ||
|
||
</div> <!-- id="main" --> | ||
|
||
|
||
<div id="about"> | ||
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="XHTML 1.0 válido!" height="31" width="88" /></a></p> | ||
</div> <!-- id="about" --> | ||
|
||
</div> <!-- id="container" --> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | ||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
<html> | ||
<head> | ||
<title> | ||
LuaJava - ferramenta de scripts para Java</title> <link rel="stylesheet" href="http://www.keplerproject.org/doc.css" type="text/css"/> | ||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | ||
</head> | ||
|
||
<body> | ||
|
||
<div id="container"> | ||
|
||
<div id="product"> | ||
<div id="product_logo"><a href="http://www.keplerproject.org"><img alt="LuaJava" src="luajava_128.png"/></a></div> | ||
<div id="product_name"><big><b>LuaJava</b></big></div> | ||
<div id="product_description">Ferramenta de scripts para Java</div> | ||
</div> <!-- id="product" --> | ||
|
||
<div id="main"> | ||
<div id="navigation"> | ||
|
||
<h1>LuaJava</h1> | ||
<ul> | ||
<li><a href="index.html">Início</a> | ||
<ul> | ||
<li><a href="index.html#overview">Visão geral</a></li> | ||
<li><a href="index.html#status">Status</a></li> | ||
<li><a href="index.html#download">Download</a></li> | ||
<li><a href="index.html#credits">Créditos</a></li> | ||
<li><a href="index.html#contact">Fale conosco</a></li> | ||
</ul> | ||
</li> | ||
<li><a href="manual.html">Manual</a> | ||
<ul> | ||
<li><a href="manual.html#compile">Compilação</a></li> | ||
<li><a href="manual.html#install">Instalação</a></li> | ||
<li><a href="manual.html#console">Console Java</a></li> | ||
<li><a href="manual.html#luareference">Referência de Lua</a></li> | ||
<li><a href="manual.html#javareference">Referência de Java</a></li> | ||
</ul> | ||
</li> | ||
<li><a href="examples.html">Exemplos</a></li> | ||
<li><strong>Histórico</strong></li> | ||
<li><a href="license.html">Licença</a></li> | ||
<li><a href="http://luaforge.net/projects/luajava/">Projeto LuaForge</a></li> | ||
</ul> | ||
</div> <!-- id="navigation" --> | ||
|
||
<div id="content"> | ||
|
||
<h2><a name="history"></a>Histórico</h2> | ||
|
||
<dl class="history"> | ||
<dt><strong>1.0</strong> [22/jun/2005]</dt> | ||
<dd> | ||
<ul> | ||
<li>aperfeiçoamento do tratamento de erros;</li> | ||
<li>abandonada a compatibilidade com JDK 1.3;</li> | ||
<li>binários do Windows compatíveis com o LuaBinaries Release 2.</li> | ||
<li>novo formato da documentação.</li> | ||
</ul> | ||
</dd> | ||
<dt><strong>1.0 Beta 4</strong> [21/jan/2005]</dt> | ||
<dd> | ||
<ul> | ||
<li>pacote renomeado como "org.keplerproject.luajava";</li> | ||
<li>LuaObject.getLuaState passou a ser público;</li> | ||
<li>nova função LuaObject.type();</li> | ||
<li>JavaFunction.foo() renomeado como JavaFunction.execute();</li> | ||
<li>método chamado por javaLoadLib passa a poder retornar um int.</li> | ||
</ul> | ||
</dd> | ||
<dt><strong>1.0 Beta 3</strong> [21/set/2004]</dt> | ||
<dd> | ||
<ul> | ||
<li>nova função em lua luajava.loadLib, que abre bibliotecas para Lua escritas em Java;</li> | ||
<li>função LuaState.setGlobal passa a aceitar String, para funcionar como Lua setglobal;</li> | ||
<li>JavaFunction.foo() gera uma LuaException;</li> | ||
<li>nova função LuaState.pushString(byte[]);</li> | ||
<li>Problemas na vinculação de algumas funções de lua ao Java;</li> | ||
<li>correções de pequenos problemas.</li> | ||
</ul> | ||
</dd> | ||
<dt><strong>1.0 Beta 2</strong> [07/jul/2004]</dt> | ||
<dd> | ||
<ul> | ||
<li>passa a oferecer suporte a vários threads;</li> | ||
<li>nova função LuaState.close() que deve ser chamada para fechar o estado;</li> | ||
<li>LuaState não tinha algumas funções;</li> | ||
<li>correções de vários problemas.</li> | ||
</ul> | ||
</dd> | ||
<dt><strong>1.0 Beta 1</strong> [28/jun/2004]</dt> | ||
</dl> | ||
|
||
</div> <!-- id="content" --> | ||
|
||
</div> <!-- id="main" --> | ||
|
||
|
||
<div id="about"> | ||
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="XHTML 1.0 válido!" height="31" width="88" /></a></p> | ||
</div> <!-- id="about" --> | ||
|
||
</div> <!-- id="container" --> | ||
|
||
</body> | ||
</html> |
Oops, something went wrong.