/** * */ package vnet.sms.common.messages; import static org.apache.commons.lang.Validate.notNull; /** * @author obergner * */ public class PingResponse extends GsmPdu { private static final long serialVersionUID = 8968135952963388189L; public static PingResponse accept(final PingRequest pingRequest) { return new PingResponse(Acknowledgement.ack(), pingRequest); } public static PingResponse reject(final PingRequest pingRequest) { return new PingResponse(Acknowledgement.nack(), pingRequest); } private final Acknowledgement ack; private final PingRequest pingRequest; private PingResponse(final Acknowledgement ack, final PingRequest pingRequest) { super(); notNull(ack, "Argument 'ack' must not be null"); notNull(pingRequest, "Argument 'pingRequest' must not be null"); this.ack = ack; this.pingRequest = pingRequest; } public Acknowledgement getAck() { return this.ack; } public boolean pingSucceeded() { return this.ack.is(Acknowledgement.Status.ACK); } public PingRequest getPingRequest() { return this.pingRequest; } @Override public String toString() { return "PingResponse@" + this.hashCode() + "[ack: " + this.ack + "|pingRequest: " + this.pingRequest + "]"; } }