Changeset 17
- Timestamp:
- 07/25/05 11:36:31 (3 years ago)
- Files:
-
- trunk/src/net/schst/XJConf/TagDefinition.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/net/schst/XJConf/TagDefinition.java
r16 r17 4 4 import java.lang.reflect.Method; 5 5 import java.util.ArrayList; 6 import java.util.HashSet; 7 import java.util.List; 8 import java.util.Set; 6 9 7 10 /** … … 292 295 childMethod = cl.getMethod(methodName, childParamTypes); 293 296 } catch (NoSuchMethodException e) { 294 Class interfaces[] = childValue.getClass().getInterfaces();297 Class interfaces[] = (Class[]) determineAllInterfaces(new ArrayList(), childValue.getClass()).toArray(new Class[0]); 295 298 for (int j = 0; j < interfaces.length; j++) { 296 299 try { … … 314 317 return instance; 315 318 } 319 320 private List determineAllInterfaces(List result, Class superClass) { 321 Class[] subclasses = superClass.getInterfaces(); 322 for (int i=0;i<subclasses.length;i++) { 323 Class inter = subclasses[i]; 324 result.add(inter); 325 determineAllInterfaces(result,inter); 326 } 327 return result; 328 } 329 330 316 331 }
