FECDealLinkForFECSpecification.java

package com.tradecloud.repository.treasury;

import java.util.List;
import com.tradecloud.domain.model.FECDealLink;
import com.tradecloud.domain.model.FECSpecification;
import com.tradecloud.domain.model.fec.IFEC;
import com.tradecloud.repository.FECDealLinkRepository;

/**
 * @deprecated This class design means that entities have a reference to their
 *             Repository and needs to be refactored
 */
public class FECDealLinkForFECSpecification implements FECSpecification<IFEC> {

    private IFEC fec;
    private FECDealLinkRepository fecDealLinkRepository;

    public FECDealLinkForFECSpecification(IFEC fec) {
        this.fec = fec;
    }

    public boolean isSatisfiedBy(FECDealLink link) {
        return link.getFec().getId() == fec.getId();
    }

    public List<FECDealLink> findAllSatisfiedBy() {
        return fecDealLinkRepository.findAllByFEC(fec);
    }

    public void setFecDealLinkRepository(FECDealLinkRepository fecDealLinkRepository) {
        this.fecDealLinkRepository = fecDealLinkRepository;
    }

    public void setMatching(IFEC fec) {
        this.fec = fec;
    }

    public FECDealLinkForFECSpecification() {
    }
}