wrap lua object into java object

- to ease handling wrap lua object to java object
This commit is contained in:
philippe lhardy
2020-11-04 13:39:04 +01:00
parent 9355fd8b6d
commit 6402766371
6 changed files with 67 additions and 2 deletions

View File

@@ -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