[portal-commits] JBoss Portal SVN: r11795 - in branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core: model/portal and 1 other directory.

portal-commits at lists.jboss.org portal-commits at lists.jboss.org
Wed Sep 3 08:15:06 EDT 2008


Author: chris.laprun at jboss.com
Date: 2008-09-03 08:15:06 -0400 (Wed, 03 Sep 2008)
New Revision: 11795

Modified:
   branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java
   branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java
Log:
- Added getObject(id, expectedClass) method for convenience.

Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java	2008-09-03 09:46:26 UTC (rev 11794)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/impl/model/portal/AbstractPortalObjectContainer.java	2008-09-03 12:15:06 UTC (rev 11795)
@@ -22,6 +22,7 @@
  ******************************************************************************/
 package org.jboss.portal.core.impl.model.portal;
 
+import org.jboss.portal.common.util.ParameterValidation;
 import org.jboss.portal.core.model.content.ContentType;
 import org.jboss.portal.core.model.content.spi.ContentProvider;
 import org.jboss.portal.core.model.content.spi.ContentProviderRegistry;
@@ -82,14 +83,25 @@
 
    public PortalObject getObject(PortalObjectId id) throws IllegalArgumentException
    {
-      if (id == null)
-      {
-         throw new IllegalArgumentException("No null id accepted");
-      }
+      ParameterValidation.throwIllegalArgExceptionIfNull(id, "id");
       ObjectNode node = getObjectNode(id);
       return node == null ? null : node.getObject();
    }
 
+   public <T extends PortalObject> T getObject(PortalObjectId id, Class<T> expectedType) throws IllegalArgumentException
+   {
+      ParameterValidation.throwIllegalArgExceptionIfNull(expectedType, "expected type");
+      PortalObject object = getObject(id);
+
+      // only return the object if it matches the expected class
+      if(expectedType.isInstance(object))
+      {
+         return expectedType.cast(object);
+      }
+
+      return null;
+   }
+
    public Context getContext(String namespace)
    {
       if (namespace == null)

Modified: branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java	2008-09-03 09:46:26 UTC (rev 11794)
+++ branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/model/portal/PortalObjectContainer.java	2008-09-03 12:15:06 UTC (rev 11795)
@@ -42,6 +42,19 @@
    PortalObject getObject(PortalObjectId id) throws IllegalArgumentException;
 
    /**
+    * Returns the portal object of the specified type identified with the specified identified or <code>null</code> if
+    * it cannot be found.
+    *
+    * @param id           the portal object identifier
+    * @param expectedType the expected type of the object to be retrieved
+    * @param <T>          a class extending PortalObject
+    * @return the PortalObject identified by the specified id or <code>null</code> if it cannot be found
+    * @throws IllegalArgumentException if the specified id or the specified class is <code>null</code>
+    * @since 2.7
+    */
+   <T extends PortalObject> T getObject(PortalObjectId id, Class<T> expectedType) throws IllegalArgumentException;
+
+   /**
     * Returns the default root object.
     *
     * @return a root object




More information about the portal-commits mailing list