Package mireka.filter.local.table

Source Code of mireka.filter.local.table.LocalRecipientTable

package mireka.filter.local.table;

import mireka.address.Recipient;
import mireka.address.RemotePart;
import mireka.address.RemotePartContainingRecipient;
import mireka.destination.Destination;

/**
* LocalRecipientTable contains recipient-destination mappings like
* {@link RecipientTable}, but it never matches a recipient whose domain is not
* included in the specified domain list.
*/
public class LocalRecipientTable extends RecipientTable {
    private RemotePartSpecification localDomains;

    @Override
    public Destination lookup(Recipient recipient) {
        if (recipient instanceof RemotePartContainingRecipient) {
            RemotePart remotePart =
                    ((RemotePartContainingRecipient) recipient).getMailbox()
                            .getRemotePart();
            if (!localDomains.isSatisfiedBy(remotePart))
                return null;
        }
        return super.lookup(recipient);
    }

    /**
     * @category GETSET
     */
    public RemotePartSpecification getLocalDomains() {
        return localDomains;
    }

    /**
     * @category GETSET
     */
    public void setLocalDomains(RemotePartSpecification localDomains) {
        this.localDomains = localDomains;
    }

}
TOP

Related Classes of mireka.filter.local.table.LocalRecipientTable

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.