]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/VTKSelectionItem.java
Compiler warning elimination
[simantics/3d.git] / org.simantics.g3d.vtk / src / org / simantics / g3d / vtk / common / VTKSelectionItem.java
index f332322f27287d68b855669ffd46cc94796c2fe5..deb812722b238065fc512e0525a9e9d1d0f67190 100644 (file)
@@ -31,25 +31,24 @@ public class VTKSelectionItem<DBObject> implements IAdaptable{
                this.resource = res;
        }
 
-       @SuppressWarnings("rawtypes")
        @Override
-       public Object getAdapter(Class adapter) {
-               if (adapter == Resource.class)
+       public <T> T getAdapter(Class<T> adapter) {
+               if (adapter.isAssignableFrom(Resource.class))
                        if (resource instanceof Resource)
-                               return resource;
+                               return adapter.cast(resource);
                        else
                                return null;
-               if (adapter == StructuralResource.class)
+               if (adapter.isAssignableFrom(StructuralResource.class))
                        if (resource instanceof StructuralResource)
-                               return resource;
+                               return adapter.cast(resource);
                        else
                                return null;
-               if (adapter == vtkProp.class)
-                       return prop;
-               if (adapter == IG3DNode.class && node instanceof IG3DNode)
-                       return node;
-               if (adapter == INode.class)
-                       return node;
+               if (adapter.isAssignableFrom(vtkProp.class))
+                       return adapter.cast(prop);
+               if (adapter.isAssignableFrom(IG3DNode.class) && node instanceof IG3DNode)
+                       return adapter.cast(node);
+               if (adapter.isAssignableFrom(INode.class))
+                       return adapter.cast(node);
                return null;
        }