/**
* Copyright (c) 2014-2017 by the respective copyright holders.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.eclipse.smarthome.core.events;
/**
* {@link Event} objects are delivered by the {@link EventPublisher} through the Eclipse SmartHome event bus.
* The callback interface {@link EventSubscriber} can be implemented in order to receive such events.
*
* @author Stefan Bußweiler - Initial contribution
*/
public interface Event {
/**
* Gets the event type.
*
* @return the event type
*/
String getType();
/**
* Gets the topic of an event.
*
* @return the event topic
*/
String getTopic();
/**
* Gets the payload as a serialized string.
*
* @return the serialized event
*/
String getPayload();
/**
* Gets the name of the source identifying the sender.
*
* @return the name of the source
*/
String getSource();
}