Mercurial Hosting > luan
comparison src/luan/LuanJavaFunction.java @ 157:1de3e4a6e82d
remove LuanJavaFunction.RTN_NUMBER_ARRAY;
add request.java and response.java;
convert java Object[] members to List;
let LuanState.eval() take env;
improve web_run.luan;
rename LuanParser.JspExpressions to TemplateExpressions and add TemplateStmt;
git-svn-id: https://luan-java.googlecode.com/svn/trunk@158 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Wed, 18 Jun 2014 21:07:11 +0000 |
parents | 0594c132888b |
children |
comparison
equal
deleted
inserted
replaced
156:925ba2d59b9d | 157:1de3e4a6e82d |
---|---|
169 @Override public Object convert(Object obj) { | 169 @Override public Object convert(Object obj) { |
170 return obj; | 170 return obj; |
171 } | 171 } |
172 }; | 172 }; |
173 | 173 |
174 private static final RtnConverter RTN_NUMBER_ARRAY = new RtnConverter() { | |
175 @Override public Object convert(Object obj) { | |
176 if( obj == null ) | |
177 return null; | |
178 Object[] rtn = new Object[Array.getLength(obj)]; | |
179 for( int i=0; i<rtn.length; i++ ) { | |
180 rtn[i] = Array.get(obj,i); | |
181 } | |
182 return rtn; | |
183 } | |
184 }; | |
185 | |
186 private static RtnConverter getRtnConverter(JavaMethod m) { | 174 private static RtnConverter getRtnConverter(JavaMethod m) { |
187 Class<?> rtnType = m.getReturnType(); | 175 Class<?> rtnType = m.getReturnType(); |
188 if( rtnType == Void.TYPE ) | 176 if( rtnType == Void.TYPE ) |
189 return RTN_NOTHING; | 177 return RTN_NOTHING; |
190 if( rtnType.isArray() && isNumber(rtnType.getComponentType()) ) | |
191 return RTN_NUMBER_ARRAY; | |
192 return RTN_SAME; | 178 return RTN_SAME; |
193 } | 179 } |
194 | 180 |
195 private static boolean isNumber(Class<?> rtnType) { | 181 private static boolean isNumber(Class<?> rtnType) { |
196 return rtnType == Short.TYPE | 182 return rtnType == Short.TYPE |