View Javadoc

1   /* (c) Copyright 2003 Caleigo AB, All rights reserved. 
2    * 
3    * This library is free software; you can redistribute it and/or
4    * modify it under the terms of the GNU Lesser General Public
5    * License as published by the Free Software Foundation; either
6    * version 2.1 of the License, or (at your option) any later version.
7    * 
8    * This library is distributed in the hope that it will be useful,
9    * but WITHOUT ANY WARRANTY; without even the implied warranty of
10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11   * Lesser General Public License for more details.
12   * 
13   * You should have received a copy of the GNU Lesser General Public
14   * License along with this library; if not, write to the Free Software
15   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16   *  
17   */
18  
19  package org.caleigo.toolkit.tunnel;
20  
21  /*** Consumes messages that are received by an ITunnel.
22   *
23   * @author  Dennis Zikovic
24   * @version 1.00
25   * 
26   *//* 
27   *
28   * WHEN        WHO               WHY & WHAT
29   * -----------------------------------------------------------------------------
30   * 2002-02-12  Dennis Zikovic    Creation
31   * 2002-06-28  Mattias Hagstrand Redesign
32   */
33  public interface IMessageConsumer 
34  {
35      // Constants ---------------------------------------------------------------
36      
37      // Methods -----------------------------------------------------------------
38      
39      /***
40       * Returns <code>true</code> if this IMessageConsumer accepts the message.
41       * This method is allways called before <code>consumeMessage</code> for any
42       * given message.
43       */
44      public boolean acceptsMessage(Object message);
45      
46      /***
47       * Tells the IMessageConsumer to consume a message.
48       */
49      public void consumeMessage(Object message);
50      
51      /***
52       * Tells the IMessageConsumer to consume a message and returns a new message
53       * that will be delivered to the sender of the originial message.
54       */
55      public Object answerMessage(Object message);
56      
57      // Nested classes ----------------------------------------------------------
58  }
59