Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeDictionary.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeDictionary.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeDictionary.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeDictionary.java Fri Jan 29 23:57:17 2016 @@ -3,8 +3,19 @@ package org.apache.felix.dm.lambda.callb import java.util.Dictionary; import java.util.Objects; +/** + * Represents a callback(Dictionary) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeDictionary<T> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param conf first callback param + */ void accept(T instance, Dictionary<String, Object> conf); default CbTypeDictionary<T> andThen(CbTypeDictionary<? super T> after) {
Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeFuture.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeFuture.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeFuture.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeFuture.java Fri Jan 29 23:57:17 2016 @@ -2,8 +2,20 @@ package org.apache.felix.dm.lambda.callb import java.util.Objects; +/** + * Represents a callback that accepts the result of a CompletableFuture operation. The callback is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * The type of the result of the CompletableFuture is represented by the F generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeFuture<T, F> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param future the result of a CompletableFuture operation. + */ void accept(T instance, F future); default CbTypeFuture<T, F> andThen(CbTypeFuture<? super T, F> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRef.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRef.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRef.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRef.java Fri Jan 29 23:57:17 2016 @@ -4,8 +4,19 @@ import java.util.Objects; import org.osgi.framework.ServiceReference; +/** + * Represents a callback(ServiceReference) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeRef<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param service first callback param + */ void accept(T instance, ServiceReference<S> service); default CbTypeRef<T, S> andThen(CbTypeRef<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefService.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefService.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefService.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefService.java Fri Jan 29 23:57:17 2016 @@ -4,8 +4,20 @@ import java.util.Objects; import org.osgi.framework.ServiceReference; +/** + * Represents a callback(ServiceReference, Service) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeRefService<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param ref first callback param + * @param service second callback param + */ void accept(T instance, ServiceReference<S> ref, S service); default CbTypeRefService<T, S> andThen(CbTypeRefService<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefServiceRefService.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefServiceRefService.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefServiceRefService.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeRefServiceRefService.java Fri Jan 29 23:57:17 2016 @@ -4,8 +4,22 @@ import java.util.Objects; import org.osgi.framework.ServiceReference; +/** + * Represents a callback(ServiceReference, Service, ServiceReference, Service) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeRefServiceRefService<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param oldRef first callback param + * @param old second callback param + * @param replaceRef third callback param + * @param replace fourth callback param + */ void accept(T instance, ServiceReference<S> oldRef, S old, ServiceReference<S> replaceRef, S replace); default CbTypeRefServiceRefService<T, S> andThen(CbTypeRefServiceRefService<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeService.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeService.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeService.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeService.java Fri Jan 29 23:57:17 2016 @@ -2,8 +2,19 @@ package org.apache.felix.dm.lambda.callb import java.util.Objects; +/** + * Represents a callback(Service) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeService<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param service first callback param + */ void accept(T instance, S service); default CbTypeFuture<T, S> andThen(CbTypeFuture<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceDict.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceDict.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceDict.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceDict.java Fri Jan 29 23:57:17 2016 @@ -3,8 +3,20 @@ package org.apache.felix.dm.lambda.callb import java.util.Dictionary; import java.util.Objects; +/** + * Represents a callback(Component, Dictionary) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeServiceDict<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param service first callback param + * @param properties second callback param + */ void accept(T instance, S service, Dictionary<String, Object> properties); default CbTypeServiceDict<T, S> andThen(CbTypeServiceDict<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceMap.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceMap.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceMap.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceMap.java Fri Jan 29 23:57:17 2016 @@ -3,8 +3,20 @@ package org.apache.felix.dm.lambda.callb import java.util.Map; import java.util.Objects; +/** + * Represents a callback(Component, Map) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeServiceMap<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param service first callback param + * @param properties second callback param + */ void accept(T instance, S service, Map<String, Object> properties); default CbTypeServiceMap<T, S> andThen(CbTypeServiceMap<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceService.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceService.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceService.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbTypeServiceService.java Fri Jan 29 23:57:17 2016 @@ -2,8 +2,20 @@ package org.apache.felix.dm.lambda.callb import java.util.Objects; +/** + * Represents a callback(Service, Service) that is invoked on a Component implementation class. + * The type of the class on which the callback is invoked on is represented by the T generic parameter. + * + * @author <a href="mailto:[email protected]">Felix Project Team</a> + */ @FunctionalInterface public interface CbTypeServiceService<T, S> extends SerializableLambda { + /** + * Handles the given arguments. + * @param instance the Component implementation instance on which the callback is invoked on. + * @param old first callback param + * @param replace second callback param + */ void accept(T instance, S old, S replace); default CbTypeServiceService<T, S> andThen(CbTypeServiceService<? super T, S> after) { Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/AdapterBase.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/AdapterBase.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/AdapterBase.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/AdapterBase.java Fri Jan 29 23:57:17 2016 @@ -26,7 +26,7 @@ public interface AdapterBase<B extends C void andThenBuild(Consumer<ComponentBuilder<?>> builder); - default <U> B impl(U impl) { + default B impl(Object impl) { andThenBuild(compBuilder -> compBuilder.impl(impl)); return (B) this; } @@ -41,7 +41,7 @@ public interface AdapterBase<B extends C return (B) this; } - default <U> B factory(Supplier<U> create) { + default B factory(Supplier<?> create) { andThenBuild(compBuilder -> compBuilder.factory(create)); return (B) this; } @@ -51,12 +51,12 @@ public interface AdapterBase<B extends C return (B) this; } - default <U> B factory(Supplier<U> factory, Supplier<Object[]> getComposition) { + default B factory(Supplier<?> factory, Supplier<Object[]> getComposition) { andThenBuild(compBuilder -> compBuilder.factory(factory, getComposition)); return (B) this; } - default <U, V> B factory(Supplier<U> factory, Function<U, V> create, Function<U, Object[]> getComposition) { + default <U> B factory(Supplier<U> factory, Function<U, ?> create, Function<U, Object[]> getComposition) { andThenBuild(compBuilder -> compBuilder.factory(factory, create, getComposition)); return (B) this; } @@ -306,12 +306,12 @@ public interface AdapterBase<B extends C return (B) this; } - default <U> B autoConfig(Class<U> clazz, boolean autoConfig) { + default B autoConfig(Class<?> clazz, boolean autoConfig) { andThenBuild(compBuilder -> compBuilder.autoConfig(clazz, autoConfig)); return (B) this; } - default <U> B autoConfig(Class<U> clazz, String field) { + default B autoConfig(Class<?> clazz, String field) { andThenBuild(compBuilder -> compBuilder.autoConfig(clazz, field)); return (B) this; } Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ComponentBuilderImpl.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ComponentBuilderImpl.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ComponentBuilderImpl.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ComponentBuilderImpl.java Fri Jan 29 23:57:17 2016 @@ -73,13 +73,13 @@ public class ComponentBuilderImpl implem } @Override - public <U> ComponentBuilderImpl autoConfig(Class<U> clazz, boolean autoConfig) { + public ComponentBuilderImpl autoConfig(Class<?> clazz, boolean autoConfig) { m_component.setAutoConfig(clazz, autoConfig); return this; } @Override - public <U> ComponentBuilderImpl autoConfig(Class<U> clazz, String instanceName) { + public ComponentBuilderImpl autoConfig(Class<?> clazz, String instanceName) { m_component.setAutoConfig(clazz, instanceName); return this; } @@ -254,7 +254,7 @@ public class ComponentBuilderImpl implem } @Override - public <U> ComponentBuilderImpl impl(U instance) { + public ComponentBuilderImpl impl(Object instance) { m_impl = instance; return this; } @@ -269,7 +269,7 @@ public class ComponentBuilderImpl implem } @Override - public <U> ComponentBuilderImpl factory(Supplier<U> create) { + public ComponentBuilderImpl factory(Supplier<?> create) { Objects.nonNull(create); ensureHasNoFactory(); m_hasFactoryRef = true; @@ -300,7 +300,7 @@ public class ComponentBuilderImpl implem } @Override - public <U> ComponentBuilderImpl factory(Supplier<U> create, Supplier<Object[]> getComposite) { + public ComponentBuilderImpl factory(Supplier<?> create, Supplier<Object[]> getComposite) { Objects.nonNull(create); Objects.nonNull(getComposite); ensureHasNoFactory(); @@ -322,7 +322,7 @@ public class ComponentBuilderImpl implem } @Override - public <U, V> ComponentBuilderImpl factory(Supplier<U> factorySupplier, Function<U, V> factoryCreate, Function<U, Object[]> factoryGetComposite) { + public <U> ComponentBuilderImpl factory(Supplier<U> factorySupplier, Function<U, ?> factoryCreate, Function<U, Object[]> factoryGetComposite) { Objects.nonNull(factorySupplier); Objects.nonNull(factoryCreate); Objects.nonNull(factoryGetComposite); Modified: felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ServiceCallbacksBuilderImpl.java URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ServiceCallbacksBuilderImpl.java?rev=1727666&r1=1727665&r2=1727666&view=diff ============================================================================== --- felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ServiceCallbacksBuilderImpl.java (original) +++ felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ServiceCallbacksBuilderImpl.java Fri Jan 29 23:57:17 2016 @@ -41,7 +41,6 @@ import org.osgi.framework.ServiceReferen * Dependency Callbacks management. * * @param <S> the type of the service dependency - * @param <T> the type of the implementation class on which the dependency can be applied (using method references). * @param <B> the type of the sub-classes which may extend this class */ @SuppressWarnings({"unchecked", "unused"})
