[jboss-cvs] JBossAS SVN: r104103 - in projects/jboss-mdr/trunk/src: test/java/org/jboss/test/metadata and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 20 17:28:11 EDT 2010
Author: alesj
Date: 2010-04-20 17:28:10 -0400 (Tue, 20 Apr 2010)
New Revision: 104103
Modified:
projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java
projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java
projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java
projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java
projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java
projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java
projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java
Log:
[JBMDR-68]; lazy loading of Signature.
Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -77,7 +77,7 @@
*/
public ConstructorParametersSignature(ConstructorInfo constructor, int param)
{
- super(param, convertParameterTypes(constructor.getParameterTypes()));
+ super(param, constructor.getParameterTypes());
}
/**
Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -74,7 +74,7 @@
*/
public ConstructorSignature(ConstructorInfo constructor)
{
- super(convertParameterTypes(constructor.getParameterTypes()));
+ super(constructor.getParameterTypes());
}
/**
Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -81,7 +81,7 @@
*/
public MethodParametersSignature(MethodInfo method, int param)
{
- super(method.getName(), param, convertParameterTypes(method.getParameterTypes()));
+ super(method.getName(), param, method.getParameterTypes());
}
/**
Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -76,7 +76,7 @@
*/
public MethodSignature(MethodInfo method)
{
- super(method.getName(), convertParameterTypes(method.getParameterTypes()));
+ super(method.getName(), method.getParameterTypes());
}
/**
Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -21,6 +21,8 @@
*/
package org.jboss.metadata.spi.signature;
+import org.jboss.reflect.spi.TypeInfo;
+
/**
* Parameters Signature.
*
@@ -60,6 +62,19 @@
/**
* Create a new Signature.
*
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ protected ParametersSignature(int param, TypeInfo... parameters)
+ {
+ super(parameters);
+ this.param = param;
+ checkParam();
+ }
+
+ /**
+ * Create a new Signature.
+ *
* @param name the name
* @param param the parameter number
* @param parameters the parameters
@@ -86,6 +101,20 @@
}
/**
+ * Create a new Signature.
+ *
+ * @param name the name
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ protected ParametersSignature(String name, int param, TypeInfo... parameters)
+ {
+ super(name, parameters);
+ this.param = param;
+ checkParam();
+ }
+
+ /**
* Get the param.
*
* @return the param.
Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -21,25 +21,16 @@
*/
package org.jboss.metadata.spi.signature;
-import java.lang.reflect.Array;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Member;
-import java.lang.reflect.Method;
-import java.util.Arrays;
+import java.lang.reflect.*;
import org.jboss.metadata.plugins.signature.SignatureNameUtil;
-import org.jboss.reflect.spi.ConstructorInfo;
-import org.jboss.reflect.spi.FieldInfo;
-import org.jboss.reflect.spi.MemberInfo;
-import org.jboss.reflect.spi.MethodInfo;
-import org.jboss.reflect.spi.PrimitiveInfo;
-import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.*;
/**
* Signature.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public class Signature
@@ -62,6 +53,9 @@
/** The parameter types */
private Class<?>[] parameterTypes;
+ /** The parameter type infos */
+ private TypeInfo[] parameterTypeInfos;
+
/** The cached hashcode */
private transient int cachedHashCode = Integer.MIN_VALUE;
@@ -201,8 +195,13 @@
/**
* Loads a class by name.
- *
+ *
* TODO A similar method exists in org.jboss.util.Classes ...
+ *
+ * @param cl the classloader
+ * @param name the class name
+ * @return loaded class
+ * @throws ClassNotFoundException if the class is not found
*/
private static Class<?> loadClass(ClassLoader cl, String name) throws ClassNotFoundException
{
@@ -297,6 +296,16 @@
/**
* Create a new Signature.
+ *
+ * @param parameters the parameters
+ */
+ public Signature(TypeInfo... parameters)
+ {
+ this(NO_NAME, parameters);
+ }
+
+ /**
+ * Create a new Signature.
*
* @param parameters the parameters
*/
@@ -329,8 +338,20 @@
/**
* Create a new Signature.
- *
+ *
* @param name the name
+ * @param parameters the parameters
+ */
+ public Signature(String name, TypeInfo... parameters)
+ {
+ this(name);
+ this.parameterTypeInfos = parameters;
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param name the name
* @param parameterTypes the parameterTypes
* @param parameters the parameters
*/
@@ -342,7 +363,7 @@
this.parameters = parameters;
this.parameterTypes = parameterTypes;
}
-
+
/**
* Returns the name.
*
@@ -360,8 +381,14 @@
*/
public String[] getParameters()
{
- if (parameters == null)
- parameters = classesToStrings(getParameterTypes());
+ boolean initParameters = parameters == NO_PARAMETERS || parameters == null;
+ if (initParameters)
+ {
+ if (parameterTypeInfos != null)
+ parameters = convertParameters(parameterTypeInfos);
+ else
+ parameters = classesToStrings(getParameterTypes());
+ }
return parameters;
}
@@ -372,6 +399,10 @@
*/
protected Class<?>[] getParameterTypes()
{
+ boolean initParameterTypes = parameterTypes == null || parameterTypes == NO_PARAMETER_TYPES;
+ if (initParameterTypes && parameterTypeInfos != null)
+ parameterTypes = convertParameterTypes(parameterTypeInfos);
+
return parameterTypes;
}
Modified: projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java
===================================================================
--- projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java 2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java 2010-04-20 21:28:10 UTC (rev 104103)
@@ -160,7 +160,7 @@
{
ClassInfo classInfo = configuration.getClassInfo(SignatureTester.class);
TypeInfo calendarTypeInfo = configuration.getTypeInfo(Calendar.class);
- return classInfo.getDeclaredConstructor(new TypeInfo[]{calendarTypeInfo});
+ return classInfo.getDeclaredConstructor(calendarTypeInfo);
}
protected Method getMethod() throws Exception
@@ -173,7 +173,7 @@
ClassInfo classInfo = configuration.getClassInfo(SignatureTester.class);
TypeInfo calendarTypeInfo = configuration.getTypeInfo(Calendar.class);
TypeInfo timeZoneTypeInfo = configuration.getTypeInfo(TimeZone.class);
- return classInfo.getDeclaredMethod("applyTimeZone", new TypeInfo[]{calendarTypeInfo, timeZoneTypeInfo});
+ return classInfo.getDeclaredMethod("applyTimeZone", calendarTypeInfo, timeZoneTypeInfo);
}
protected Field getField() throws Exception
More information about the jboss-cvs-commits
mailing list