package mireka.filterchain;
import java.io.IOException;
import mireka.MailData;
import mireka.address.ReversePath;
import mireka.filter.FilterChain;
import mireka.filter.FilterReply;
import mireka.filter.MailTransaction;
import mireka.filter.RecipientContext;
import mireka.smtp.RejectExceptionExt;
import org.subethamail.smtp.RejectException;
import org.subethamail.smtp.TooMuchDataException;
class ChainEnd implements FilterChain {
private final MailTransaction mailTransaction;
public ChainEnd(MailTransaction mailTransaction) {
this.mailTransaction = mailTransaction;
}
@Override
public void begin() {
// do nothing
}
@Override
public void from(ReversePath from) {
// do nothing
}
@Override
public FilterReply verifyRecipient(RecipientContext recipientContext)
throws RejectExceptionExt {
return FilterReply.NEUTRAL;
}
@Override
public void recipient(RecipientContext recipientContext)
throws RejectException {
// do nothing
}
@Override
public void data(MailData data) throws RejectException,
TooMuchDataException, IOException {
mailTransaction.replaceData(data);
}
}