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 16:50:18 UTC
svn commit: r666140 - in /commons/sandbox/functor/trunk/src:
main/java/org/apache/commons/functor/adapter/UnaryFunctionUnaryPredicate.java
test/java/org/apache/commons/functor/adapter/TestUnaryFunctionUnaryPredicate.java
Author: mbenson
Date: Tue Jun 10 07:50:17 2008
New Revision: 666140
URL: http://svn.apache.org/viewvc?rev=666140&view=rev
Log:
unchecked; IllegalArgumentException on null constructor argument
Modified:
commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/UnaryFunctionUnaryPredicate.java
commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestUnaryFunctionUnaryPredicate.java
Modified: commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/UnaryFunctionUnaryPredicate.java
URL: http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/UnaryFunctionUnaryPredicate.java?rev=666140&r1=666139&r2=666140&view=diff
==============================================================================
--- commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/UnaryFunctionUnaryPredicate.java (original)
+++ commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/adapter/UnaryFunctionUnaryPredicate.java Tue Jun 10 07:50:17 2008
@@ -39,14 +39,17 @@
*/
public final class UnaryFunctionUnaryPredicate<A> implements UnaryPredicate<A>, Serializable {
/** The {@link UnaryFunction UnaryFunction} I'm wrapping. */
- private UnaryFunction<A, Boolean> function;
+ private UnaryFunction<? super A, Boolean> function;
/**
* Create an {@link UnaryPredicate UnaryPredicate} wrapping
* the given {@link UnaryFunction UnaryFunction}.
* @param function the {@link UnaryFunction UnaryFunction} to wrap
*/
- public UnaryFunctionUnaryPredicate(UnaryFunction<A, Boolean> function) {
+ public UnaryFunctionUnaryPredicate(UnaryFunction<? super A, Boolean> function) {
+ if (function == null) {
+ throw new IllegalArgumentException("UnaryFunction argument was null");
+ }
this.function = function;
}
@@ -99,20 +102,22 @@
}
/**
+ *
* Adapt the given, possibly-<code>null</code>,
* {@link UnaryFunction UnaryFunction} to the
* {@link UnaryPredicate UnaryPredicate} interface.
* When the given <code>UnaryFunction</code> is <code>null</code>,
* returns <code>null</code>.
*
+ * @param <A>
* @param function the possibly-<code>null</code>
* {@link UnaryFunction UnaryFunction} to adapt
* @return a {@link UnaryPredicate UnaryPredicate} wrapping the given
* {@link UnaryFunction UnaryFunction}, or <code>null</code>
* if the given <code>UnaryFunction</code> is <code>null</code>
*/
- public static <P> UnaryFunctionUnaryPredicate<P> adapt(UnaryFunction<P, Boolean> function) {
- return null == function ? null : new UnaryFunctionUnaryPredicate<P>(function);
+ public static <A> UnaryFunctionUnaryPredicate<A> adapt(UnaryFunction<? super A, Boolean> function) {
+ return null == function ? null : new UnaryFunctionUnaryPredicate<A>(function);
}
}
Modified: commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestUnaryFunctionUnaryPredicate.java
URL: http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestUnaryFunctionUnaryPredicate.java?rev=666140&r1=666139&r2=666140&view=diff
==============================================================================
--- commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestUnaryFunctionUnaryPredicate.java (original)
+++ commons/sandbox/functor/trunk/src/test/java/org/apache/commons/functor/adapter/TestUnaryFunctionUnaryPredicate.java Tue Jun 10 07:50:17 2008
@@ -44,7 +44,7 @@
// ------------------------------------------------------------------------
protected Object makeFunctor() {
- return new UnaryFunctionUnaryPredicate(new Constant(Boolean.TRUE));
+ return new UnaryFunctionUnaryPredicate<Object>(Constant.TRUE);
}
// Lifecycle
@@ -62,43 +62,21 @@
// ------------------------------------------------------------------------
public void testTestWhenTrue() throws Exception {
- UnaryPredicate p = new UnaryFunctionUnaryPredicate(new Constant(Boolean.TRUE));
+ UnaryPredicate<Object> p = new UnaryFunctionUnaryPredicate<Object>(Constant.TRUE);
assertTrue(p.test(null));
}
public void testTestWhenFalse() throws Exception {
- UnaryPredicate p = new UnaryFunctionUnaryPredicate(new Constant(Boolean.FALSE));
+ UnaryPredicate<Object> p = new UnaryFunctionUnaryPredicate<Object>(Constant.FALSE);
assertTrue(!p.test(null));
}
- public void testTestWhenNull() throws Exception {
- UnaryPredicate p = new UnaryFunctionUnaryPredicate(new Constant(null));
- try {
- p.test("xyzzy");
- fail("Expected NullPointerException");
- } catch(NullPointerException e) {
- // expected
- }
- }
-
- public void testTestWhenNonBoolean() throws Exception {
- UnaryPredicate p = new UnaryFunctionUnaryPredicate(new Constant(new Integer(2)));
- try {
- p.test("xyzzy");
- fail("Expected ClassCastException");
- } catch(ClassCastException e) {
- // expected
- }
- }
-
public void testEquals() throws Exception {
- UnaryPredicate p = new UnaryFunctionUnaryPredicate(new Constant(Boolean.TRUE));
+ UnaryPredicate<Object> p = new UnaryFunctionUnaryPredicate<Object>(Constant.TRUE);
assertEquals(p,p);
- assertObjectsAreEqual(p,new UnaryFunctionUnaryPredicate(new Constant(Boolean.TRUE)));
- assertObjectsAreNotEqual(p,Constant.truePredicate());
- assertObjectsAreNotEqual(p,new UnaryFunctionUnaryPredicate(null));
- assertObjectsAreNotEqual(p,new UnaryFunctionUnaryPredicate(new Constant(Boolean.FALSE)));
- assertObjectsAreEqual(new UnaryFunctionUnaryPredicate(null),new UnaryFunctionUnaryPredicate(null));
+ assertObjectsAreEqual(p,new UnaryFunctionUnaryPredicate<Object>(Constant.TRUE));
+ assertObjectsAreNotEqual(p,Constant.TRUE);
+ assertObjectsAreNotEqual(p,new UnaryFunctionUnaryPredicate<Object>(Constant.FALSE));
}
public void testAdaptNull() throws Exception {
@@ -106,6 +84,6 @@
}
public void testAdapt() throws Exception {
- assertNotNull(UnaryFunctionUnaryPredicate.adapt(new Constant(Boolean.TRUE)));
+ assertNotNull(UnaryFunctionUnaryPredicate.adapt(Constant.TRUE));
}
}