Mercurial Hosting > luan
diff core/src/luan/LuanPropertyMeta.java @ 413:8937263f59f6
add __pairs;
add back HttpServicer.get_parameter_values;
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 29 Apr 2015 19:01:18 -0600 |
parents | 1b38de2b1845 |
children | ce8e19567911 |
line wrap: on
line diff
--- a/core/src/luan/LuanPropertyMeta.java Wed Apr 29 16:28:18 2015 -0600 +++ b/core/src/luan/LuanPropertyMeta.java Wed Apr 29 19:01:18 2015 -0600 @@ -1,7 +1,10 @@ package luan; +import java.util.Map; +import java.util.Iterator; -public class LuanPropertyMeta extends LuanMeta implements DeepCloneable<LuanPropertyMeta> { + +public final class LuanPropertyMeta extends LuanMeta implements DeepCloneable<LuanPropertyMeta> { private LuanTable getters; private LuanTable setters; @@ -41,6 +44,23 @@ return luan.call(fn); } + @Override protected Iterator keys() { + return new Iterator() { + final Iterator<Map.Entry<Object,Object>> iter = getters.iterator(); + + @Override public boolean hasNext() { + return iter.hasNext(); + } + @Override public Object next() { + return iter.next().getKey(); + } + @Override public void remove() { + throw new UnsupportedOperationException(); + } + }; + } + + @Override public boolean canNewindex() { return true; }