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());
         }
     }
 


Reply via email to