All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.red5.server.messaging.IMessage Maven / Gradle / Ivy

/*
 * RED5 Open Source Media Server - https://github.com/Red5/
 * 
 * Copyright 2006-2016 by respective authors (see below). All rights reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.red5.server.messaging;

/**
 * Common interface for all messages.
 * 

* Structure of messages is designed according to JMS Message interface. Message is composed of header and body. Header contains commonly used pre-defined headers and extensible headers. *

* *

* Each message has correlation ID that is never used so far and is subject to be removed in future. *

* *

* Message has type and number of properties. *

* * @author The Red5 Project * @author Steven Gong ([email protected]) */ public interface IMessage { /** * Return message id * * @return Message id */ String getMessageID(); /** * Setter for new message id * * @param id * Message id */ void setMessageID(String id); /** * Return correlation id * * @return Correlation id */ String getCorrelationID(); /** * Setter for correlation id * * @param id * Correlation id */ void setCorrelationID(String id); /** * Return message type * * @return Message type */ String getMessageType(); /** * Setter for message type * * @param type * Message type */ void setMessageType(String type); /** * Getter for boolean property * * @param name * Boolean property name * @return Boolean property */ boolean getBooleanProperty(String name); /** * Add boolean property to message * * @param name * Boolean property name * @param value * Boolean property value */ void setBooleanProperty(String name, boolean value); /** * Add byte property to message * * @param name * Byte property name * @return Byte property value */ byte getByteProperty(String name); /** * Add byte property to message * * @param name * Byte property name * @param value * Byte property value */ void setByteProperty(String name, byte value); /** * Return double property by name * * @param name * Double property name * @return Double property value */ double getDoubleProperty(String name); /** * Add double property to message * * @param name * Double property name * @param value * Double property value */ void setDoubleProperty(String name, double value); /** * Return float property by name * * @param name * Float property name * @return Float property value */ float getFloatProperty(String name); /** * Add float property to message * * @param name * Float property name * @param value * Float property value */ void setFloatProperty(String name, float value); /** * Return int property by name * * @param name * Int property name * @return Int property value */ int getIntProperty(String name); /** * Add int property to message * * @param name * Int property name * @param value * Int property value */ void setIntProperty(String name, int value); /** * Return long property to message * * @param name * Long property name * @return Long property value */ long getLongProperty(String name); /** * Add long property to message * * @param name * Long property name * @param value * Long property value */ void setLongProperty(String name, long value); /** * Return short property to message * * @param name * Short property name * @return Short property value */ short getShortProperty(String name); /** * Add short property to message * * @param name * Short property name * @param value * Short property value */ void setShortProperty(String name, short value); /** * Return string property to message * * @param name * String property name * @return String property value */ String getStringProperty(String name); /** * Add string property to message * * @param name * String property name * @param value * String property value */ void setStringProperty(String name, String value); /** * Return object property to message * * @param name * Object property name * @return Object property value */ Object getObjectProperty(String name); /** * Add object property to message * * @param name * Object property name * @param value * Object property value */ void setObjectProperty(String name, Object value); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy