You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bl...@apache.org on 2010/03/22 18:45:15 UTC
svn commit: r926220 -
/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java
Author: bluk
Date: Mon Mar 22 17:45:14 2010
New Revision: 926220
URL: http://svn.apache.org/viewvc?rev=926220&view=rev
Log:
Update GenericEntity to check other possible types
Modified:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java
Modified: cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java?rev=926220&r1=926219&r2=926220&view=diff
==============================================================================
--- cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java (original)
+++ cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java Mon Mar 22 17:45:14 2010
@@ -19,6 +19,7 @@
package javax.ws.rs.core;
+import java.lang.reflect.GenericArrayType;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
@@ -57,6 +58,15 @@ public class GenericEntity<T> {
if (!((Class<?>)genericType).isAssignableFrom(rawType)) {
throw new IllegalArgumentException();
}
+ } else if (genericType instanceof ParameterizedType) {
+ checkCompatibility(rawType, ((ParameterizedType)genericType).getRawType());
+ } else if (genericType instanceof GenericArrayType) {
+ if (!rawType.isArray()) {
+ throw new IllegalArgumentException();
+ }
+ // check the array parameter
+ checkCompatibility(rawType.getComponentType(), ((GenericArrayType)genericType)
+ .getGenericComponentType());
}
}