Author: jcarman
Date: Sat Jul 27 02:46:33 2013
New Revision: 1507564

URL: http://svn.apache.org/r1507564
Log:
Simplifying BeanProvider.

Modified:
    
commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
    
commons/proper/proxy/branches/version-2.0-work/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java

Modified: 
commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
URL: 
http://svn.apache.org/viewvc/commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java?rev=1507564&r1=1507563&r2=1507564&view=diff
==============================================================================
--- 
commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
 (original)
+++ 
commons/proper/proxy/branches/version-2.0-work/core/src/main/java/org/apache/commons/proxy2/provider/BeanProvider.java
 Sat Jul 27 02:46:33 2013
@@ -17,6 +17,8 @@
 
 package org.apache.commons.proxy2.provider;
 
+import org.apache.commons.lang3.SerializationUtils;
+import org.apache.commons.lang3.Validate;
 import org.apache.commons.proxy2.ObjectProvider;
 import org.apache.commons.proxy2.exception.ObjectProviderException;
 
@@ -37,18 +39,11 @@ public class BeanProvider<T> implements 
 // Fields
 
//**********************************************************************************************************************
 
-    private Class<? extends T> beanClass;
+    private final Class<? extends T> beanClass;
 
-  
//**********************************************************************************************************************
- // Constructors
- 
//**********************************************************************************************************************
-
-    /**
-     * Create a new BeanProvider instance.
-     */
-    public BeanProvider()
-    {
-    }
+//**********************************************************************************************************************
+// Constructors
+//**********************************************************************************************************************
 
     /**
      * Constructs a provider which instantiates objects of the specified bean 
class.
@@ -57,12 +52,13 @@ public class BeanProvider<T> implements 
      */
     public BeanProvider( Class<? extends T> beanClass )
     {
+        Validate.notNull(beanClass, "Bean class cannot be null.");
         this.beanClass = beanClass;
     }
 
-  
//**********************************************************************************************************************
- // ObjectProvider Implementation
- 
//**********************************************************************************************************************
+//**********************************************************************************************************************
+// ObjectProvider Implementation
+//**********************************************************************************************************************
 
     /**
      * {@inheritDoc}
@@ -71,10 +67,6 @@ public class BeanProvider<T> implements 
     {
         try
         {
-            if( beanClass == null )
-            {
-                throw new ObjectProviderException("No bean class provided.");
-            }
             return beanClass.newInstance();
         }
         catch( InstantiationException e )
@@ -87,16 +79,4 @@ public class BeanProvider<T> implements 
                     e);
         }
     }
-
-  
//**********************************************************************************************************************
- // Getter/Setter Methods
- 
//**********************************************************************************************************************
-
-    /**
-     * Set the beanClass.
-     * @param beanClass the Class<T> to set
-     */
-    public void setBeanClass(Class<? extends T> beanClass) {
-        this.beanClass = beanClass;
-    }
 }

Modified: 
commons/proper/proxy/branches/version-2.0-work/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java
URL: 
http://svn.apache.org/viewvc/commons/proper/proxy/branches/version-2.0-work/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java?rev=1507564&r1=1507563&r2=1507564&view=diff
==============================================================================
--- 
commons/proper/proxy/branches/version-2.0-work/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java
 (original)
+++ 
commons/proper/proxy/branches/version-2.0-work/core/src/test/java/org/apache/commons/proxy2/provider/TestBeanProvider.java
 Sat Jul 27 02:46:33 2013
@@ -30,8 +30,7 @@ public class TestBeanProvider extends Ab
     {
         try
         {
-            final BeanProvider<Number> p = new BeanProvider<Number>();
-            p.setBeanClass(Number.class);
+            final BeanProvider<Number> p = new 
BeanProvider<Number>(Number.class);
             p.getObject();
             fail();
         }
@@ -61,11 +60,11 @@ public class TestBeanProvider extends Ab
     {
         try
         {
-            final BeanProvider<Object> p = new BeanProvider<Object>();
+            final BeanProvider<Object> p = new BeanProvider<Object>(null);
             p.getObject();
-            fail();
+            fail("Should throw NullPointerException.");
         }
-        catch( ObjectProviderException e )
+        catch( NullPointerException e )
         {
         }
     }


Reply via email to