[jboss-svn-commits] JBoss Common SVN: r2647 - in jbossxb/trunk/src/main/java/org/jboss/xb: builder and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 23 20:22:40 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-23 20:22:40 -0400 (Tue, 23 Oct 2007)
New Revision: 2647
Modified:
jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java
jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
Log:
Add an elementType to the JBossXmlCollection annotation
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java 2007-10-22 14:06:25 UTC (rev 2646)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/annotations/JBossXmlCollection.java 2007-10-24 00:22:40 UTC (rev 2647)
@@ -41,4 +41,5 @@
public @interface JBossXmlCollection
{
Class<? extends java.util.Collection> type() default java.util.ArrayList.class;
+ Class elementType() default java.lang.Void.class;
}
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java 2007-10-22 14:06:25 UTC (rev 2646)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/builder/JBossXBNoSchemaBuilder.java 2007-10-24 00:22:40 UTC (rev 2647)
@@ -1198,7 +1198,11 @@
{
memberPropertyHandler = new CollectionPropertyHandler(memberProp, memberTypeInfo);
isCol = true;
- memberTypeInfo = findComponentType((ClassInfo) memberTypeInfo);
+ JBossXmlCollection xmlCol = memberProp.getUnderlyingAnnotation(JBossXmlCollection.class);
+ if(xmlCol != null && xmlCol.elementType() != Void.class)
+ memberTypeInfo = JBossXBBuilder.configuration.getTypeInfo(xmlCol.elementType());
+ else
+ memberTypeInfo = findComponentType((ClassInfo) memberTypeInfo);
}
else
{
@@ -1465,7 +1469,12 @@
{
isCol = true;
propertyHandler = new CollectionPropertyHandler(property, propertyType);
- ClassInfo typeArg = (ClassInfo) findComponentType(property);
+ ClassInfo typeArg = null;
+ JBossXmlCollection xmlCol = property.getUnderlyingAnnotation(JBossXmlCollection.class);
+ if(xmlCol != null && xmlCol.elementType() != Void.class)
+ typeArg = (ClassInfo) JBossXBBuilder.configuration.getTypeInfo(xmlCol.elementType());
+ else
+ typeArg = (ClassInfo) findComponentType(property);
//if (((ClassInfo) typeArg).getUnderlyingAnnotation(XmlType.class) != null)
if (typeArg != null && typeArg.getUnderlyingAnnotation(JBossXmlModelGroup.class) == null)
More information about the jboss-svn-commits
mailing list