Mercurial Hosting > luan
comparison core/src/luan/LuanTableImpl.java @ 364:1a464e090538 0.3
simplify table code
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 16 Apr 2015 11:51:21 -0600 |
parents | 1bce334a816b |
children | 5e0acdeaea93 |
comparison
equal
deleted
inserted
replaced
363:17b02b56d806 | 364:1a464e090538 |
---|---|
19 private List<Object> list = null; | 19 private List<Object> list = null; |
20 private LuanTable metatable = null; | 20 private LuanTable metatable = null; |
21 private boolean hasJava = false; | 21 private boolean hasJava = false; |
22 | 22 |
23 public LuanTableImpl() {} | 23 public LuanTableImpl() {} |
24 /* | 24 |
25 public LuanTableImpl(LuanTableImpl tbl) { | |
26 if( tbl.map != null ) | |
27 this.map = newMap(tbl.map); | |
28 if( tbl.list != null ) | |
29 this.list = new ArrayList<Object>(tbl.list); | |
30 } | |
31 */ | |
32 LuanTableImpl(List<Object> list) { | 25 LuanTableImpl(List<Object> list) { |
33 this.list = list; | 26 this.list = list; |
34 this.map = newMap(); | 27 this.map = newMap(); |
35 map.put("n",list.size()); | 28 map.put("n",list.size()); |
36 for( int i=0; i<list.size(); i++ ) { | 29 for( int i=0; i<list.size(); i++ ) { |
84 return map==null || map.isEmpty(); | 77 return map==null || map.isEmpty(); |
85 } | 78 } |
86 | 79 |
87 @Override public List<Object> asList() { | 80 @Override public List<Object> asList() { |
88 return list!=null ? list : Collections.emptyList(); | 81 return list!=null ? list : Collections.emptyList(); |
89 } | |
90 | |
91 @Override public Map<Object,Object> asMap() { | |
92 if( list == null || list.isEmpty() ) | |
93 return map(); | |
94 Map<Object,Object> rtn = map!=null ? newMap(map) : newMap(); | |
95 for( ListIterator iter = list.listIterator(); iter.hasNext(); ) { | |
96 int i = iter.nextIndex(); | |
97 rtn.put(i+1,iter.next()); | |
98 } | |
99 return rtn; | |
100 } | 82 } |
101 | 83 |
102 @Override protected Map<Object,Object> map() { | 84 @Override protected Map<Object,Object> map() { |
103 return map!=null ? map : Collections.emptyMap(); | 85 return map!=null ? map : Collections.emptyMap(); |
104 } | 86 } |