On Mon, 2007-07-30 at 10:35 +0200, Alexey Loubyansky wrote:
This approach assumes that the component type can be determined with
TypeInfo[] types = typeInfo.getActualTypeArguments();
if (types != null)
elementType = types[0];
This won't work for this class
https://svn.jboss.org/repos/common/jbossxb-builder/trunk/src/test/java/or...
for which its super class should be checked for type arguments and the
component type is the second argument.
Well that's a more complicated use case.
I don't see why you can't make it work.
You've just got to locate where it the type hierarchy
and what paremeter the collection is.
I guess I'll need to specify the component type with an
annotation. But
it would be nice to have something like Class.getComponentType() to work
for generic collections too.
Perhaps we can add that to the ClassInfo model?
if (classInfo.isCollection())
typeInfo = classInfo.getComponentType();
and it would do all the hard work of locating the collection
definition and retrieving the type.
We could also do something similar for maps, i.e.
if (classInfo.isMap())
{
keyType = classInfo.getKeyType();
valueType = classInfo.getValueType();
}
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Adrian Brock
Chief Scientist
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx