package fr.openwide.core.commons.util.binding;
import org.bindgen.BindingRoot;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
public interface ICoreBinding<R, T> extends BindingRoot<R, T>, Function<R, T> {
/**
* Wrapper for {@link #getSafelyWithRoot(Object)} as a {@link Function}.
*/
@Override
T apply(R input);
/**
* Shorthand for {@code Predicates.compose(predicate, (Function<R, T>) this)}
*/
Predicate<R> compose(Predicate<? super T> predicate);
}