IM Message Handler

Identifier:
org.eclipse.ecf.presence.bot.imMessageHandler

Since:
1.0.0 milestone 6

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

Configuration Markup:

<!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



Examples:

   <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>

API Information:
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);

}

Supplied Implementation:
No supplied implementation.


Copyright (c) 2007 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0