Mercurial Hosting > luan
comparison src/luan/Luan.java @ 1259:e8020216dee7
add Luan.to_luan and fix multipart/form-data
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 23 Sep 2018 17:58:40 -0600 |
parents | ce3279ef1bd9 |
children | 4b5b84853f6f |
comparison
equal
deleted
inserted
replaced
1258:e4d7a3114fa8 | 1259:e8020216dee7 |
---|---|
1 package luan; | 1 package luan; |
2 | 2 |
3 import java.lang.reflect.Array; | |
3 import java.util.List; | 4 import java.util.List; |
4 import java.util.ArrayList; | 5 import java.util.ArrayList; |
5 import java.util.Map; | 6 import java.util.Map; |
6 import java.util.LinkedHashMap; | 7 import java.util.LinkedHashMap; |
7 import java.util.Set; | 8 import java.util.Set; |
128 throws LuanException | 129 throws LuanException |
129 { | 130 { |
130 return load(text,sourceName,null); | 131 return load(text,sourceName,null); |
131 } | 132 } |
132 | 133 |
133 | 134 /* |
134 public static Object toLuan(Object obj) throws LuanException { | 135 public static Object toLuan(Object obj) throws LuanException { |
135 if( !type(obj).equals("java") ) | 136 if( !type(obj).equals("java") ) |
136 return obj; | 137 return obj; |
137 LuanTable tbl = new LuanTable(); | 138 LuanTable tbl = new LuanTable(); |
138 if( obj instanceof Map ) { | 139 if( obj instanceof Map ) { |
171 if( val != null ) | 172 if( val != null ) |
172 tbl.rawPut(i+1,toLuan(val)); | 173 tbl.rawPut(i+1,toLuan(val)); |
173 } | 174 } |
174 return tbl; | 175 return tbl; |
175 } | 176 } |
177 */ | |
176 | 178 |
177 public static Object toJava(Object obj) throws LuanException { | 179 public static Object toJava(Object obj) throws LuanException { |
178 if( !(obj instanceof LuanTable) ) | 180 if( !(obj instanceof LuanTable) ) |
179 return obj; | 181 return obj; |
180 LuanTable tbl = (LuanTable)obj; | 182 LuanTable tbl = (LuanTable)obj; |
198 public static LuanTable table(LuanTable v) throws LuanException { | 200 public static LuanTable table(LuanTable v) throws LuanException { |
199 Utils.checkNotNull(v); | 201 Utils.checkNotNull(v); |
200 return v; | 202 return v; |
201 } | 203 } |
202 | 204 |
205 public static LuanTable toTable(Object obj) { | |
206 if( obj == null ) | |
207 return null; | |
208 if( obj instanceof LuanTable ) | |
209 return (LuanTable)obj; | |
210 if( obj instanceof List ) { | |
211 return new LuanTable((List)obj); | |
212 } | |
213 if( obj instanceof Map ) { | |
214 return new LuanTable((Map)obj); | |
215 } | |
216 if( obj instanceof Set ) { | |
217 return new LuanTable((Set)obj); | |
218 } | |
219 Class cls = obj.getClass(); | |
220 if( cls.isArray() ) { | |
221 if( cls.getComponentType().isPrimitive() ) { | |
222 int len = Array.getLength(obj); | |
223 List list = new ArrayList(); | |
224 for( int i=0; i<len; i++ ) { | |
225 list.add(Array.get(obj,i)); | |
226 } | |
227 return new LuanTable(list); | |
228 } else { | |
229 Object[] a = (Object[])obj; | |
230 return new LuanTable(Arrays.asList(a)); | |
231 } | |
232 } | |
233 return null; | |
234 } | |
203 | 235 |
204 private Luan() {} // never | 236 private Luan() {} // never |
205 } | 237 } |