Publisher.java [src/csip] Revision: Date:
/*
* $Id:$
*
* This file is part of the Cloud Services Integration Platform (CSIP),
* a Model-as-a-Service framework, API and application suite.
*
* 2012-2022, Olaf David and others, OMSLab, Colorado State University.
*
* OMSLab licenses this file to you under the MIT license.
* See the LICENSE file in the project root for more information.
*/
package csip;
import org.codehaus.jettison.json.JSONObject;
/**
* Publisher
*
* @author od
*/
interface Publisher extends AutoCloseable {
/**
* Publish a message.
*
* @param key the message key
* @param value the message value
*/
void publish(String key, String value);
void publish(JSONObject payload);
@Override
default void close() throws Exception {
}
/**
* Default Publisher, doing nothing.
*/
Publisher NONE = new Publisher() {
@Override
public void publish(String key, String value) {
}
@Override
public void publish(JSONObject payload) {
}
};
}