View Javadoc

1   /*
2    * $Id: MutableMessageAdapter.java 10489 2008-01-23 17:53:38Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.api.transport;
11  
12  /**
13   *  Defines a {@link org.mule.api.transport.MessageAdapter} that can have its payload re-assigned after it
14   * has been created. Transport message adapters must never use this interface since a message payload received
15   * from a transport is always consdered read-only.
16   */
17  
18  public interface MutableMessageAdapter extends MessageAdapter
19  {
20      /**
21       * Update the message payload. This is typically only called if the
22       * payload was originally an InputStream. In which case, if the InputStream
23       * is consumed, it needs to be replaced for future access.
24       *
25       * @param payload the object to assign as the message payload
26       */
27      void setPayload(Object payload);
28  }