/**
*
*/
package vnet.sms.common.messages;
import static org.apache.commons.lang.Validate.notNull;
/**
* @author obergner
*
*/
public class LoginResponse extends GsmPdu {
private static final long serialVersionUID = -3756368928116010958L;
public static final LoginResponse accept(final LoginRequest loginRequest) {
return new LoginResponse(Acknowledgement.ack(), loginRequest);
}
public static final LoginResponse reject(final LoginRequest loginRequest) {
return new LoginResponse(Acknowledgement.nack(), loginRequest);
}
private final Acknowledgement ack;
private final LoginRequest loginRequest;
private LoginResponse(final Acknowledgement ack,
final LoginRequest loginRequest) {
super();
notNull(ack, "Argument 'ack' must not be null");
notNull(loginRequest, "Argument 'loginRequest' must not be null");
this.ack = ack;
this.loginRequest = loginRequest;
}
public boolean loginSucceeded() {
return this.ack.is(Acknowledgement.Status.ACK);
}
public LoginRequest getRequest() {
return this.loginRequest;
}
@Override
public String toString() {
return "LoginResponse@" + this.hashCode() + "[ID: " + this.getId()
+ "|creationTimestamp: " + this.getCreationTimestamp()
+ "|ack: " + this.ack + "|loginRequest: " + this.loginRequest
+ "]";
}
}