/*
 * Copyright (c) 2009 JSCAPE
 * 1147 S. 53rd Pl., Mesa, Arizona, 85206, U.S.A.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * JSCAPE. ("Confidential Information").  You shall not disclose such
 * Confidential Information and shall use it only in accordance with
 * the terms of the license agreement you entered into with JSCAPE.
 *
 */

package com.jscape.util.functor.adapters;

import com.jscape.util.functor.BinaryPredicate;
import com.jscape.util.functor.UnaryPredicate;

/**
 * @author Alex Usun
 */
public class BoundFirstUnaryPredicate<F, S>
        extends UnaryPredicate<S> {

    private BinaryPredicate<? super F, ? super S> base;
    private F first;

    public BoundFirstUnaryPredicate(BinaryPredicate<? super F, ? super S> base, F first) {
        this.base = base;
        this.first = first;
    }

    public boolean evaluate(S value) {
        return this.base.evaluate(this.first, value);
    }
}
