New org.apache.juneau.reflect package.
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java
index 50857fa..223daed 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Body.java
@@ -74,7 +74,7 @@
@Test
public void a03_basic_onParameter() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Body.class, mpi).noValidate().build();
assertTrue(s.isRequired());
}
@@ -95,7 +95,7 @@
@Test
public void a04_basic_onParameterAndClass() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A02.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A02.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Body.class, mpi).noValidate().build();
assertTrue(s.isRequired());
}
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java
index 393e5ff..6c0c14a 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_FormData.java
@@ -136,7 +136,7 @@
@Test
public void a03_basic_onParameter() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(FormData.class, mpi).noValidate().build();
assertEquals("x", s.getName());
assertEquals(HttpPartSchema.Type.NUMBER, s.getType());
@@ -193,7 +193,7 @@
@Test
public void a04_basic_onParameterAndClass() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(FormData.class, mpi).noValidate().build();
assertEquals("y", s.getName());
assertEquals(HttpPartSchema.Type.INTEGER, s.getType());
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java
index c5a4bbc..a8a40d9 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Header.java
@@ -136,7 +136,7 @@
@Test
public void a03_basic_onParameter() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Header.class, mpi).noValidate().build();
assertEquals("x", s.getName());
assertEquals(HttpPartSchema.Type.NUMBER, s.getType());
@@ -193,7 +193,7 @@
@Test
public void a04_basic_onParameterAndClass() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Header.class, mpi).noValidate().build();
assertEquals("y", s.getName());
assertEquals(HttpPartSchema.Type.INTEGER, s.getType());
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java
index 82dfeed..67fc14a 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Path.java
@@ -118,7 +118,7 @@
@Test
public void a03_basic_onParameter() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Path.class, mpi).noValidate().build();
assertEquals("x", s.getName());
assertEquals(HttpPartSchema.Type.NUMBER, s.getType());
@@ -163,7 +163,7 @@
@Test
public void a04_basic_onParameterAndClass() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Path.class, mpi).noValidate().build();
assertEquals("y", s.getName());
assertEquals(HttpPartSchema.Type.INTEGER, s.getType());
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java
index 41d1cef..8c5e750 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_Query.java
@@ -136,7 +136,7 @@
@Test
public void a03_basic_onParameter() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Query.class, mpi).noValidate().build();
assertEquals("x", s.getName());
assertEquals(HttpPartSchema.Type.NUMBER, s.getType());
@@ -193,7 +193,7 @@
@Test
public void a04_basic_onParameterAndClass() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(Query.class, mpi).noValidate().build();
assertEquals("y", s.getName());
assertEquals(HttpPartSchema.Type.INTEGER, s.getType());
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java
index 2840075..4c6c1bc 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/HttpPartSchemaTest_ResponseHeader.java
@@ -130,7 +130,7 @@
@Test
public void a03_basic_onParameter() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A03.class.getMethod("a", String.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(ResponseHeader.class, mpi).noValidate().build();
assertEquals("x", s.getName());
assertEquals(HttpPartSchema.Type.NUMBER, s.getType());
@@ -183,7 +183,7 @@
@Test
public void a04_basic_onParameterAndClass() throws Exception {
- MethodParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
+ ParamInfo mpi = getMethodInfo(A04.class.getMethod("a", A01.class)).getParam(0);
HttpPartSchema s = HttpPartSchema.create().apply(ResponseHeader.class, mpi).noValidate().build();
assertEquals("y", s.getName());
assertEquals(HttpPartSchema.Type.INTEGER, s.getType());
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
index 7082eff..40714b7 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
@@ -78,11 +78,11 @@
if (t instanceof ClassInfo)
return ((ClassInfo)t).getSimpleName();
if (t instanceof MethodInfo)
- return ((MethodInfo)t).getDeclaringClass().getSimpleName() + '.' + ((MethodInfo)t).getLabel();
+ return ((MethodInfo)t).getDeclaringClass().getSimpleName() + '.' + ((MethodInfo)t).getShortName();
if (t instanceof ConstructorInfo)
- return ((ConstructorInfo)t).getLabel();
+ return ((ConstructorInfo)t).getShortName();
if (t instanceof FieldInfo)
- return ((FieldInfo)t).getDeclaringClass().getSimpleName() + '.' + ((FieldInfo)t).getLabel();
+ return ((FieldInfo)t).getDeclaringClass().getSimpleName() + '.' + ((FieldInfo)t).getName();
if (t instanceof A)
return "@A(" + ((A)t).value() + ")";
if (t instanceof PA)
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/MethodInfoTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/MethodInfoTest.java
index 081113d..1f11fba 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/MethodInfoTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/reflection/MethodInfoTest.java
@@ -96,7 +96,7 @@
@Test
public void getAnnotationsOnParameter() throws Exception {
ObjectList l = new ObjectList();
- MethodParamInfo mpi = MethodInfo.of(HA.class.getMethod("doX", HA01.class)).getParam(0);
+ ParamInfo mpi = MethodInfo.of(HA.class.getMethod("doX", HA01.class)).getParam(0);
for (HI1 ia : mpi.getAnnotations(HI1.class)) {
l.add(ia.value());
}
@@ -122,7 +122,7 @@
@Test
public void getAnnotationsOnParameterInherited() throws Exception {
ObjectList l = new ObjectList();
- MethodParamInfo mpi = MethodInfo.of(HB.class.getMethod("doX", HB01.class)).getParam(0);
+ ParamInfo mpi = MethodInfo.of(HB.class.getMethod("doX", HB01.class)).getParam(0);
for (HI2 ib : mpi.getAnnotations(HI2.class)) {
l.add(ib.value());
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
index 22c166e..1137fbe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
@@ -113,7 +113,7 @@
* @param mpi The Java method parameter.
* @return The schema information about the parameter.
*/
- public static HttpPartSchema create(Class<? extends Annotation> c, MethodParamInfo mpi) {
+ public static HttpPartSchema create(Class<? extends Annotation> c, ParamInfo mpi) {
return create().apply(c, mpi).build();
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchemaBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchemaBuilder.java
index 4a7e73f..6503d4e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchemaBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchemaBuilder.java
@@ -65,8 +65,8 @@
return new HttpPartSchema(this);
}
- HttpPartSchemaBuilder apply(Class<? extends Annotation> c, MethodParamInfo mpi) {
- apply(c, mpi.getGenericParameterType());
+ HttpPartSchemaBuilder apply(Class<? extends Annotation> c, ParamInfo mpi) {
+ apply(c, mpi.getParameterType().innerType());
for (Annotation a : mpi.getParameterAnnotations())
if (c.isInstance(a))
apply(a);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
index 5774392..2318c7f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
@@ -38,7 +38,7 @@
* <br>Can be <jk>null</jk>.
* @return Metadata about the parameter, or <jk>null</jk> if parameter or parameter type not annotated with {@link Request}.
*/
- public static RequestBeanMeta create(MethodParamInfo mpi, PropertyStore ps) {
+ public static RequestBeanMeta create(ParamInfo mpi, PropertyStore ps) {
if (! mpi.hasAnnotation(Request.class))
return null;
return new RequestBeanMeta.Builder(ps).apply(mpi).build();
@@ -90,8 +90,8 @@
this.ps = ps;
}
- Builder apply(MethodParamInfo mpi) {
- return apply(mpi.getParameterType()).apply(mpi.getAnnotation(Request.class));
+ Builder apply(ParamInfo mpi) {
+ return apply(mpi.getParameterType().inner()).apply(mpi.getAnnotation(Request.class));
}
Builder apply(Class<?> c) {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
index e2c6f17..9b5ce6a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
@@ -85,11 +85,11 @@
* <br>Can be <jk>null</jk>.
* @return Metadata about the class, or <jk>null</jk> if class not annotated with {@link Response}.
*/
- public static ResponseBeanMeta create(MethodParamInfo mpi, PropertyStore ps) {
+ public static ResponseBeanMeta create(ParamInfo mpi, PropertyStore ps) {
if (! mpi.hasAnnotation(Response.class))
return null;
Builder b = new Builder(ps);
- b.apply(mpi.getGenericParameterTypeInfo().resolved().innerType());
+ b.apply(mpi.getParameterType().resolved().innerType());
for (Response r : mpi.getAnnotations(Response.class))
b.apply(r);
return b.build();
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
index ae77f6d..a915537 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
@@ -334,59 +334,6 @@
}
/**
- * Returns a readable representation of the specified method.
- *
- * <p>
- * The format of the string is <js>"full-qualified-class.method-name(parameter-simple-class-names)"</js>.
- *
- * @param m The method to stringify.
- * @return The stringified method.
- */
- public static String asString(Method m) {
- StringBuilder sb = new StringBuilder(m.getName() + "(");
- for (int i = 0; i < m.getParameterTypes().length; i++) {
- if (i > 0)
- sb.append(",");
- sb.append(m.getParameterTypes()[i].getSimpleName());
- }
- sb.append(")");
- return sb.toString();
- }
-
- /**
- * Returns a readable representation of the specified method.
- *
- * <p>
- * The format of the string is <js>"full-qualified-class.method-name(parameter-simple-class-names)"</js>.
- *
- * @param m The method to stringify.
- * @return The stringified method.
- */
- public static String asString(Constructor<?> m) {
- StringBuilder sb = new StringBuilder(m.getDeclaringClass().getSimpleName() + "(");
- for (int i = 0; i < m.getParameterTypes().length; i++) {
- if (i > 0)
- sb.append(",");
- sb.append(m.getParameterTypes()[i].getSimpleName());
- }
- sb.append(")");
- return sb.toString();
- }
-
- /**
- * Returns a readable representation of the specified field.
- *
- * <p>
- * The format of the string is <js>"full-qualified-class.field-name"</js>.
- *
- * @param f The field to stringify.
- * @return The stringified field.
- */
- public static String asString(Field f) {
- return f.getName();
- }
-
- /**
* Constructs a new instance of the specified class from the specified string.
*
* <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
index 40876bf..a734775 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
@@ -32,6 +32,7 @@
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.parser.ParseException;
+import org.apache.juneau.reflect.*;
/**
* Reusable string utility methods.
@@ -2251,7 +2252,7 @@
if (cm.isClass())
return ((Class<?>)o).getName();
if (cm.isMethod())
- return ClassUtils.asString((Method)o);
+ return MethodInfo.of((Method)o).getShortName();
return o.toString();
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ConstructorInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ConstructorInfo.java
index 6fed09c..fc3eea7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ConstructorInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ConstructorInfo.java
@@ -16,7 +16,6 @@
import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
/**
* Lightweight utility class for introspecting information about a constructor.
@@ -126,13 +125,4 @@
}
return i;
}
-
- /**
- * Returns a string representation of this constructor that consists of its name and simple arguments.
- *
- * @return A string representation of this constructor that consists of its name and simple arguments.
- */
- public String getLabel() {
- return ClassUtils.asString(c);
- }
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java
index 9450c96..edcabe5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java
@@ -29,7 +29,7 @@
final Executable e;
final boolean isConstructor;
- private List<MethodParamInfo> params;
+ private List<ParamInfo> params;
private List<ClassInfo> paramTypes, exceptionInfos;
private Class<?>[] rawParamTypes, rawExceptionTypes;
private Type[] rawGenericParamTypes;
@@ -113,11 +113,11 @@
*
* @return An array of parameter information, never <jk>null</jk>.
*/
- public final List<MethodParamInfo> getParams() {
+ public final List<ParamInfo> getParams() {
if (params == null) {
- List<MethodParamInfo> l = new ArrayList<>(getParamCount());
+ List<ParamInfo> l = new ArrayList<>(getParamCount());
for (int i = 0; i < getParamCount(); i++)
- l.add(new MethodParamInfo(this, i));
+ l.add(new ParamInfo(this, i));
params = Collections.unmodifiableList(l);
}
return params;
@@ -129,7 +129,7 @@
* @param index The parameter index.
* @return The parameter information, never <jk>null</jk>.
*/
- public final MethodParamInfo getParam(int index) {
+ public final ParamInfo getParam(int index) {
return getParams().get(index);
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java
index 88e03f4..3913e27 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java
@@ -358,13 +358,4 @@
public String getName() {
return f.getName();
}
-
- /**
- * Returns a string representation of this field that consists of its name.
- *
- * @return A string representation of this field that consists of its name.
- */
- public String getLabel() {
- return f.getName();
- }
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodInfo.java
index 302c4ec..11d098e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodInfo.java
@@ -31,7 +31,6 @@
private ClassInfo returnType;
private final Method m;
private List<Method> matching;
- private String signature;
//-----------------------------------------------------------------------------------------------------------------
// Instantiation.
@@ -284,23 +283,20 @@
* @return The methods signature.
*/
public String getSignature() {
- if (signature == null) {
- StringBuilder sb = new StringBuilder(128);
- sb.append(m.getName());
- Class<?>[] pt = rawParamTypes();
- if (pt.length > 0) {
- sb.append('(');
- List<MethodParamInfo> mpi = getParams();
- for (int i = 0; i < pt.length; i++) {
- if (i > 0)
- sb.append(',');
- mpi.get(i).getGenericParameterTypeInfo().appendFullName(sb);
- }
- sb.append(')');
+ StringBuilder sb = new StringBuilder(128);
+ sb.append(m.getName());
+ Class<?>[] pt = rawParamTypes();
+ if (pt.length > 0) {
+ sb.append('(');
+ List<ParamInfo> mpi = getParams();
+ for (int i = 0; i < pt.length; i++) {
+ if (i > 0)
+ sb.append(',');
+ mpi.get(i).getParameterType().appendFullName(sb);
}
- signature = sb.toString();
+ sb.append(')');
}
- return signature;
+ return sb.toString();
}
/**
@@ -393,15 +389,6 @@
}
/**
- * Returns a string representation of this method that consists of its name and simple arguments.
- *
- * @return A string representation of this method that consists of its name and simple arguments.
- */
- public String getLabel() {
- return ClassUtils.asString(m);
- }
-
- /**
* Returns a readable representation of this method.
*
* @return A readable representation of this method.
@@ -409,11 +396,11 @@
public Object getReadableName() {
StringBuilder sb = new StringBuilder(128);
sb.append(m.getDeclaringClass().getName()).append('.').append(m.getName()).append('(');
- List<MethodParamInfo> mpis = getParams();
+ List<ParamInfo> mpis = getParams();
for (int i = 0; i < mpis.size(); i++) {
if (i > 0)
sb.append(',');
- mpis.get(i).getGenericParameterTypeInfo().appendFullName(sb);
+ mpis.get(i).getParameterType().appendFullName(sb);
}
sb.append(')');
return sb.toString();
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodParamInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
similarity index 92%
rename from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodParamInfo.java
rename to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
index 7a71774..a7e1682 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/MethodParamInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
@@ -25,7 +25,7 @@
* Lightweight utility class for introspecting information about a method parameter.
*/
@BeanIgnore
-public final class MethodParamInfo {
+public final class ParamInfo {
private final ExecutableInfo eInfo;
private int index;
@@ -41,7 +41,7 @@
* @param eInfo The constructor or method wrapper.
* @param index The parameter index.
*/
- protected MethodParamInfo(ExecutableInfo eInfo, int index) {
+ protected ParamInfo(ExecutableInfo eInfo, int index) {
this.eInfo = eInfo;
this.index = index;
}
@@ -60,8 +60,8 @@
*
* @return The method that this parameter belongs to.
*/
- public Method getMethod() {
- return (Method)eInfo.e;
+ public MethodInfo getMethod() {
+ return (MethodInfo)eInfo;
}
/**
@@ -69,8 +69,8 @@
*
* @return The method that this parameter belongs to.
*/
- public Constructor<?> getConstructor() {
- return (Constructor<?>)eInfo.e;
+ public ConstructorInfo getConstructor() {
+ return (ConstructorInfo)eInfo;
}
/**
@@ -78,25 +78,7 @@
*
* @return The class type of this parameter.
*/
- public Class<?> getParameterType() {
- return eInfo.getRawParamType(index);
- }
-
- /**
- * Returns the generic class type of this parameter.
- *
- * @return The generic class type of this parameter.
- */
- public Type getGenericParameterType() {
- return eInfo.getRawGenericParamType(index);
- }
-
- /**
- * Returns the generic class type of this parameter.
- *
- * @return The generic class type of this parameter.
- */
- public ClassInfo getGenericParameterTypeInfo() {
+ public ClassInfo getParameterType() {
return eInfo.getParamType(index);
}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodArg.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodArg.java
index 9d625a1..9b5ba5b 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodArg.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodArg.java
@@ -107,7 +107,7 @@
return schema;
}
- static RemoteMethodArg create(MethodParamInfo mpi) {
+ static RemoteMethodArg create(ParamInfo mpi) {
int i = mpi.getIndex();
if (mpi.hasAnnotation(Header.class)) {
return new RemoteMethodArg(i, HEADER, HttpPartSchema.create(Header.class, mpi));
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodMeta.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodMeta.java
index 804edfb..a347ea5 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodMeta.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMethodMeta.java
@@ -113,7 +113,7 @@
fullPath = path.indexOf("://") != -1 ? path : (parentPath.isEmpty() ? urlEncodePath(path) : (trimSlashes(parentPath) + '/' + urlEncodePath(path)));
- for (MethodParamInfo mpi : mi.getParams()) {
+ for (ParamInfo mpi : mi.getParams()) {
RemoteMethodArg rma = RemoteMethodArg.create(mpi);
boolean annotated = false;
if (rma != null) {
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 252d3bb..2e5424a 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -4585,7 +4585,7 @@
rp[i] = RestParamDefaults.STANDARD_RESOLVERS.get(c);
}
- MethodParamInfo mpi = mi.getParam(i);
+ ParamInfo mpi = mi.getParam(i);
if (mpi.hasAnnotation(Header.class)) {
rp[i] = new RestParamDefaults.HeaderObject(mpi, ps);
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java
index fdbbc49..c91d664 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodParam.java
@@ -115,7 +115,7 @@
public abstract class RestMethodParam {
final RestParamType paramType;
- final MethodParamInfo mpi;
+ final ParamInfo mpi;
final String name;
final Type type;
final Class<?> c;
@@ -130,7 +130,7 @@
* Can be <jk>null</jk> if parameter doesn't have a name (e.g. the request body).
* @param type The object type to convert the parameter to.
*/
- protected RestMethodParam(RestParamType paramType, MethodParamInfo mpi, String name, Type type) {
+ protected RestMethodParam(RestParamType paramType, ParamInfo mpi, String name, Type type) {
this.paramType = paramType;
this.mpi = mpi;
this.name = name;
@@ -147,8 +147,8 @@
* The parameter name.
* Can be <jk>null</jk> if parameter doesn't have a name (e.g. the request body).
*/
- protected RestMethodParam(RestParamType paramType, MethodParamInfo mpi, String name) {
- this(paramType, mpi, name, mpi.getGenericParameterType());
+ protected RestMethodParam(RestParamType paramType, ParamInfo mpi, String name) {
+ this(paramType, mpi, name, mpi.getParameterType().innerType());
}
/**
@@ -157,8 +157,8 @@
* @param paramType The Swagger parameter type.
* @param mpi The method parameter.
*/
- protected RestMethodParam(RestParamType paramType, MethodParamInfo mpi) {
- this(paramType, mpi, null, mpi.getGenericParameterType());
+ protected RestMethodParam(RestParamType paramType, ParamInfo mpi) {
+ this(paramType, mpi, null, mpi.getParameterType().innerType());
}
/**
@@ -229,7 +229,7 @@
*
* @return The parameter info.
*/
- public MethodParamInfo getMethodParamInfo() {
+ public ParamInfo getMethodParamInfo() {
return mpi;
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
index efa3002..241a166 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
@@ -18,7 +18,6 @@
import java.io.*;
import java.lang.reflect.*;
-import java.lang.reflect.Method;
import java.util.*;
import javax.servlet.*;
@@ -196,13 +195,13 @@
private final HttpPartParser partParser;
private final HttpPartSchema schema;
- protected PathObject(MethodParamInfo mpi, PropertyStore ps, UrlPathPattern pathPattern) {
+ protected PathObject(ParamInfo mpi, PropertyStore ps, UrlPathPattern pathPattern) {
super(PATH, mpi, getName(mpi, pathPattern));
this.schema = HttpPartSchema.create(Path.class, mpi);
this.partParser = createPartParser(schema.getParser(), ps);
}
- private static String getName(MethodParamInfo mpi, UrlPathPattern pathPattern) {
+ private static String getName(ParamInfo mpi, UrlPathPattern pathPattern) {
for (Path h : mpi.getAnnotations(Path.class)) {
if (! h.name().isEmpty())
return h.name();
@@ -212,15 +211,15 @@
if (pathPattern != null) {
int idx = 0;
int i = mpi.getIndex();
- Method m = mpi.getMethod();
+ MethodInfo mi = mpi.getMethod();
for (int j = 0; j < i; j++)
- if (getMethodInfo(m).getParam(i).getAnnotation(Path.class) != null)
+ if (mi.getParam(i).getAnnotation(Path.class) != null)
idx++;
String[] vars = pathPattern.getVars();
if (vars.length <= idx)
- throw new InternalServerError("Number of attribute parameters in method ''{0}'' exceeds the number of URL pattern variables.", m);
+ throw new InternalServerError("Number of attribute parameters in method ''{0}'' exceeds the number of URL pattern variables.", mi.getShortName());
// Check for {#} variables.
String idxs = String.valueOf(idx);
@@ -242,7 +241,7 @@
static final class BodyObject extends RestMethodParam {
private final HttpPartSchema schema;
- protected BodyObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected BodyObject(ParamInfo mpi, PropertyStore ps) {
super(BODY, mpi);
this.schema = HttpPartSchema.create(Body.class, mpi);
}
@@ -257,13 +256,13 @@
private final HttpPartParser partParser;
private final HttpPartSchema schema;
- protected HeaderObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected HeaderObject(ParamInfo mpi, PropertyStore ps) {
super(HEADER, mpi, getName(mpi));
this.schema = HttpPartSchema.create(Header.class, mpi);
this.partParser = createPartParser(schema.getParser(), ps);
}
- private static String getName(MethodParamInfo mpi) {
+ private static String getName(ParamInfo mpi) {
for (Header h : mpi.getAnnotations(Header.class)) {
if (! h.name().isEmpty())
return h.name();
@@ -282,7 +281,7 @@
static final class RequestObject extends RestMethodParam {
private final RequestBeanMeta meta;
- protected RequestObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected RequestObject(ParamInfo mpi, PropertyStore ps) {
super(RESPONSE_BODY, mpi);
this.meta = RequestBeanMeta.create(mpi, ps);
}
@@ -296,7 +295,7 @@
static final class ResponseHeaderObject extends RestMethodParam {
final ResponsePartMeta meta;
- protected ResponseHeaderObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected ResponseHeaderObject(ParamInfo mpi, PropertyStore ps) {
super(RESPONSE_HEADER, mpi, getName(mpi));
HttpPartSchema schema = HttpPartSchema.create(ResponseHeader.class, mpi);
this.meta = new ResponsePartMeta(HttpPartType.HEADER, schema, createPartSerializer(schema.getSerializer(), ps));
@@ -305,7 +304,7 @@
throw new InternalServerError("Invalid type {0} specified with @ResponseHeader annotation. It must be Value.", type);
}
- private static String getName(MethodParamInfo mpi) {
+ private static String getName(ParamInfo mpi) {
for (ResponseHeader h : mpi.getAnnotations(ResponseHeader.class)) {
if (! h.name().isEmpty())
return h.name();
@@ -339,7 +338,7 @@
static final class ResponseObject extends RestMethodParam {
final ResponseBeanMeta meta;
- protected ResponseObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected ResponseObject(ParamInfo mpi, PropertyStore ps) {
super(RESPONSE, mpi);
this.meta = ResponseBeanMeta.create(mpi, ps);
if (getTypeClass() != Value.class)
@@ -389,7 +388,7 @@
static final class MethodObject extends RestMethodParam {
protected MethodObject(MethodInfo m, ClassInfo t) throws ServletException {
- super(OTHER, (MethodParamInfo)null);
+ super(OTHER, (ParamInfo)null);
if (! t.is(String.class))
throw new RestServletException("Use of @Method annotation on parameter that is not a String on method ''{0}''", m.inner());
}
@@ -405,7 +404,7 @@
private final HttpPartParser partParser;
private final HttpPartSchema schema;
- protected FormDataObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected FormDataObject(ParamInfo mpi, PropertyStore ps) {
super(FORM_DATA, mpi, getName(mpi));
this.schema = HttpPartSchema.create(FormData.class, mpi);
this.partParser = createPartParser(schema.getParser(), ps);
@@ -415,7 +414,7 @@
throw new InternalServerError("Use of multipart flag on @FormData parameter that's not an array or Collection on method ''{0}''", mpi.getMethod());
}
- private static String getName(MethodParamInfo mpi) {
+ private static String getName(ParamInfo mpi) {
for (FormData h : mpi.getAnnotations(FormData.class)) {
if (! h.name().isEmpty())
return h.name();
@@ -438,7 +437,7 @@
private final HttpPartParser partParser;
private final HttpPartSchema schema;
- protected QueryObject(MethodParamInfo mpi, PropertyStore ps) {
+ protected QueryObject(ParamInfo mpi, PropertyStore ps) {
super(QUERY, mpi, getName(mpi));
this.schema = HttpPartSchema.create(Query.class, mpi);
this.partParser = createPartParser(schema.getParser(), ps);
@@ -448,7 +447,7 @@
throw new InternalServerError("Use of multipart flag on @Query parameter that's not an array or Collection on method ''{0}''", mpi.getMethod());
}
- private static String getName(MethodParamInfo mpi) {
+ private static String getName(ParamInfo mpi) {
for (Query h : mpi.getAnnotations(Query.class)) {
if (! h.name().isEmpty())
return h.name();
@@ -468,13 +467,13 @@
static final class HasFormDataObject extends RestMethodParam {
- protected HasFormDataObject(MethodParamInfo mpi) throws ServletException {
+ protected HasFormDataObject(ParamInfo mpi) throws ServletException {
super(FORM_DATA, mpi, getName(mpi));
if (getType() != Boolean.class && getType() != boolean.class)
throw new RestServletException("Use of @HasForm annotation on parameter that is not a boolean on method ''{0}''", mpi.getMethod());
}
- private static String getName(MethodParamInfo mpi) {
+ private static String getName(ParamInfo mpi) {
for (HasFormData h : mpi.getAnnotations(HasFormData.class)) {
if (! h.name().isEmpty())
return h.name();
@@ -493,13 +492,13 @@
static final class HasQueryObject extends RestMethodParam {
- protected HasQueryObject(MethodParamInfo mpi) throws ServletException {
+ protected HasQueryObject(ParamInfo mpi) throws ServletException {
super(QUERY, mpi, getName(mpi));
if (getType() != Boolean.class && getType() != boolean.class)
throw new RestServletException("Use of @HasQuery annotation on parameter that is not a boolean on method ''{0}''", mpi.getMethod());
}
- private static String getName(MethodParamInfo mpi) {
+ private static String getName(ParamInfo mpi) {
for (HasQuery h : mpi.getAnnotations(HasQuery.class)) {
if (! h.name().isEmpty())
return h.name();
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
index 375285a..8b76cb6 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/SwaggerGenerator.java
@@ -328,7 +328,7 @@
for (RestMethodParam mp : context.getRestMethodParams(m)) {
RestParamType in = mp.getParamType();
- MethodParamInfo mpi = mp.getMethodParamInfo();
+ ParamInfo mpi = mp.getMethodParamInfo();
if (in.isAny(BODY, QUERY, FORM_DATA, HEADER, PATH)) {
@@ -445,7 +445,7 @@
for (RestMethodParam mp : context.getRestMethodParams(m)) {
RestParamType in = mp.getParamType();
- MethodParamInfo mpi = mp.getMethodParamInfo();
+ ParamInfo mpi = mp.getMethodParamInfo();
if (in == RESPONSE_HEADER) {
List<ResponseHeader> la = mpi.getAnnotations(ResponseHeader.class, true);