package com.voxeo.moho.xmpp; import java.util.List; import org.w3c.dom.Element; import com.voxeo.moho.Framework; import com.voxeo.moho.TextableEndpoint; import com.voxeo.moho.common.event.MohoTextEvent; import com.voxeo.moho.spi.ExecutionContext; import com.voxeo.servlet.xmpp.JID; import com.voxeo.servlet.xmpp.XmppServletRequest; public class XMPPMessageEventImpl extends MohoTextEvent<Framework> implements XMPPMessageEvent { private XmppServletRequest _request; protected ExecutionContext _ctx; public XMPPMessageEventImpl(Framework framework, XmppServletRequest request) { super(framework); _request = request; _ctx = (ExecutionContext) source.getApplicationContext(); } @Override public XmppServletRequest getXmppRequest() { return _request; } @Override public String getText() { return _request.getElement("body").getTextContent(); } @Override public String getTextType() { return _request.getContentType(); } @Override public TextableEndpoint getFrom() { return new XMPPEndpointImpl(_ctx, _request.getFrom()); } @Override public TextableEndpoint getTo() { return new XMPPEndpointImpl(_ctx, _request.getTo()); } @Override public boolean isProcessed() { return true; } @Override public String getType() { return _request.getType(); } @Override public JID getMessageFrom() { return _request.getFrom(); } @Override public JID getMessageTo() { return _request.getTo(); } @Override public List<Element> getContent() { return _request.getElements(); } @Override public Element getElement() { return _request.getElement(); } @Override public Element getElement(String name) { return _request.getElement(name); } }