wrap lua object into java object
- to ease handling wrap lua object to java object
This commit is contained in:
@@ -14,4 +14,9 @@ extends LuaObject {
|
||||
public String toString() {
|
||||
return "" + number ;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object wrapToJava() {
|
||||
return new Integer(number);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
package org.artisanlogiciel.lua;
|
||||
|
||||
public class LuaObject {
|
||||
|
||||
public Object wrapToJava()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.artisanlogiciel.lua;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
public class LuaSequence
|
||||
extends LuaObject{
|
||||
@@ -19,7 +18,45 @@ extends LuaObject{
|
||||
System.err.println("adding null tuple");
|
||||
}
|
||||
items.add(object);
|
||||
}
|
||||
|
||||
public boolean isMap()
|
||||
{
|
||||
return ( items.get(0) instanceof LuaTuple );
|
||||
}
|
||||
|
||||
public HashMap<String,Object> wrapTodHashMap()
|
||||
{
|
||||
HashMap<String,Object> map = new HashMap<>(items.size());
|
||||
|
||||
for ( LuaObject item : items)
|
||||
{
|
||||
if (item instanceof LuaTuple )
|
||||
{
|
||||
LuaTuple tuple = (LuaTuple) item;
|
||||
tuple.addInMap(map);
|
||||
}
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public List<Object> wrapToList()
|
||||
{
|
||||
List<Object> list = new ArrayList<>() ;
|
||||
for ( LuaObject item : items)
|
||||
{
|
||||
if ( ! (item instanceof LuaTuple ) )
|
||||
{
|
||||
list.add(item.wrapToJava());
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object wrapToJava() {
|
||||
return isMap() ? wrapTodHashMap() : wrapToList();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,6 +10,11 @@ public class LuaString
|
||||
string = stringBuffer.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object wrapToJava() {
|
||||
return string;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return '"' + string + '"' ;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.artisanlogiciel.lua;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class LuaTuple
|
||||
@@ -19,6 +20,16 @@ public class LuaTuple
|
||||
return item;
|
||||
}
|
||||
|
||||
public String addInMap(HashMap<String,Object> map)
|
||||
{
|
||||
String key = items.get(0).toString();
|
||||
Object value = items.get(1);
|
||||
|
||||
map.put(key,value);
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
|
||||
@@ -221,6 +221,8 @@ public class Parser {
|
||||
if ( result != null )
|
||||
{
|
||||
System.out.println(result.toString());
|
||||
Object we = result.wrapToJava();
|
||||
System.out.println(we);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user