blob: 6e5425cf38bf7aaebe68651be514716f0b10f69a [file] [log] [blame]
package org.apache.felix.dm.lambda.callbacks;
import java.util.Objects;
import org.osgi.framework.ServiceReference;
/**
* Represents a callback(ServiceReference) on an Object instance.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
@FunctionalInterface
public interface CbRef<S> {
/**
* Handles the given argument
* @param ref a service reference
*/
void accept(ServiceReference<S> ref);
default CbRef<S> andThen(CbRef<S> after) {
Objects.requireNonNull(after);
return (ServiceReference<S> ref) -> {
after.accept(ref);
};
}
}