01: /*
02: * $Id: MutableMessageAdapter.java 10489 2008-01-23 17:53:38Z dfeist $
03: * --------------------------------------------------------------------------------------
04: * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
05: *
06: * The software in this package is published under the terms of the CPAL v1.0
07: * license, a copy of which has been included with this distribution in the
08: * LICENSE.txt file.
09: */
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: * Update the message payload. This is typically only called if the
21: * payload was originally an InputStream. In which case, if the InputStream
22: * is consumed, it needs to be replaced for future access.
23: *
24: * @param payload the object to assign as the message payload
25: */
26: void setPayload(Object payload);
27: }
|