You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2008/06/10 17:57:17 UTC

svn commit: r666173 - in /commons/sandbox/functor/trunk/src: main/java/org/apache/commons/functor/adapter/ test/java/org/apache/commons/functor/adapter/

Author: mbenson
Date: Tue Jun 10 08:57:17 2008
New Revision: 666173

URL: http://svn.apache.org/viewvc?rev=666173&view=rev
Log:
unchecked warnings; throw IllegalArgumentException on null constructor args; fully genericize BinaryFunctor<L, R>

Modified:
    commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreLeftProcedure.java
    commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreRightProcedure.java
    commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreLeftProcedure.java
    commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreRightProcedure.java

Modified: commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreLeftProcedure.java
URL: http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreLeftProcedure.java?rev=666173&r1=666172&r2=666173&view=diff
==============================================================================
--- commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreLeftProcedure.java (original)
+++ commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreLeftProcedure.java Tue Jun 10 08:57:17 2008
@@ -38,22 +38,25 @@
  * @version $Revision$ $Date$
  * @author Rodney Waldhoff
  */
-public final class IgnoreLeftProcedure<A> implements BinaryProcedure<Object, A>, Serializable {
+public final class IgnoreLeftProcedure<L, R> implements BinaryProcedure<L, R>, Serializable {
     /** The {@link UnaryProcedure UnaryProcedure} I'm wrapping. */
-    private UnaryProcedure<? super A> procedure;
+    private UnaryProcedure<? super R> procedure;
 
     /**
      * Create a new IgnoreLeftProcedure.
      * @param procedure to adapt
      */
-    public IgnoreLeftProcedure(UnaryProcedure<? super A> procedure) {
+    public IgnoreLeftProcedure(UnaryProcedure<? super R> procedure) {
+        if (procedure == null) {
+            throw new IllegalArgumentException("UnaryProcedure argument was null");
+        }
         this.procedure = procedure;
     }
 
     /**
      * {@inheritDoc}
      */
-    public void run(Object left, A right) {
+    public void run(L left, R right) {
         procedure.run(right);
     }
 
@@ -61,7 +64,7 @@
      * {@inheritDoc}
      */
     public boolean equals(Object that) {
-        return that == this || (that instanceof IgnoreLeftProcedure && equals((IgnoreLeftProcedure<?>) that));
+        return that == this || (that instanceof IgnoreLeftProcedure && equals((IgnoreLeftProcedure<?, ?>) that));
     }
 
     /**
@@ -69,7 +72,7 @@
      * @param that IgnoreLeftProcedure to test
      * @return boolean
      */
-    public boolean equals(IgnoreLeftProcedure<?> that) {
+    public boolean equals(IgnoreLeftProcedure<?, ?> that) {
         return null != that && (null == procedure ? null == that.procedure : procedure.equals(that.procedure));
     }
 
@@ -93,11 +96,13 @@
 
     /**
      * Adapt a UnaryProcedure to the BinaryProcedure interface.
+     * @param <L>
+     * @param <R>
      * @param procedure to adapt
-     * @return IgnoreLeftProcedure
+     * @return IgnoreLeftProcedure<L, R>
      */
-    public static <A> IgnoreLeftProcedure<A> adapt(UnaryProcedure<? super A> procedure) {
-        return null == procedure ? null : new IgnoreLeftProcedure<A>(procedure);
+    public static <L, R> IgnoreLeftProcedure<L, R> adapt(UnaryProcedure<? super R> procedure) {
+        return null == procedure ? null : new IgnoreLeftProcedure<L, R>(procedure);
     }
 
 }

Modified: commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreRightProcedure.java
URL: http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreRightProcedure.java?rev=666173&r1=666172&r2=666173&view=diff
==============================================================================
--- commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreRightProcedure.java (original)
+++ commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/IgnoreRightProcedure.java Tue Jun 10 08:57:17 2008
@@ -38,22 +38,25 @@
  * @version $Revision$ $Date$
  * @author Rodney Waldhoff
  */
-public final class IgnoreRightProcedure<A> implements BinaryProcedure<A, Object>, Serializable {
+public final class IgnoreRightProcedure<L, R> implements BinaryProcedure<L, R>, Serializable {
     /** The {@link UnaryProcedure UnaryProcedure} I'm wrapping. */
-    private UnaryProcedure<? super A> procedure;
+    private UnaryProcedure<? super L> procedure;
 
     /**
      * Create a new IgnoreRightProcedure.
      * @param procedure UnaryProcedure to adapt
      */
-    public IgnoreRightProcedure(UnaryProcedure<? super A> procedure) {
+    public IgnoreRightProcedure(UnaryProcedure<? super L> procedure) {
+        if (procedure == null) {
+            throw new IllegalArgumentException("UnaryProcedure argument was null");
+        }
         this.procedure = procedure;
     }
 
     /**
      * {@inheritDoc}
      */
-    public void run(A left, Object right) {
+    public void run(L left, R right) {
         procedure.run(left);
     }
 
@@ -61,7 +64,7 @@
      * {@inheritDoc}
      */
     public boolean equals(Object that) {
-        return that == this || (that instanceof IgnoreRightProcedure && equals((IgnoreRightProcedure<?>) that));
+        return that == this || (that instanceof IgnoreRightProcedure && equals((IgnoreRightProcedure<?, ?>) that));
     }
 
     /**
@@ -69,7 +72,7 @@
      * @param that IgnoreRightProcedure to test
      * @return boolean
      */
-    public boolean equals(IgnoreRightProcedure<?> that) {
+    public boolean equals(IgnoreRightProcedure<?, ?> that) {
         return null != that && (null == procedure ? null == that.procedure : procedure.equals(that.procedure));
     }
 
@@ -96,8 +99,8 @@
      * @param procedure UnaryProcedure to adapt
      * @return IgnoreRightProcedure
      */
-    public static <A> IgnoreRightProcedure<A> adapt(UnaryProcedure<? super A> procedure) {
-        return null == procedure ? null : new IgnoreRightProcedure<A>(procedure);
+    public static <L, R> IgnoreRightProcedure<L, R> adapt(UnaryProcedure<? super L> procedure) {
+        return null == procedure ? null : new IgnoreRightProcedure<L, R>(procedure);
     }
 
 }

Modified: commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreLeftProcedure.java
URL: http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreLeftProcedure.java?rev=666173&r1=666172&r2=666173&view=diff
==============================================================================
--- commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreLeftProcedure.java (original)
+++ commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreLeftProcedure.java Tue Jun 10 08:57:17 2008
@@ -45,7 +45,7 @@
     // ------------------------------------------------------------------------
 
     protected Object makeFunctor() {
-        return new IgnoreLeftProcedure(new NoOp());
+        return new IgnoreLeftProcedure<Object, Object>(NoOp.INSTANCE);
     }
 
     // Lifecycle
@@ -63,17 +63,16 @@
     // ------------------------------------------------------------------------
 
     public void testEvaluate() throws Exception {
-        BinaryProcedure p = new IgnoreLeftProcedure(new UnaryFunctionUnaryProcedure(new Identity()));
+        BinaryProcedure<Object, Object> p = new IgnoreLeftProcedure<Object, Object>(
+                new UnaryFunctionUnaryProcedure<Object>(Identity.INSTANCE));
         p.run(null,Boolean.TRUE);
     }
 
     public void testEquals() throws Exception {
-        BinaryProcedure p = new IgnoreLeftProcedure(new NoOp());
+        BinaryProcedure<Object, Object> p = new IgnoreLeftProcedure<Object, Object>(NoOp.INSTANCE);
         assertEquals(p,p);
-        assertObjectsAreEqual(p,new IgnoreLeftProcedure(new NoOp()));
-        assertObjectsAreNotEqual(p,new NoOp());
-        assertObjectsAreNotEqual(p,new IgnoreLeftProcedure(null));
-        assertObjectsAreEqual(new IgnoreLeftProcedure(null),new IgnoreLeftProcedure(null));
+        assertObjectsAreEqual(p,new IgnoreLeftProcedure<Object, Object>(NoOp.INSTANCE));
+        assertObjectsAreNotEqual(p,NoOp.INSTANCE);
     }
 
     public void testAdaptNull() throws Exception {
@@ -81,6 +80,6 @@
     }
 
     public void testAdapt() throws Exception {
-        assertNotNull(IgnoreLeftProcedure.adapt(new NoOp()));
+        assertNotNull(IgnoreLeftProcedure.adapt(NoOp.INSTANCE));
     }
 }

Modified: commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreRightProcedure.java
URL: http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreRightProcedure.java?rev=666173&r1=666172&r2=666173&view=diff
==============================================================================
--- commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreRightProcedure.java (original)
+++ commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestIgnoreRightProcedure.java Tue Jun 10 08:57:17 2008
@@ -45,7 +45,7 @@
     // ------------------------------------------------------------------------
 
     protected Object makeFunctor() {
-        return new IgnoreRightProcedure(new NoOp());
+        return new IgnoreRightProcedure<Object, Object>(NoOp.INSTANCE);
     }
 
     // Lifecycle
@@ -63,17 +63,16 @@
     // ------------------------------------------------------------------------
 
     public void testEvaluate() throws Exception {
-        BinaryProcedure p = new IgnoreRightProcedure(new UnaryFunctionUnaryProcedure(new Identity()));
+        BinaryProcedure<Object, Object> p = new IgnoreRightProcedure<Object, Object>(
+                new UnaryFunctionUnaryProcedure<Object>(Identity.INSTANCE));
         p.run(Boolean.TRUE,null);
     }
 
     public void testEquals() throws Exception {
-        BinaryProcedure p = new IgnoreRightProcedure(new NoOp());
+        BinaryProcedure<Object, Object> p = new IgnoreRightProcedure<Object, Object>(NoOp.INSTANCE);
         assertEquals(p,p);
-        assertObjectsAreEqual(p,new IgnoreRightProcedure(new NoOp()));
-        assertObjectsAreNotEqual(p,new NoOp());
-        assertObjectsAreNotEqual(p,new IgnoreRightProcedure(null));
-        assertObjectsAreEqual(new IgnoreRightProcedure(null),new IgnoreRightProcedure(null));
+        assertObjectsAreEqual(p,new IgnoreRightProcedure<Object, Object>(NoOp.INSTANCE));
+        assertObjectsAreNotEqual(p,NoOp.INSTANCE);
     }
 
     public void testAdaptNull() throws Exception {
@@ -81,6 +80,6 @@
     }
 
     public void testAdapt() throws Exception {
-        assertNotNull(IgnoreRightProcedure.adapt(new NoOp()));
+        assertNotNull(IgnoreRightProcedure.adapt(NoOp.INSTANCE));
     }
 }