]> source.dussan.org Git - vaadin-framework.git/commitdiff
Add shorthand for avoiding null-checks with ResourceReference (#9211)
authorLeif Åstrand <leif@vaadin.com>
Fri, 3 Aug 2012 14:02:56 +0000 (17:02 +0300)
committerLeif Åstrand <leif@vaadin.com>
Fri, 3 Aug 2012 14:02:56 +0000 (17:02 +0300)
src/com/vaadin/terminal/gwt/server/ResourceReference.java
src/com/vaadin/ui/AbstractComponent.java
src/com/vaadin/ui/Video.java
tests/testbench/com/vaadin/tests/minitutorials/v7a2/ResourceInStateComponent.java

index 98ac7e0f4b9543a68f5cf8a5a484897ea29670fe..2104ad4b8753cdc3ce42a639add7d1d6ecde2516 100644 (file)
@@ -48,4 +48,20 @@ public class ResourceReference extends URLReference {
         }
 
     }
+
+    public static ResourceReference create(Resource resource) {
+        if (resource == null) {
+            return null;
+        } else {
+            return new ResourceReference(resource);
+        }
+    }
+
+    public static Resource getResource(URLReference reference) {
+        if (reference == null) {
+            return null;
+        }
+        assert reference instanceof ResourceReference;
+        return ((ResourceReference) reference).getResource();
+    }
 }
index b71948e96e421d177faefcc8c6ec8d14874a796a..e7cb38256c7388eefb79da5a9f628e438f98dace 100644 (file)
@@ -294,12 +294,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
      */
     @Override
     public Resource getIcon() {
-        ResourceReference ref = ((ResourceReference) getState().getIcon());
-        if (ref == null) {
-            return null;
-        } else {
-            return ref.getResource();
-        }
+        return ResourceReference.getResource(getState().getIcon());
     }
 
     /**
@@ -311,11 +306,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
      */
     @Override
     public void setIcon(Resource icon) {
-        if (icon == null) {
-            getState().setIcon(null);
-        } else {
-            getState().setIcon(new ResourceReference(icon));
-        }
+        getState().setIcon(ResourceReference.create(icon));
         requestRepaint();
     }
 
index 48fe3e41924785ecaa2b20dba5656ed318ca2237..d4f95a5be3c01e9d97ab7316d221563bd0ddf82b 100644 (file)
@@ -67,7 +67,7 @@ public class Video extends AbstractMedia {
      * @param poster
      */
     public void setPoster(Resource poster) {
-        getState().setPoster(new ResourceReference(poster));
+        getState().setPoster(ResourceReference.create(poster));
         requestRepaint();
     }
 
@@ -75,7 +75,7 @@ public class Video extends AbstractMedia {
      * @return The poster image.
      */
     public Resource getPoster() {
-        return ((ResourceReference) getState().getPoster()).getResource();
+        return ResourceReference.getResource(getState().getPoster());
     }
 
 }
index f9d4cb38e646200662f959a489b6190dc3f5c866..b47f55564005e3119b3ff440fe272a0c1c3161d5 100644 (file)
@@ -20,11 +20,6 @@ public class ResourceInStateComponent extends AbstractComponent {
     }
 
     public Resource getMyIcon() {
-        ResourceReference ref = ((ResourceReference) getState().getMyIcon());
-        if (ref != null) {
-            return ref.getResource();
-        } else {
-            return null;
-        }
+        return ResourceReference.getResource(getState().getMyIcon());
     }
 }