getCause()getFaultyMembers()
* method. This way, an application will always know if a message was delivered successfully or not.
*/
public class ChannelException extends Exception {
private static final long serialVersionUID = 1L;
/**
* Empty list to avoid reinstantiating lists
*/
protected static final FaultyMember[] EMPTY_LIST = new FaultyMember[0];
/**
* Holds a list of faulty members
*/
private ArrayListTitle: FaultyMember class
* *Description: Represent a failure to a specific member when a message was sent * to more than one member
* * @version 1.0 */ public static class FaultyMember { protected final Exception cause; protected final Member member; public FaultyMember(Member mbr, Exception x) { this.member = mbr; this.cause = x; } public Member getMember() { return member; } public Exception getCause() { return cause; } @Override public String toString() { return "FaultyMember:"+member.toString(); } @Override public int hashCode() { return (member!=null)?member.hashCode():0; } @Override public boolean equals(Object o) { if (member==null || (!(o instanceof FaultyMember)) || (((FaultyMember)o).member==null)) return false; return member.equals(((FaultyMember)o).member); } } }