org.coos.messaging.Exchange Maven / Gradle / Ivy
/**
* COOS - Connected Objects Operating System (www.connectedobjects.org).
*
* Copyright (C) 2009 Telenor ASA and Tellu AS. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*
* You may also contact one of the following for additional information:
* Telenor ASA, Snaroyveien 30, N-1331 Fornebu, Norway (www.telenor.no)
* Tellu AS, Hagalokkveien 13, N-1383 Asker, Norway (www.tellu.no)
*/
package org.coos.messaging;
/**
* @author Knut Eilif Husa, Tellu AS The base message exchange interface
* providing access to the request, response and fault {@link Message}
* instances.
*/
public interface Exchange {
/**
* Set the {@link ExchangePattern} (MEP) of this exchange.
*
* @param pattern
* the message exchange pattern of this exchange
*/
void setPattern(ExchangePattern pattern);
/**
* Returns the {@link ExchangePattern} (MEP) of this exchange.
*
* @return the message exchange pattern of this exchange
*/
ExchangePattern getPattern();
/**
* Returns the outbound request message
*
* @return the message
*/
Message getOutBoundMessage();
/**
* Returns the inBound response message
*
* @return the response
*/
Message getInBoundMessage();
/**
* Sets the outbound message instance
*
* @param in
* the inbound message
*/
void setOutBoundMessage(Message out);
/**
* Sets the inbound message
*
* @param out
* the outbound message
*/
void setInBoundMessage(Message in);
/**
* Returns the exchange id
*
* @return the unique id of the exchange
*/
String getExchangeId();
/**
* Set the exchange id
*
* @param exchangeId
* the exchange id
*/
void setExchangeId(String exchangeId);
/**
* Gets the fault message
*
* @return the fault message
*/
Message getFaultMessage();
/**
* Sets the fault message
*
* @param fault
* the fault message
*/
void setFaultMessage(Message fault);
/**
* Gets the exception
*
* @return the Exception
*/
Throwable getException();
/**
* Sets the exception
*
* @param exception
* the exception
*/
void setException(Throwable exception);
void setProcessed(boolean isProcessed);
boolean isProcessed();
}