in tapestry-framework/src/org/apache/tapestry/enhance/javassist/OGNLExpressionCompiler.java [47:72]
public String getClassName(Class clazz)
{
if (IRender.class.isAssignableFrom(clazz) || Modifier.isPublic(clazz.getModifiers()))
return clazz.getName();
if (clazz.getName().equals("java.util.AbstractList$Itr"))
return Iterator.class.getName();
if (Modifier.isPublic(clazz.getModifiers()) && clazz.isInterface())
return clazz.getName();
Class[] intf = clazz.getInterfaces();
for (int i = 0; i < intf.length; i++)
{
if (intf[i].getName().indexOf("util.List") > 0)
return intf[i].getName();
else if (intf[i].getName().indexOf("Iterator") > 0)
return intf[i].getName();
}
if (clazz.getSuperclass() != null && clazz.getSuperclass().getInterfaces().length > 0)
return getClassName(clazz.getSuperclass());
return clazz.getName();
}