/**
*
*/
package vnet.sms.common.wme.send;
import static org.apache.commons.lang.Validate.isTrue;
import static org.apache.commons.lang.Validate.notNull;
import org.jboss.netty.channel.DownstreamMessageEvent;
import org.jboss.netty.channel.MessageEvent;
import vnet.sms.common.messages.Sms;
/**
* @author obergner
*
*/
public final class SendSmsEvent extends DownstreamMessageEvent {
public static final SendSmsEvent convert(
final MessageEvent sendSmsMessageEvent) {
notNull(sendSmsMessageEvent,
"Argument 'sendSmsMessageEvent' must not be null");
isTrue(sendSmsMessageEvent.getMessage() instanceof SendSmsContainer,
"Can only conver MessageEvents having a SendSmsContainer as their payload. Got: "
+ sendSmsMessageEvent.getMessage());
return new SendSmsEvent(sendSmsMessageEvent, SendSmsContainer.class
.cast(sendSmsMessageEvent.getMessage()).getMessage());
}
private SendSmsEvent(final MessageEvent sendSmsMessageEvent,
final Sms message) {
super(sendSmsMessageEvent.getChannel(),
sendSmsMessageEvent.getFuture(), message, sendSmsMessageEvent
.getRemoteAddress());
}
@Override
public Sms getMessage() {
return (Sms) super.getMessage();
}
}