IM Message Handler

org.eclipse.ecf.presence.bot.imMessageHandler

1.0.0 milestone 6

This extension point allows message handler objects to be associated with imrobot instances.

<!ELEMENT extension (handler+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT handler EMPTY>

<!ATTLIST handler

imRobotId        CDATA #REQUIRED

filterExpression CDATA #IMPLIED

class            CDATA #REQUIRED>

The im message handler



   

<extension point=

"org.eclipse.ecf.presence.bot.imMessageHandler"

>

<handler imrobotid=

"org.eclipse.ecf.presence.imbot.defaultbot"

class=

"org.eclipse.ecf.presence.imbot.DefaultIMMessageHandler"

>

</handler>

</extension>

Note that the given imrobotid=org.eclipse.ecf.presence.imbot.defaultbot must be previously defined via the imrobot extension point. Here is an example:
   

<extension point=

"org.eclipse.ecf.presence.bot.imRobot"

>

<imRobot connectID=

"slewis@ecf.eclipse.org"

containerFactoryName=

"ecf.xmpp.smack"

id=

"org.eclipse.ecf.presence.imbot.defaultbot"

/>

</imRobot>

</extension>

The class implementation provided in extension point must implement the following interface:
public interface IIMMessageHandler extends IContainerAdvisor {

 /**
  * This method is called when a {@link IChatMessage} is received.
  * 
  * @param message
  *            the {@link IChatMessage} received. Will not be
  *            

<code>

null

</code>

. Implementers should not block the * calling thread. Any methods on the given

<code>

message

</code>

* parameter may be called. */ public void handleIMMessage(IChatMessage message); }

No supplied implementation.