http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/functional/src/main/java/org/qi4j/functional/Specifications.java ---------------------------------------------------------------------- diff --git a/core/functional/src/main/java/org/qi4j/functional/Specifications.java b/core/functional/src/main/java/org/qi4j/functional/Specifications.java index 7635579..9ff72ad 100644 --- a/core/functional/src/main/java/org/qi4j/functional/Specifications.java +++ b/core/functional/src/main/java/org/qi4j/functional/Specifications.java @@ -13,127 +13,104 @@ */ package org.qi4j.functional; +import java.util.function.Function; +import java.util.function.Predicate; + /** * Common generic specification expressions */ public class Specifications { - public static <T> Specification<T> TRUE() + public static <T> Predicate<T> TRUE() { - return new Specification<T>() - { - @Override - public boolean satisfiedBy( T instance ) - { - return true; - } - }; + return instance -> true; } - public static <T> Specification<T> not( final Specification<T> specification ) + public static <T> Predicate<T> not( final Predicate<T> specification ) { - return new Specification<T>() + return new Predicate<T>() { @Override - public boolean satisfiedBy( T instance ) + public boolean test( T instance ) { - return !specification.satisfiedBy( instance ); + return !specification.test( instance ); } }; } @SafeVarargs - public static <T> AndSpecification<T> and( final Specification<T>... specifications ) + public static <T> AndSpecification<T> and( final Predicate<T>... specifications ) { return and( Iterables.iterable( specifications ) ); } - public static <T> AndSpecification<T> and( final Iterable<Specification<T>> specifications ) + public static <T> AndSpecification<T> and( final Iterable<Predicate<T>> specifications ) { return new AndSpecification<>( specifications ); } @SafeVarargs - public static <T> OrSpecification<T> or( final Specification<T>... specifications ) + public static <T> OrSpecification<T> or( final Predicate<T>... specifications ) { return or( Iterables.iterable( specifications ) ); } - public static <T> OrSpecification<T> or( final Iterable<Specification<T>> specifications ) + public static <T> OrSpecification<T> or( final Iterable<Predicate<T>> specifications ) { return new OrSpecification<>( specifications ); } @SafeVarargs - public static <T> Specification<T> in( final T... allowed ) + public static <T> Predicate<T> in( final T... allowed ) { return in( Iterables.iterable( allowed ) ); } - public static <T> Specification<T> in( final Iterable<T> allowed ) + public static <T> Predicate<T> in( final Iterable<T> allowed ) { - return new Specification<T>() - { - @Override - public boolean satisfiedBy( T item ) + return item -> { + for( T allow : allowed ) { - for( T allow : allowed ) + if( allow.equals( item ) ) { - if( allow.equals( item ) ) - { - return true; - } + return true; } - return false; } + return false; }; } - public static <T> Specification<T> notNull() + public static <T> Predicate<T> notNull() { - return new Specification<T>() - { - @Override - public boolean satisfiedBy( T item ) - { - return item != null; - } - }; + return item -> item != null; } - public static <FROM, TO> Specification<FROM> translate( final Function<FROM, TO> function, - final Specification<? super TO> specification + public static <FROM, TO> Predicate<FROM> translate( final Function<FROM, TO> function, + final Predicate<? super TO> specification ) { - return new Specification<FROM>() - { - @Override - public boolean satisfiedBy( FROM item ) - { - return specification.satisfiedBy( function.map( item ) ); - } - }; + return item -> specification.test( function.apply( item ) ); } /** * AND Specification. */ public static class AndSpecification<T> - implements Specification<T> + implements Predicate<T> { - private final Iterable<Specification<T>> specifications; + private final Iterable<Predicate<T>> specifications; - private AndSpecification( Iterable<Specification<T>> specifications ) + private AndSpecification( Iterable<Predicate<T>> specifications ) { this.specifications = specifications; } @Override - public boolean satisfiedBy( T instance ) + public boolean test( T instance ) { - for( Specification<T> specification : specifications ) + for( Predicate<T> specification : specifications ) { - if( !specification.satisfiedBy( instance ) ) + if( !specification.test( instance ) ) { return false; } @@ -143,15 +120,15 @@ public class Specifications } @SafeVarargs - public final AndSpecification<T> and( Specification<T>... specifications ) + public final AndSpecification<T> and( Predicate<T>... specifications ) { - Iterable<Specification<T>> iterable = Iterables.iterable( specifications ); - Iterable<Specification<T>> flatten = Iterables.flatten( this.specifications, iterable ); + Iterable<Predicate<T>> iterable = Iterables.iterable( specifications ); + Iterable<Predicate<T>> flatten = Iterables.flatten( this.specifications, iterable ); return Specifications.and( flatten ); } @SafeVarargs - public final OrSpecification<T> or( Specification<T>... specifications ) + public final OrSpecification<T> or( Predicate<T>... specifications ) { return Specifications.or( Iterables.prepend( this, Iterables.iterable( specifications ) ) ); } @@ -161,21 +138,21 @@ public class Specifications * OR Specification. */ public static class OrSpecification<T> - implements Specification<T> + implements Predicate<T> { - private final Iterable<Specification<T>> specifications; + private final Iterable<Predicate<T>> specifications; - private OrSpecification( Iterable<Specification<T>> specifications ) + private OrSpecification( Iterable<Predicate<T>> specifications ) { this.specifications = specifications; } @Override - public boolean satisfiedBy( T instance ) + public boolean test( T instance ) { - for( Specification<T> specification : specifications ) + for( Predicate<T> specification : specifications ) { - if( specification.satisfiedBy( instance ) ) + if( specification.test( instance ) ) { return true; } @@ -185,16 +162,16 @@ public class Specifications } @SafeVarargs - public final AndSpecification<T> and( Specification<T>... specifications ) + public final AndSpecification<T> and( Predicate<T>... specifications ) { return Specifications.and( Iterables.prepend( this, Iterables.iterable( specifications ) ) ); } @SafeVarargs - public final OrSpecification<T> or( Specification<T>... specifications ) + public final OrSpecification<T> or( Predicate<T>... specifications ) { - Iterable<Specification<T>> iterable = Iterables.iterable( specifications ); - Iterable<Specification<T>> flatten = Iterables.flatten( this.specifications, iterable ); + Iterable<Predicate<T>> iterable = Iterables.iterable( specifications ); + Iterable<Predicate<T>> flatten = Iterables.flatten( this.specifications, iterable ); return Specifications.or( flatten ); } }
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/functional/src/test/java/org/qi4j/functional/FunctionsTest.java ---------------------------------------------------------------------- diff --git a/core/functional/src/test/java/org/qi4j/functional/FunctionsTest.java b/core/functional/src/test/java/org/qi4j/functional/FunctionsTest.java deleted file mode 100644 index 5f13459..0000000 --- a/core/functional/src/test/java/org/qi4j/functional/FunctionsTest.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.qi4j.functional; - -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.junit.Test; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.junit.Assert.assertThat; -import static org.qi4j.functional.ForEach.forEach; -import static org.qi4j.functional.Functions.compose; -import static org.qi4j.functional.Functions.count; -import static org.qi4j.functional.Functions.indexOf; -import static org.qi4j.functional.Functions.intSum; -import static org.qi4j.functional.Functions.longSum; -import static org.qi4j.functional.Iterables.iterable; -import static org.qi4j.functional.Iterables.last; -import static org.qi4j.functional.Iterables.map; -import static org.qi4j.functional.Specifications.in; - -/** - * Test of utility functions - */ -public class FunctionsTest -{ - Function<Object, String> stringifier = new Function<Object, String>() - { - @Override - public String map( Object s ) - { - return s.toString(); - } - }; - - Function<String, Integer> length = new Function<String, Integer>() - { - @Override - public Integer map( String s ) - { - return s.length(); - } - }; - - @Test - public void testCompose() - { - assertThat( Functions.<Object, String, Integer>compose() - .map( length, stringifier ) - .map( 12345L ), equalTo( 5 ) ); - assertThat( compose( length, stringifier ).map( 12345L ), equalTo( 5 ) ); - } - - @Test - public void testFromMap() - { - Map<String, String> map = new HashMap<String, String>(); - map.put( "A", "1" ); - map.put( "B", "2" ); - map.put( "C", "3" ); - assertThat( Iterables.toList( Iterables.filter( Specifications.notNull(), Iterables.map( Functions.fromMap( map ), Iterables - .iterable( "A", "B", "D" ) ) ) ).toString(), equalTo( "[1, 2]" ) ); - } - - @Test - public void testWithDefault() - { - assertThat( Iterables.toList( Iterables.map( Functions.withDefault( "DEFAULT" ), Iterables.iterable( "123", null, "456" ) ) ) - .toString(), equalTo( "[123, DEFAULT, 456]" ) ); - } - - @Test - public void testLongSum() - { - assertThat( last( map( longSum(), iterable( 1, 2L, 3F, 4D ) ) ), equalTo( 10L ) ); - } - - @Test - public void testLongSum2() - { - assertThat( forEach( iterable( 1, 2, 3, 4 ) ).map( longSum() ).last(), equalTo( 10L ) ); - } - - @Test - public void testIntSum() - { - assertThat( last( map( intSum(), iterable( 1, 2L, 3F, 4D ) ) ), equalTo( 10 ) ); - } - - @Test - public void testCount() - { - assertThat( last( map( count( in( "X" ) ), iterable( "X", "Y", "X", "X", "Y" ) ) ), equalTo( 3 ) ); - } - - @Test - public void testIndexOf() - { - assertThat( last( map( indexOf( in( "D" ) ), iterable( "A", "B", "C", "D", "D" ) ) ), equalTo( 3 ) ); - } - - @Test - public void testIndexOf2() - { - assertThat( indexOf( "D", iterable( "A", "B", "C", "D", "D" ) ), equalTo( 3 ) ); - } - - @Test - public void testComparator() - { - Comparator<Integer> comparator = Functions.comparator( new Function<Integer, Comparable>() - { - @Override - public Comparable map( Integer integer ) - { - return integer.toString(); - } - } ); - Iterable<Integer> iterable = Iterables.iterable( 1, 5, 3, 6, 8 ); - List<Integer> integers = Iterables.toList( iterable ); - Collections.sort( integers, comparator ); - assertThat( integers.toString(), equalTo( "[1, 3, 5, 6, 8]" ) ); - } -} http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/functional/src/test/java/org/qi4j/functional/IntegerRangeSpecificationTest.java ---------------------------------------------------------------------- diff --git a/core/functional/src/test/java/org/qi4j/functional/IntegerRangeSpecificationTest.java b/core/functional/src/test/java/org/qi4j/functional/IntegerRangeSpecificationTest.java deleted file mode 100644 index d29b24b..0000000 --- a/core/functional/src/test/java/org/qi4j/functional/IntegerRangeSpecificationTest.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2012, Niclas Hedhman. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.qi4j.functional; - -import org.junit.Test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -// This test exist primarily for the documentation. Don't remove. -public class IntegerRangeSpecificationTest -{ - @Test - public void test1() - { - Specification<Integer> spec = new IntegerRangeSpecification( 10, 12 ); - assertTrue( spec.satisfiedBy( 10 ) ); - assertTrue( spec.satisfiedBy( 11 ) ); - assertTrue( spec.satisfiedBy( 12 ) ); - assertFalse( spec.satisfiedBy( 9 ) ); - assertFalse( spec.satisfiedBy( 13 ) ); - } - - // START SNIPPET: specification - public static class IntegerRangeSpecification - implements Specification<Integer> - { - - private int lower; - private int higher; - - public IntegerRangeSpecification( int lower, int higher ) - { - this.lower = lower; - this.higher = higher; - } - - @Override - public boolean satisfiedBy( Integer item ) - { - return item >= lower && item <= higher; - } - } - // END SNIPPET: specification -} http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/functional/src/test/java/org/qi4j/functional/IterablesTest.java ---------------------------------------------------------------------- diff --git a/core/functional/src/test/java/org/qi4j/functional/IterablesTest.java b/core/functional/src/test/java/org/qi4j/functional/IterablesTest.java index 6aee556..ee2721c 100644 --- a/core/functional/src/test/java/org/qi4j/functional/IterablesTest.java +++ b/core/functional/src/test/java/org/qi4j/functional/IterablesTest.java @@ -18,6 +18,8 @@ import java.util.Collection; import java.util.Comparator; import java.util.Enumeration; import java.util.List; +import java.util.function.Function; +import java.util.function.Predicate; import org.hamcrest.CoreMatchers; import org.junit.Test; @@ -36,19 +38,6 @@ public class IterablesTest private Iterable<Integer> numberIntegers = Arrays.asList( 1, 2, 3 ); @Test - public void testConstant() - { - String str = ""; - - for( String string : Iterables.limit( 3, Iterables.constant( "123" ) ) ) - { - str += string; - } - - assertThat( str, CoreMatchers.equalTo( "123123123" ) ); - } - - @Test public void testUnique() { String str = ""; @@ -103,7 +92,7 @@ public class IterablesTest int sum = 0; @Override - public Integer map( Integer number ) + public Integer apply( Integer number ) { return sum += number; } @@ -172,7 +161,7 @@ public class IterablesTest assertThat( Iterables.toList( Iterables.map( new Function<String, String>() { - public String map( String s ) + public String apply( String s ) { return s + s; } @@ -184,7 +173,7 @@ public class IterablesTest { @Override - public Integer map( Collection collection ) + public Integer apply( Collection collection ) { return collection.size(); } @@ -231,7 +220,7 @@ public class IterablesTest { @Override - public String map( String s ) + public String apply( String s ) { return s + ":" + s.length(); } @@ -248,11 +237,11 @@ public class IterablesTest { final int[] count = new int[ 1 ]; - Iterable<String> b = Iterables.cache( Iterables.filter( Specifications.and( new Specification<String>() + Iterable<String> b = Iterables.cache( Iterables.filter( Specifications.and( new Predicate<String>() { @Override - public boolean satisfiedBy( String item ) + public boolean test( String item ) { count[ 0] = count[ 0] + 1; return true; http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/functional/src/test/java/org/qi4j/functional/SpecificationsTest.java ---------------------------------------------------------------------- diff --git a/core/functional/src/test/java/org/qi4j/functional/SpecificationsTest.java b/core/functional/src/test/java/org/qi4j/functional/SpecificationsTest.java deleted file mode 100644 index 98b893e..0000000 --- a/core/functional/src/test/java/org/qi4j/functional/SpecificationsTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2010, Rickard Ãberg. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.qi4j.functional; - -import org.junit.Assert; -import org.junit.Test; - -import static org.hamcrest.CoreMatchers.equalTo; - -/** - * JAVADOC - */ -public class SpecificationsTest -{ - @Test - public void testTRUE() - { - Assert.assertThat( Specifications.<Object>TRUE().satisfiedBy( new Object() ), equalTo( true ) ); - } - - @Test - public void testNot() - { - Assert.assertThat( Specifications.not( Specifications.<Object>TRUE() ) - .satisfiedBy( new Object() ), equalTo( false ) ); - } - - @Test - public void testAnd() - { - Specification<Object> trueSpec = Specifications.<Object>TRUE(); - Specification<Object> falseSpec = Specifications.not( Specifications.<Object>TRUE() ); - - Assert.assertThat( Specifications.and( falseSpec, falseSpec ).satisfiedBy( new Object() ), equalTo( false ) ); - Assert.assertThat( Specifications.and( trueSpec, falseSpec ).satisfiedBy( new Object() ), equalTo( false ) ); - Assert.assertThat( Specifications.and( falseSpec, trueSpec ).satisfiedBy( new Object() ), equalTo( false ) ); - Assert.assertThat( Specifications.and( trueSpec, trueSpec ).satisfiedBy( new Object() ), equalTo( true ) ); - } - - @Test - public void testOr() - { - Specification<Object> trueSpec = Specifications.<Object>TRUE(); - Specification<Object> falseSpec = Specifications.not( Specifications.<Object>TRUE() ); - - Assert.assertThat( Specifications.or( falseSpec, falseSpec ).satisfiedBy( new Object() ), equalTo( false ) ); - Assert.assertThat( Specifications.or( trueSpec, falseSpec ).satisfiedBy( new Object() ), equalTo( true ) ); - Assert.assertThat( Specifications.or( falseSpec, trueSpec ).satisfiedBy( new Object() ), equalTo( true ) ); - Assert.assertThat( Specifications.or( trueSpec, trueSpec ).satisfiedBy( new Object() ), equalTo( true ) ); - } - - @Test - public void testIn() - { - Assert.assertThat( Specifications.in( "1", "2", "3" ).satisfiedBy( "2" ), equalTo( true ) ); - Assert.assertThat( Specifications.in( "1", "2", "3" ).satisfiedBy( "4" ), equalTo( false ) ); - } - - @Test - public void testTranslate() - { - Function<Object, String> stringifier = new Function<Object, String>() - { - @Override - public String map( Object s ) - { - return s.toString(); - } - }; - - Assert.assertTrue( Specifications.translate( stringifier, Specifications.in( "3" ) ).satisfiedBy( 3L ) ); - } -} http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/functional/src/test/java/org/qi4j/functional/docsupport/FunctionalDocs.java ---------------------------------------------------------------------- diff --git a/core/functional/src/test/java/org/qi4j/functional/docsupport/FunctionalDocs.java b/core/functional/src/test/java/org/qi4j/functional/docsupport/FunctionalDocs.java index 30bb31b..c0ca3a6 100644 --- a/core/functional/src/test/java/org/qi4j/functional/docsupport/FunctionalDocs.java +++ b/core/functional/src/test/java/org/qi4j/functional/docsupport/FunctionalDocs.java @@ -1,10 +1,11 @@ package org.qi4j.functional.docsupport; import java.util.ArrayList; +import java.util.function.Function; -// START SNIPPET: func2 import static org.qi4j.functional.ForEach.forEach; -import static org.qi4j.functional.Functions.longSum; + +// START SNIPPET: func2 // END SNIPPET: func2 public class FunctionalDocs @@ -34,4 +35,19 @@ public class FunctionalDocs // END SNIPPET: func2 } } + + private static Function<Number, Long> longSum() + { + return new Function<Number, Long>() + { + long sum; + + @Override + public Long apply( Number number ) + { + sum += number.longValue(); + return sum; + } + }; + } } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/io/src/main/java/org/qi4j/io/Transforms.java ---------------------------------------------------------------------- diff --git a/core/io/src/main/java/org/qi4j/io/Transforms.java b/core/io/src/main/java/org/qi4j/io/Transforms.java index c7bcb7d..8573a0f 100644 --- a/core/io/src/main/java/org/qi4j/io/Transforms.java +++ b/core/io/src/main/java/org/qi4j/io/Transforms.java @@ -19,8 +19,8 @@ import java.nio.charset.Charset; import java.text.MessageFormat; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; -import org.qi4j.functional.Function; -import org.qi4j.functional.Specification; +import java.util.function.Function; +import java.util.function.Predicate; import org.slf4j.Logger; /** @@ -38,7 +38,7 @@ public class Transforms * * @return */ - public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> filter( final Specification<? super T> specification, + public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> filter( final Predicate<? super T> specification, final Output<T, ReceiverThrowableType> output ) { @@ -60,7 +60,7 @@ public class Transforms public void receive( T item ) throws ReceiverThrowableType { - if( specification.satisfiedBy( item ) ) + if( specification.test( item ) ) { receiver.receive( item ); } @@ -105,7 +105,7 @@ public class Transforms public void receive( From item ) throws ReceiverThrowableType { - receiver.receive( function.map( item ) ); + receiver.receive( function.apply( item ) ); } } ); } @@ -126,7 +126,7 @@ public class Transforms * * @return */ - public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> filteredMap( final Specification<? super T> specification, + public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> filteredMap( final Predicate<? super T> specification, final Function<? super T, ? extends T> function, final Output<T, ReceiverThrowableType> output ) @@ -149,9 +149,9 @@ public class Transforms public void receive( T item ) throws ReceiverThrowableType { - if( specification.satisfiedBy( item ) ) + if( specification.test( item ) ) { - receiver.receive( function.map( item ) ); + receiver.receive( function.apply( item ) ); } else { @@ -289,7 +289,7 @@ public class Transforms } @Override - public T map( T t ) + public T apply( T t ) { count++; return t; @@ -311,7 +311,7 @@ public class Transforms } @Override - public byte[] map( String s ) + public byte[] apply( String s ) { return s.getBytes( charSet ); } @@ -331,7 +331,7 @@ public class Transforms } @Override - public String map( ByteBuffer buffer ) + public String apply( ByteBuffer buffer ) { return new String( buffer.array(), charSet ); } @@ -344,7 +344,7 @@ public class Transforms implements Function<Object, String> { @Override - public String map( Object o ) + public String apply( Object o ) { return o.toString(); } @@ -369,7 +369,7 @@ public class Transforms } @Override - public T map( T item ) + public T apply( T item ) { logger.info( format.format( new String[]{ item.toString() } ) ); return item; @@ -408,9 +408,9 @@ public class Transforms } @Override - public T map( T t ) + public T apply( T t ) { - counter.map( t ); + counter.apply( t ); if( counter.count % interval == 0 ) { logProgress(); @@ -423,7 +423,7 @@ public class Transforms { if( log != null ) { - log.map( counter.count + "" ); + log.apply( counter.count + "" ); } } } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/io/src/test/java/org/qi4j/io/InputOutputTest.java ---------------------------------------------------------------------- diff --git a/core/io/src/test/java/org/qi4j/io/InputOutputTest.java b/core/io/src/test/java/org/qi4j/io/InputOutputTest.java index 72f2885..7eb06d6 100644 --- a/core/io/src/test/java/org/qi4j/io/InputOutputTest.java +++ b/core/io/src/test/java/org/qi4j/io/InputOutputTest.java @@ -33,10 +33,10 @@ import java.util.Arrays; import java.util.List; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import java.util.function.Function; import org.hamcrest.CoreMatchers; import org.junit.Assert; import org.junit.Test; -import org.qi4j.functional.Function; import org.qi4j.functional.Visitor; import org.slf4j.LoggerFactory; @@ -176,7 +176,7 @@ public class InputOutputTest stringCounter, Transforms.map( new Function<String, String>() { - public String map( String s ) + public String apply( String s ) { System.out.println( s ); return s; @@ -205,7 +205,7 @@ public class InputOutputTest stringCounter, Transforms.map( new Function<String, String>() { - public String map( String s ) + public String apply( String s ) { System.out.println( s ); return s; http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/association/AbstractAssociationInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/association/AbstractAssociationInstance.java b/core/runtime/src/main/java/org/qi4j/runtime/association/AbstractAssociationInstance.java index e42b2c5..52e4f2d 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/association/AbstractAssociationInstance.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/association/AbstractAssociationInstance.java @@ -3,10 +3,10 @@ package org.qi4j.runtime.association; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.lang.reflect.Type; +import java.util.function.BiFunction; import org.qi4j.api.association.AbstractAssociation; import org.qi4j.api.entity.EntityComposite; import org.qi4j.api.entity.EntityReference; -import org.qi4j.functional.Function2; import org.qi4j.runtime.composite.ProxyReferenceInvocationHandler; import org.qi4j.runtime.entity.EntityInstance; @@ -17,10 +17,10 @@ public abstract class AbstractAssociationInstance<T> implements AbstractAssociation { protected AssociationInfo associationInfo; - private final Function2<EntityReference, Type, Object> entityFunction; + private final BiFunction<EntityReference, Type, Object> entityFunction; public AbstractAssociationInstance( AssociationInfo associationInfo, - Function2<EntityReference, Type, Object> entityFunction + BiFunction<EntityReference, Type, Object> entityFunction ) { this.associationInfo = associationInfo; @@ -45,7 +45,7 @@ public abstract class AbstractAssociationInstance<T> return null; } - return (T) entityFunction.map( entityId, associationInfo.type() ); + return (T) entityFunction.apply( entityId, associationInfo.type() ); } protected EntityReference getEntityReference( Object composite ) http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/association/AssociationInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/association/AssociationInstance.java b/core/runtime/src/main/java/org/qi4j/runtime/association/AssociationInstance.java index d5babcd..cc8deb4 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/association/AssociationInstance.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/association/AssociationInstance.java @@ -15,12 +15,12 @@ package org.qi4j.runtime.association; import java.lang.reflect.Type; +import java.util.function.BiFunction; import org.qi4j.api.association.Association; import org.qi4j.api.association.AssociationDescriptor; import org.qi4j.api.association.AssociationWrapper; import org.qi4j.api.entity.EntityReference; import org.qi4j.api.property.Property; -import org.qi4j.functional.Function2; /** * Implementation of Association to a single Entity. @@ -32,7 +32,7 @@ public final class AssociationInstance<T> private Property<EntityReference> associationState; public AssociationInstance( AssociationInfo associationInfo, - Function2<EntityReference, Type, Object> entityFunction, + BiFunction<EntityReference, Type, Object> entityFunction, Property<EntityReference> associationState ) { http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationInstance.java b/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationInstance.java index a946862..b28b7cb 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationInstance.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationInstance.java @@ -6,11 +6,11 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.function.BiFunction; import org.qi4j.api.association.AssociationDescriptor; import org.qi4j.api.association.ManyAssociation; import org.qi4j.api.association.ManyAssociationWrapper; import org.qi4j.api.entity.EntityReference; -import org.qi4j.functional.Function2; import org.qi4j.runtime.composite.ConstraintsCheck; import org.qi4j.spi.entity.ManyAssociationState; @@ -24,7 +24,7 @@ public class ManyAssociationInstance<T> private ManyAssociationState manyAssociationState; public ManyAssociationInstance( AssociationInfo associationInfo, - Function2<EntityReference, Type, Object> associationFunction, + BiFunction<EntityReference, Type, Object> associationFunction, ManyAssociationState manyAssociationState ) { http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationModel.java b/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationModel.java index 3cc5d81..3c3b438 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/association/ManyAssociationModel.java @@ -24,6 +24,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.List; +import java.util.function.BiFunction; import org.qi4j.api.association.AssociationDescriptor; import org.qi4j.api.association.GenericAssociationInfo; import org.qi4j.api.association.ManyAssociation; @@ -37,7 +38,6 @@ import org.qi4j.api.entity.Queryable; import org.qi4j.api.property.Immutable; import org.qi4j.api.util.Classes; import org.qi4j.bootstrap.BindingException; -import org.qi4j.functional.Function2; import org.qi4j.functional.Visitable; import org.qi4j.functional.Visitor; import org.qi4j.runtime.composite.ValueConstraintsInstance; @@ -142,12 +142,12 @@ public final class ManyAssociationModel public <T> ManyAssociation<T> newInstance( final ModuleUnitOfWork uow, EntityState state ) { - return new ManyAssociationInstance<>( state instanceof BuilderEntityState ? builderInfo : this, new Function2<EntityReference, Type, Object>() + return new ManyAssociationInstance<>( state instanceof BuilderEntityState ? builderInfo : this, new BiFunction<EntityReference, Type, Object>() { @Override - public Object map( EntityReference entityReference, Type type ) + public Object apply( EntityReference entityReference, Type type ) { - return uow.get( Classes.RAW_CLASS.map( type ), entityReference.identity() ); + return uow.get( Classes.RAW_CLASS.apply( type ), entityReference.identity() ); } }, state.manyAssociationValueOf( qualifiedName ) ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationInstance.java b/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationInstance.java index 4ca67b2..f606f79 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationInstance.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationInstance.java @@ -22,9 +22,9 @@ import java.lang.reflect.Type; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.function.BiFunction; import org.qi4j.api.association.NamedAssociation; import org.qi4j.api.entity.EntityReference; -import org.qi4j.functional.Function2; import org.qi4j.runtime.composite.ConstraintsCheck; import org.qi4j.spi.entity.NamedAssociationState; @@ -36,7 +36,7 @@ public class NamedAssociationInstance<T> private final NamedAssociationState namedAssociationState; public NamedAssociationInstance( AssociationInfo associationInfo, - Function2<EntityReference, Type, Object> associationFunction, + BiFunction<EntityReference, Type, Object> associationFunction, NamedAssociationState namedAssociationState ) { super( associationInfo, associationFunction ); http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationModel.java b/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationModel.java index 7c144d0..65a7cfe 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/association/NamedAssociationModel.java @@ -25,6 +25,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.List; +import java.util.function.BiFunction; import org.qi4j.api.association.AssociationDescriptor; import org.qi4j.api.association.GenericAssociationInfo; import org.qi4j.api.association.NamedAssociation; @@ -38,7 +39,6 @@ import org.qi4j.api.entity.Queryable; import org.qi4j.api.property.Immutable; import org.qi4j.api.util.Classes; import org.qi4j.bootstrap.BindingException; -import org.qi4j.functional.Function2; import org.qi4j.functional.Visitable; import org.qi4j.functional.Visitor; import org.qi4j.runtime.composite.ValueConstraintsInstance; @@ -143,12 +143,12 @@ public final class NamedAssociationModel public <T> NamedAssociation<T> newInstance( final ModuleUnitOfWork uow, EntityState state ) { - return new NamedAssociationInstance<>( state instanceof BuilderEntityState ? builderInfo : this, new Function2<EntityReference, Type, Object>() + return new NamedAssociationInstance<>( state instanceof BuilderEntityState ? builderInfo : this, new BiFunction<EntityReference, Type, Object>() { @Override - public Object map( EntityReference entityReference, Type type ) + public Object apply( EntityReference entityReference, Type type ) { - return uow.get( Classes.RAW_CLASS.map( type ), entityReference.identity() ); + return uow.get( Classes.RAW_CLASS.apply( type ), entityReference.identity() ); } }, state.namedAssociationValueOf( qualifiedName ) ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/CompositeAssemblyImpl.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/CompositeAssemblyImpl.java b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/CompositeAssemblyImpl.java index 7441390..5f064ff 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/CompositeAssemblyImpl.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/CompositeAssemblyImpl.java @@ -32,6 +32,8 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.function.Function; +import java.util.function.Predicate; import org.qi4j.api.common.MetaInfo; import org.qi4j.api.common.Optional; import org.qi4j.api.common.QualifiedName; @@ -58,10 +60,8 @@ import org.qi4j.api.util.Classes; import org.qi4j.api.util.Fields; import org.qi4j.bootstrap.StateDeclarations; import org.qi4j.functional.ForEach; -import org.qi4j.functional.Function; import org.qi4j.functional.HierarchicalVisitorAdapter; import org.qi4j.functional.Iterables; -import org.qi4j.functional.Specification; import org.qi4j.functional.Visitor; import org.qi4j.runtime.composite.AbstractConstraintModel; import org.qi4j.runtime.composite.CompositeConstraintModel; @@ -314,10 +314,10 @@ public abstract class CompositeAssemblyImpl // Check if mixinClass implements the method. If so, check if the mixinClass is generic or if the filter passes. // If a mixinClass is both generic AND non-generic at the same time, then the filter applies to the non-generic // side only. - Specification<Class<?>> appliesToSpec = new Specification<Class<?>>() + Predicate<Class<?>> appliesToSpec = new Predicate<Class<?>>() { @Override - public boolean satisfiedBy( Class<?> item ) + public boolean test( Class<?> item ) { return helper.appliesTo( item, method, types, item ); } @@ -331,10 +331,10 @@ public abstract class CompositeAssemblyImpl private Class<?> findGenericImplementation( final Method method, Iterable<Class<?>> mixins ) { // Check if mixinClass is generic and the applies-to filter passes - return first( filter( and( GenericSpecification.INSTANCE, new Specification<Class<?>>() + return first( filter( and( GenericSpecification.INSTANCE, new Predicate<Class<?>>() { @Override - public boolean satisfiedBy( Class<?> item ) + public boolean test( Class<?> item ) { return helper.appliesTo( item, method, types, item ); } @@ -399,7 +399,7 @@ public abstract class CompositeAssemblyImpl return true; } }; - ForEach.forEach( Fields.FIELDS_OF.map( model.mixinClass() ) ). + ForEach.forEach( Fields.FIELDS_OF.apply( model.mixinClass() ) ). filter( Annotations.hasAnnotation( State.class ) ). visit( addState ); return false; @@ -420,7 +420,7 @@ public abstract class CompositeAssemblyImpl return; // Skip already registered names } - if( Property.class.isAssignableFrom( Classes.RAW_CLASS.map( typeOf( accessor ) ) ) ) + if( Property.class.isAssignableFrom( Classes.RAW_CLASS.apply( typeOf( accessor ) ) ) ) { propertiesModel.addProperty( newPropertyModel( accessor, constraintClasses ) ); registeredStateNames.add( stateName ); @@ -694,7 +694,7 @@ public abstract class CompositeAssemblyImpl Function<Type, Iterable<Class<? extends Constraint<?, ?>>>> function = new Function<Type, Iterable<Class<? extends Constraint<?, ?>>>>() { @Override - public Iterable<Class<? extends Constraint<?, ?>>> map( Type type ) + public Iterable<Class<? extends Constraint<?, ?>>> apply( Type type ) { Constraints constraints = Annotations.annotationOn( type, Constraints.class ); if( constraints == null ) @@ -724,7 +724,7 @@ public abstract class CompositeAssemblyImpl Function<Type, Iterable<Class<?>>> function = new Function<Type, Iterable<Class<?>>>() { @Override - public Iterable<Class<?>> map( Type type ) + public Iterable<Class<?>> apply( Type type ) { Concerns concerns = Annotations.annotationOn( type, Concerns.class ); if( concerns == null ) @@ -754,7 +754,7 @@ public abstract class CompositeAssemblyImpl Function<Type, Iterable<Class<?>>> function = new Function<Type, Iterable<Class<?>>>() { @Override - public Iterable<Class<?>> map( Type type ) + public Iterable<Class<?>> apply( Type type ) { SideEffects sideEffects = Annotations.annotationOn( type, SideEffects.class ); if( sideEffects == null ) @@ -818,7 +818,7 @@ public abstract class CompositeAssemblyImpl Function<Type, Iterable<Class<?>>> function = new Function<Type, Iterable<Class<?>>>() { @Override - public Iterable<Class<?>> map( Type type ) + public Iterable<Class<?>> apply( Type type ) { Mixins mixins = Annotations.annotationOn( type, Mixins.class ); if( mixins == null ) http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/EntityAssemblyImpl.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/EntityAssemblyImpl.java b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/EntityAssemblyImpl.java index e74f63c..1d06720 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/EntityAssemblyImpl.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/EntityAssemblyImpl.java @@ -139,7 +139,7 @@ public final class EntityAssemblyImpl return; // Skip already registered names } - Class<?> accessorType = Classes.RAW_CLASS.map( typeOf( accessor ) ); + Class<?> accessorType = Classes.RAW_CLASS.apply( typeOf( accessor ) ); if( Property.class.isAssignableFrom( accessorType ) ) { propertiesModel.addProperty( newPropertyModel( accessor, constraintClasses ) ); http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/LayerAssemblyImpl.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/LayerAssemblyImpl.java b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/LayerAssemblyImpl.java index 8853f92..b0d6882 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/LayerAssemblyImpl.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/LayerAssemblyImpl.java @@ -23,6 +23,7 @@ import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import java.util.function.Predicate; import org.qi4j.api.activation.Activator; import org.qi4j.api.common.MetaInfo; import org.qi4j.api.common.Visibility; @@ -44,7 +45,6 @@ import org.qi4j.bootstrap.TransientAssembly; import org.qi4j.bootstrap.TransientDeclaration; import org.qi4j.bootstrap.ValueAssembly; import org.qi4j.bootstrap.ValueDeclaration; -import org.qi4j.functional.Specification; /** * Assembly of a Layer. From here you can create more ModuleAssemblies for @@ -135,7 +135,7 @@ public final class LayerAssemblyImpl } @Override - public EntityDeclaration entities( Specification<? super EntityAssembly> specification ) + public EntityDeclaration entities( Predicate<? super EntityAssembly> specification ) { final List<EntityDeclaration> declarations = new ArrayList<>(); @@ -209,7 +209,7 @@ public final class LayerAssemblyImpl } @Override - public ServiceDeclaration services( Specification<? super ServiceAssembly> specification ) + public ServiceDeclaration services( Predicate<? super ServiceAssembly> specification ) { final List<ServiceDeclaration> declarations = new ArrayList<>(); @@ -325,7 +325,7 @@ public final class LayerAssemblyImpl } @Override - public TransientDeclaration transients( Specification<? super TransientAssembly> specification ) + public TransientDeclaration transients( Predicate<? super TransientAssembly> specification ) { final List<TransientDeclaration> declarations = new ArrayList<>(); @@ -399,7 +399,7 @@ public final class LayerAssemblyImpl } @Override - public ValueDeclaration values( Specification<? super ValueAssembly> specification ) + public ValueDeclaration values( Predicate<? super ValueAssembly> specification ) { final List<ValueDeclaration> declarations = new ArrayList<>(); @@ -472,7 +472,7 @@ public final class LayerAssemblyImpl } @Override - public ObjectDeclaration objects( Specification<? super ObjectAssembly> specification ) + public ObjectDeclaration objects( Predicate<? super ObjectAssembly> specification ) { final List<ObjectDeclaration> declarations = new ArrayList<>(); @@ -506,7 +506,7 @@ public final class LayerAssemblyImpl } @Override - public ImportedServiceDeclaration importedServices( Specification<? super ImportedServiceAssembly> specification ) + public ImportedServiceDeclaration importedServices( Predicate<? super ImportedServiceAssembly> specification ) { final List<ImportedServiceDeclaration> declarations = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ModuleAssemblyImpl.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ModuleAssemblyImpl.java b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ModuleAssemblyImpl.java index eb038eb..7535b4d 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ModuleAssemblyImpl.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ModuleAssemblyImpl.java @@ -22,6 +22,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Predicate; import org.qi4j.api.activation.Activator; import org.qi4j.api.common.MetaInfo; import org.qi4j.api.common.Visibility; @@ -51,7 +52,6 @@ import org.qi4j.bootstrap.TransientDeclaration; import org.qi4j.bootstrap.ValueAssembly; import org.qi4j.bootstrap.ValueDeclaration; import org.qi4j.functional.Iterables; -import org.qi4j.functional.Specification; import org.qi4j.runtime.activation.ActivatorsModel; import org.qi4j.runtime.composite.TransientModel; import org.qi4j.runtime.composite.TransientsModel; @@ -163,12 +163,12 @@ public final class ModuleAssemblyImpl } @Override - public ValueDeclaration values( Specification<? super ValueAssembly> specification ) + public ValueDeclaration values( Predicate<? super ValueAssembly> specification ) { List<ValueAssemblyImpl> assemblies = new ArrayList<>(); for( ValueAssemblyImpl transientAssembly : valueAssemblies.values() ) { - if( specification.satisfiedBy( transientAssembly ) ) + if( specification.test( transientAssembly ) ) { assemblies.add( transientAssembly ); } @@ -201,12 +201,12 @@ public final class ModuleAssemblyImpl } @Override - public TransientDeclaration transients( Specification<? super TransientAssembly> specification ) + public TransientDeclaration transients( Predicate<? super TransientAssembly> specification ) { List<TransientAssemblyImpl> assemblies = new ArrayList<>(); for( TransientAssemblyImpl transientAssembly : transientAssemblies.values() ) { - if( specification.satisfiedBy( transientAssembly ) ) + if( specification.test( transientAssembly ) ) { assemblies.add( transientAssembly ); } @@ -239,12 +239,12 @@ public final class ModuleAssemblyImpl } @Override - public EntityDeclaration entities( Specification<? super EntityAssembly> specification ) + public EntityDeclaration entities( Predicate<? super EntityAssembly> specification ) { List<EntityAssemblyImpl> assemblies = new ArrayList<>(); for( EntityAssemblyImpl entityAssembly : entityAssemblies.values() ) { - if( specification.satisfiedBy( entityAssembly ) ) + if( specification.test( entityAssembly ) ) { assemblies.add( entityAssembly ); } @@ -281,12 +281,12 @@ public final class ModuleAssemblyImpl } @Override - public ObjectDeclaration objects( Specification<? super ObjectAssembly> specification ) + public ObjectDeclaration objects( Predicate<? super ObjectAssembly> specification ) { List<ObjectAssemblyImpl> assemblies = new ArrayList<>(); for( ObjectAssemblyImpl objectAssembly : objectAssemblies.values() ) { - if( specification.satisfiedBy( objectAssembly ) ) + if( specification.test( objectAssembly ) ) { assemblies.add( objectAssembly ); } @@ -333,12 +333,12 @@ public final class ModuleAssemblyImpl } @Override - public ServiceDeclaration services( Specification<? super ServiceAssembly> specification ) + public ServiceDeclaration services( Predicate<? super ServiceAssembly> specification ) { List<ServiceAssemblyImpl> assemblies = new ArrayList<>(); for( ServiceAssemblyImpl serviceAssembly : serviceAssemblies ) { - if( specification.satisfiedBy( serviceAssembly ) ) + if( specification.test( serviceAssembly ) ) { assemblies.add( serviceAssembly ); } @@ -370,12 +370,12 @@ public final class ModuleAssemblyImpl } @Override - public ImportedServiceDeclaration importedServices( Specification<? super ImportedServiceAssembly> specification ) + public ImportedServiceDeclaration importedServices( Predicate<? super ImportedServiceAssembly> specification ) { List<ImportedServiceAssemblyImpl> assemblies = new ArrayList<>(); for( ImportedServiceAssemblyImpl objectAssembly : importedServiceAssemblies.values() ) { - if( specification.satisfiedBy( objectAssembly ) ) + if( specification.test( objectAssembly ) ) { assemblies.add( objectAssembly ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ServiceAssemblyImpl.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ServiceAssemblyImpl.java b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ServiceAssemblyImpl.java index 1adbfe6..ca7e4e6 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ServiceAssemblyImpl.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ServiceAssemblyImpl.java @@ -17,6 +17,7 @@ package org.qi4j.runtime.bootstrap; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; +import java.util.function.Function; import org.qi4j.api.activation.Activator; import org.qi4j.api.activation.Activators; import org.qi4j.api.common.InvalidApplicationException; @@ -25,7 +26,6 @@ import org.qi4j.api.util.Annotations; import org.qi4j.api.util.Classes; import org.qi4j.bootstrap.ServiceAssembly; import org.qi4j.bootstrap.StateDeclarations; -import org.qi4j.functional.Function; import org.qi4j.functional.Iterables; import org.qi4j.runtime.activation.ActivatorsModel; import org.qi4j.runtime.service.ServiceModel; @@ -88,7 +88,7 @@ public final class ServiceAssemblyImpl extends CompositeAssemblyImpl Function<Type, Iterable<Class<? extends Activator<?>>>> function = new Function<Type, Iterable<Class<? extends Activator<?>>>>() { @Override - public Iterable<Class<? extends Activator<?>>> map( Type type ) + public Iterable<Class<? extends Activator<?>>> apply( Type type ) { Activators activators = Annotations.annotationOn( type, Activators.class ); if( activators == null ) http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ValueAssemblyImpl.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ValueAssemblyImpl.java b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ValueAssemblyImpl.java index 605efa1..4c4b38b 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ValueAssemblyImpl.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/bootstrap/ValueAssemblyImpl.java @@ -118,7 +118,7 @@ public final class ValueAssemblyImpl return; // Skip already registered names } - Class<?> accessorType = Classes.RAW_CLASS.map( typeOf( accessor ) ); + Class<?> accessorType = Classes.RAW_CLASS.apply( typeOf( accessor ) ); if( Property.class.isAssignableFrom( accessorType ) ) { propertiesModel.addProperty( newPropertyModel( accessor, constraintClasses ) ); http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/composite/CompositeMethodModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/CompositeMethodModel.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/CompositeMethodModel.java index e925b9d..a72f63d 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/CompositeMethodModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/CompositeMethodModel.java @@ -216,7 +216,7 @@ public final class CompositeMethodModel try { MixinModel model = mixins.mixinFor( method ); - if( GenericSpecification.INSTANCE.satisfiedBy( model.mixinClass() ) ) + if( GenericSpecification.INSTANCE.test( model.mixinClass() ) ) { return false; } @@ -237,7 +237,7 @@ public final class CompositeMethodModel try { MixinModel model = mixins.mixinFor( method ); - if( !GenericSpecification.INSTANCE.satisfiedBy( model.mixinClass() ) ) + if( !GenericSpecification.INSTANCE.test( model.mixinClass() ) ) { T annotation = annotationClass.cast( model.mixinClass() .getMethod( method.getName(), method.getParameterTypes() ) @@ -264,7 +264,7 @@ public final class CompositeMethodModel List<Annotation> annotations = new ArrayList<Annotation>(); MixinModel model = mixins.mixinFor( method ); Annotation[] mixinAnnotations = new Annotation[ 0 ]; - if( !GenericSpecification.INSTANCE.satisfiedBy( model.mixinClass() ) ) + if( !GenericSpecification.INSTANCE.test( model.mixinClass() ) ) { mixinAnnotations = model.mixinClass().getAnnotations(); annotations.addAll( Arrays.asList( mixinAnnotations ) ); http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstraintDeclaration.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstraintDeclaration.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstraintDeclaration.java index 048c4ed..91a3b3b 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstraintDeclaration.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstraintDeclaration.java @@ -51,14 +51,14 @@ public final class ConstraintDeclaration if( constraintValueType instanceof Class ) { Class constraintValueClass = (Class) constraintValueType; - Class valueClass = Classes.RAW_CLASS.map( valueType ); + Class valueClass = Classes.RAW_CLASS.apply( valueType ); return constraintAnnotationType.equals( annotationType ) && constraintValueClass.isAssignableFrom( valueClass ); } else if( constraintValueType instanceof ParameterizedType ) { // TODO Handle nested generics - Class constraintValueClass = Classes.RAW_CLASS.map( constraintValueType ); - Class valueClass = Classes.RAW_CLASS.map( valueType ); + Class constraintValueClass = Classes.RAW_CLASS.apply( constraintValueType ); + Class valueClass = Classes.RAW_CLASS.apply( valueType ); return constraintAnnotationType.equals( annotationType ) && constraintValueClass.isAssignableFrom( valueClass ); } else http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstructorsModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstructorsModel.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstructorsModel.java index f482d3b..fd869d2 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstructorsModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/ConstructorsModel.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.util.function.Function; import org.qi4j.api.common.ConstructionException; import org.qi4j.api.composite.CompositeDescriptor; import org.qi4j.api.composite.InvalidCompositeException; @@ -32,7 +33,6 @@ import org.qi4j.api.injection.scope.Uses; import org.qi4j.api.util.Annotations; import org.qi4j.api.util.Classes; import org.qi4j.bootstrap.BindingException; -import org.qi4j.functional.Function; import org.qi4j.functional.HierarchicalVisitor; import org.qi4j.functional.HierarchicalVisitorAdapter; import org.qi4j.functional.Iterables; @@ -112,7 +112,7 @@ public final class ConstructorsModel Function<ConstructorModel, Iterable<DependencyModel>> constructorDependencies = new Function<ConstructorModel, Iterable<DependencyModel>>() { @Override - public Iterable<DependencyModel> map( ConstructorModel constructorModel ) + public Iterable<DependencyModel> apply( ConstructorModel constructorModel ) { return constructorModel.dependencies(); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/composite/GenericSpecification.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/GenericSpecification.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/GenericSpecification.java index bc0f612..3908381 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/GenericSpecification.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/GenericSpecification.java @@ -1,18 +1,18 @@ package org.qi4j.runtime.composite; import java.lang.reflect.InvocationHandler; -import org.qi4j.functional.Specification; +import java.util.function.Predicate; /** * Specification that checks whether a given class implements InvocationHandler or not. */ public class GenericSpecification - implements Specification<Class<?>> + implements Predicate<Class<?>> { public static final GenericSpecification INSTANCE = new GenericSpecification(); @Override - public boolean satisfiedBy( Class<?> item ) + public boolean test( Class<?> item ) { return InvocationHandler.class.isAssignableFrom( item ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/composite/MixinsModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/MixinsModel.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/MixinsModel.java index 8a4c349..eb5fe4f 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/MixinsModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/MixinsModel.java @@ -23,12 +23,12 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Function; +import java.util.function.Predicate; import org.qi4j.api.util.Classes; import org.qi4j.bootstrap.BindingException; -import org.qi4j.functional.Function; import org.qi4j.functional.HierarchicalVisitor; import org.qi4j.functional.HierarchicalVisitorAdapter; -import org.qi4j.functional.Specification; import org.qi4j.functional.VisitableHierarchy; import org.qi4j.runtime.injection.DependencyModel; import org.qi4j.runtime.injection.InjectedFieldModel; @@ -90,7 +90,7 @@ public class MixinsModel { for( Type type : interfacesOf( mixinType ) ) { - mixinTypes.add( Classes.RAW_CLASS.map( type ) ); + mixinTypes.add( Classes.RAW_CLASS.apply( type ) ); } } @@ -194,7 +194,7 @@ public class MixinsModel return flattenIterables( map( new Function<MixinModel, Iterable<DependencyModel>>() { @Override - public Iterable<DependencyModel> map( MixinModel mixinModel ) + public Iterable<DependencyModel> apply( MixinModel mixinModel ) { return mixinModel.dependencies(); } @@ -206,14 +206,14 @@ public class MixinsModel return map( new Function<Map.Entry<Method, MixinModel>, Method>() { @Override - public Method map( Map.Entry<Method, MixinModel> entry ) + public Method apply( Map.Entry<Method, MixinModel> entry ) { return entry.getKey(); } - }, filter( new Specification<Map.Entry<Method, MixinModel>>() + }, filter( new Predicate<Map.Entry<Method, MixinModel>>() { @Override - public boolean satisfiedBy( Map.Entry<Method, MixinModel> item ) + public boolean test( Map.Entry<Method, MixinModel> item ) { MixinModel model = item.getValue(); return model.mixinClass().equals( mixinClass ); http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientInstance.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientInstance.java index 508acf0..bc402c9 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientInstance.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientInstance.java @@ -142,7 +142,7 @@ public class TransientInstance { return false; } - TransientInstance other = (TransientInstance) Qi4j.FUNCTION_COMPOSITE_INSTANCE_OF.map( (Composite) o ); + TransientInstance other = (TransientInstance) Qi4j.FUNCTION_COMPOSITE_INSTANCE_OF.apply( (Composite) o ); if( other.mixins.length != mixins.length ) { return false; http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/entity/EntityStateInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/entity/EntityStateInstance.java b/core/runtime/src/main/java/org/qi4j/runtime/entity/EntityStateInstance.java index d44a3f9..0eaa783 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/entity/EntityStateInstance.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/entity/EntityStateInstance.java @@ -23,6 +23,8 @@ import java.lang.reflect.AccessibleObject; import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; +import java.util.function.BiFunction; +import java.util.function.Function; import org.qi4j.api.association.Association; import org.qi4j.api.association.AssociationDescriptor; import org.qi4j.api.association.AssociationStateHolder; @@ -33,8 +35,6 @@ import org.qi4j.api.property.Property; import org.qi4j.api.property.PropertyDescriptor; import org.qi4j.api.unitofwork.UnitOfWork; import org.qi4j.api.util.Classes; -import org.qi4j.functional.Function; -import org.qi4j.functional.Function2; import org.qi4j.functional.Iterables; import org.qi4j.runtime.association.AssociationInstance; import org.qi4j.runtime.association.AssociationModel; @@ -57,19 +57,19 @@ public final class EntityStateInstance private final EntityStateModel stateModel; private EntityState entityState; - private final Function2<EntityReference, Type, Object> entityFunction; + private final BiFunction<EntityReference, Type, Object> entityFunction; public EntityStateInstance( EntityStateModel stateModel, final UnitOfWork uow, EntityState entityState ) { this.stateModel = stateModel; this.entityState = entityState; - entityFunction = new Function2<EntityReference, Type, Object>() + entityFunction = new BiFunction<EntityReference, Type, Object>() { @Override - public Object map( EntityReference entityReference, Type type ) + public Object apply( EntityReference entityReference, Type type ) { - return uow.get( Classes.RAW_CLASS.map( type ), entityReference.identity() ); + return uow.get( Classes.RAW_CLASS.apply( type ), entityReference.identity() ); } }; } @@ -103,7 +103,7 @@ public final class EntityStateInstance return Iterables.map( new Function<PropertyDescriptor, Property<?>>() { @Override - public Property<?> map( PropertyDescriptor propertyDescriptor ) + public Property<?> apply( PropertyDescriptor propertyDescriptor ) { return propertyFor( propertyDescriptor.accessor() ); } @@ -153,7 +153,7 @@ public final class EntityStateInstance return Iterables.map( new Function<AssociationDescriptor, Association<?>>() { @Override - public Association<?> map( AssociationDescriptor associationDescriptor ) + public Association<?> apply( AssociationDescriptor associationDescriptor ) { return associationFor( associationDescriptor.accessor() ); } @@ -189,7 +189,7 @@ public final class EntityStateInstance return Iterables.map( new Function<AssociationDescriptor, ManyAssociation<?>>() { @Override - public ManyAssociation<?> map( AssociationDescriptor associationDescriptor ) + public ManyAssociation<?> apply( AssociationDescriptor associationDescriptor ) { return manyAssociationFor( associationDescriptor.accessor() ); } @@ -225,7 +225,7 @@ public final class EntityStateInstance return Iterables.map( new Function<AssociationDescriptor, NamedAssociation<?>>() { @Override - public NamedAssociation<?> map( AssociationDescriptor associationDescriptor ) + public NamedAssociation<?> apply( AssociationDescriptor associationDescriptor ) { return namedAssociationFor( associationDescriptor.accessor() ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/Dependencies.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/Dependencies.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/Dependencies.java index 39bc468..f2aa380 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/Dependencies.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/Dependencies.java @@ -1,6 +1,6 @@ package org.qi4j.runtime.injection; -import org.qi4j.functional.Function; +import java.util.function.Function; /** * TODO @@ -10,7 +10,7 @@ public interface Dependencies public static Function<Dependencies, Iterable<DependencyModel>> DEPENDENCIES_FUNCTION = new Function<Dependencies, Iterable<DependencyModel>>() { @Override - public Iterable<DependencyModel> map( Dependencies dependencies ) + public Iterable<DependencyModel> apply( Dependencies dependencies ) { return dependencies.dependencies(); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/DependencyModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/DependencyModel.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/DependencyModel.java index 10eca0d..fd74e3d 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/DependencyModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/DependencyModel.java @@ -19,14 +19,14 @@ import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.Collections; +import java.util.function.Function; +import java.util.function.Predicate; import org.qi4j.api.common.ConstructionException; import org.qi4j.api.common.Optional; import org.qi4j.api.composite.DependencyDescriptor; import org.qi4j.bootstrap.BindingException; import org.qi4j.bootstrap.InvalidInjectionException; -import org.qi4j.functional.Function; import org.qi4j.functional.Iterables; -import org.qi4j.functional.Specification; import org.qi4j.functional.Visitable; import org.qi4j.functional.Visitor; import org.qi4j.runtime.injection.provider.InjectionProviderException; @@ -384,7 +384,7 @@ public final class DependencyModel } public static class ScopeSpecification - implements Specification<DependencyModel> + implements Predicate<DependencyModel> { private final Class<? extends Annotation> scope; @@ -394,7 +394,7 @@ public final class DependencyModel } @Override - public boolean satisfiedBy( DependencyModel model ) + public boolean test( DependencyModel model ) { return model.hasScope( scope ); } @@ -404,7 +404,7 @@ public final class DependencyModel implements Function<DependencyModel, Class<?>> { @Override - public Class<?> map( DependencyModel dependencyModel ) + public Class<?> apply( DependencyModel dependencyModel ) { return dependencyModel.rawInjectionType(); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldModel.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldModel.java index 6b35f2a..3cb46c6 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldModel.java @@ -19,12 +19,12 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.util.Collection; +import java.util.function.Predicate; import org.qi4j.api.composite.InjectedFieldDescriptor; import org.qi4j.api.util.Classes; import org.qi4j.bootstrap.BindingException; import org.qi4j.bootstrap.InjectionException; import org.qi4j.functional.HierarchicalVisitor; -import org.qi4j.functional.Specification; import org.qi4j.functional.VisitableHierarchy; import org.qi4j.runtime.composite.TransientInstance; import org.qi4j.runtime.model.Resolution; @@ -129,9 +129,9 @@ public final class InjectedFieldModel return visitor.visitLeave( this ); } - public Collection<DependencyModel> filter( Specification<DependencyModel> specification ) + public Collection<DependencyModel> filter( Predicate<DependencyModel> specification ) { - if( specification.satisfiedBy( dependencyModel ) ) + if( specification.test( dependencyModel ) ) { return singleton( dependencyModel ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldsModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldsModel.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldsModel.java index dce28f2..170ed6a 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldsModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedFieldsModel.java @@ -21,10 +21,10 @@ import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.ArrayList; import java.util.List; +import java.util.function.Function; import org.qi4j.api.injection.InjectionScope; import org.qi4j.api.util.Classes; import org.qi4j.api.util.Fields; -import org.qi4j.functional.Function; import org.qi4j.functional.HierarchicalVisitor; import org.qi4j.functional.Iterables; import org.qi4j.functional.VisitableHierarchy; @@ -46,7 +46,7 @@ public final class InjectedFieldsModel public InjectedFieldsModel( Class fragmentClass ) { - Iterable<Field> mappedFields = Fields.FIELDS_OF.map( fragmentClass ); + Iterable<Field> mappedFields = Fields.FIELDS_OF.apply( fragmentClass ); for( Field field : mappedFields ) { Annotation injectionAnnotation = first( filter( translate( type(), hasAnnotation( InjectionScope.class ) ), iterable( field @@ -90,7 +90,7 @@ public final class InjectedFieldsModel return Iterables.map( new Function<InjectedFieldModel, DependencyModel>() { @Override - public DependencyModel map( InjectedFieldModel injectedFieldModel ) + public DependencyModel apply( InjectedFieldModel injectedFieldModel ) { return injectedFieldModel.dependency(); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedMethodsModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedMethodsModel.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedMethodsModel.java index c40dc98..81b3cb2 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedMethodsModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedMethodsModel.java @@ -48,7 +48,7 @@ public final class InjectedMethodsModel public InjectedMethodsModel( Class fragmentClass ) { nextMethod: - for( Method method : Methods.METHODS_OF.map( fragmentClass ) ) + for( Method method : Methods.METHODS_OF.apply( fragmentClass ) ) { Annotation[][] parameterAnnotations = method.getParameterAnnotations(); if( parameterAnnotations.length > 0 ) http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedParametersModel.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedParametersModel.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedParametersModel.java index 1230edb..986269d 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedParametersModel.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/InjectedParametersModel.java @@ -17,9 +17,9 @@ package org.qi4j.runtime.injection; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.function.Predicate; import org.qi4j.api.composite.InjectedParametersDescriptor; import org.qi4j.functional.HierarchicalVisitor; -import org.qi4j.functional.Specification; import org.qi4j.functional.VisitableHierarchy; /** @@ -79,12 +79,12 @@ public final class InjectedParametersModel return visitor.visitLeave( this ); } - public Collection<DependencyModel> filter( Specification<DependencyModel> specification ) + public Collection<DependencyModel> filter( Predicate<DependencyModel> specification ) { ArrayList<DependencyModel> result = new ArrayList<DependencyModel>(); for( DependencyModel model : parameterDependencies ) { - if( specification.satisfiedBy( model ) ) + if( specification.test( model ) ) { result.add( model ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/InvocationInjectionProviderFactory.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/InvocationInjectionProviderFactory.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/InvocationInjectionProviderFactory.java index 8780b98..e5b75b9 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/InvocationInjectionProviderFactory.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/InvocationInjectionProviderFactory.java @@ -25,7 +25,7 @@ public final class InvocationInjectionProviderFactory public InjectionProvider newInjectionProvider( Resolution resolution, DependencyModel dependencyModel ) throws InvalidInjectionException { - Class injectionClass = Classes.RAW_CLASS.map( dependencyModel.injectionType() ); + Class injectionClass = Classes.RAW_CLASS.apply( dependencyModel.injectionType() ); if( injectionClass.equals( Method.class ) || injectionClass.equals( AnnotatedElement.class ) || injectionClass.equals( Iterable.class ) || @@ -57,7 +57,7 @@ public final class InvocationInjectionProviderFactory public Object provideInjection( InjectionContext context ) throws InjectionProviderException { - Class injectionClass = Classes.RAW_CLASS.map( dependencyModel.injectionType() ); + Class injectionClass = Classes.RAW_CLASS.apply( dependencyModel.injectionType() ); final CompositeMethodModel methodModel = resolution.method(); if( injectionClass.equals( Method.class ) ) { http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9479a63e/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/ModifiesInjectionProviderFactory.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/ModifiesInjectionProviderFactory.java b/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/ModifiesInjectionProviderFactory.java index 2348f91..16fccca 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/ModifiesInjectionProviderFactory.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/injection/provider/ModifiesInjectionProviderFactory.java @@ -21,7 +21,7 @@ public final class ModifiesInjectionProviderFactory { if( bindingContext.model() instanceof CompositeDescriptor ) { - Class<?> type = Classes.RAW_CLASS.map( dependencyModel.injectionType() ); + Class<?> type = Classes.RAW_CLASS.apply( dependencyModel.injectionType() ); if( type.isAssignableFrom( dependencyModel.injectedClass() ) ) { return new ModifiedInjectionProvider();
