package mireka.transmission.immediate;
import java.util.ArrayList;
import java.util.List;
/**
* it is thrown if some - maybe all - recipients were rejected
*/
public class RecipientsWereRejectedException extends Exception {
private static final long serialVersionUID = 3277656155722747405L;
public final List<RecipientRejection> rejections;
public RecipientsWereRejectedException(List<RecipientRejection> rejections) {
super(rejectionsToString(rejections));
this.rejections = new ArrayList<RecipientRejection>(rejections);
}
private static String rejectionsToString(List<RecipientRejection> rejections) {
if (rejections.isEmpty())
throw new IllegalArgumentException();
if (rejections.size() == 1)
return rejections.get(0).toString();
else {
return rejections.size() + "* " + rejections.get(0).toString()
+ "...";
}
}
}