Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
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 <http://www.gnu.org/licenses/>. 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.impl;
 
 

Author(s):
Knut Eilif Husa, Tellu AS
 
 public class DefaultMessage implements Message {
 
 	protected String senderEndpointUri;
 	protected Hashtable headers = new Hashtable();
 	protected Object body;
 	protected byte[] serializedbody;
 	protected transient MessageContext messageContext = new MessageContext();
 
 	public DefaultMessage() {
 	}
 
 	public DefaultMessage(String signalName) {
 		setHeader(.signalName);
 	}
 
 	public DefaultMessage(String signalNameString type) {
 		setHeader(.signalName);
 		setHeader(type);
 	}
 
 	public DefaultMessage(DataInputStream dinthrows Exception {
 		deserialize(din);
 	}
 
 	}
 
 	public Message setReceiverEndpointUri(String receiverEndpointUri) {
 		this. = receiverEndpointUri;
 		return this;
 	}
 
 	}
 
 	public Message setSenderEndpointUri(String senderEndpointUri) {
 		this. = senderEndpointUri;
 		return this;
 	}
 
 	public String getHeader(String key) {
 		return (String.get(key);
 	}
 
 	public Message setHeader(String keyString value) {
 		.put(keyvalue);
 		return this;
 	}
 
 	public Hashtable getHeaders() {
 		return ;
 	}
 
	public String getType() {
		return (String.get();
	}
	public Message setBody(byte[] bytesBody) {
		 = bytesBody;
		return this;
	}
	public Message setBody(Hashtable propertyBody) {
		 = propertyBody;
		return this;
	}
	public Message setBody(String stringBody) {
		 = stringBody;
		return this;
	}
	public Message setBody(Object objectBody) {
		 = objectBody;
		return this;
	}
	public byte[] getBodyAsBytes() {
		try {
catch (Exception e) {
		}
		return (byte[]) ;
	}
		try {
catch (Exception e) {
		}
		return (Hashtable;
	}
	public String getBodyAsString() {
		try {
catch (Exception e) {
		}
		return (String;
	}
	public Object getBody() {
		try {
catch (Exception e) {
		}
		return ;
	}
	public void deserialize(DataInputStream dinthrows Exception {
		if (din.readBoolean()) {
		}
		if (din.readBoolean()) {
		}
		int headerSize = din.readInt();
		for (int i = 0; i < headerSizei++) {
			String key = din.readUTF();
			String value = din.readUTF();
			.put(keyvalue);
		}
		 = new byte[din.readInt()];
		if (. == 0) {
			return;
		}
	}
	private void deserializeBody() throws Exception {
		if ( == null &&  != null && . > 0) {
			if (serMethod != null) {
				Serializer serializer = SerializerFactory.getSerializer(serMethod);
else {
				throw new Exception("No serialization method indicated in message header");
			}
		}
	}
	public byte[] serialize() throws Exception {
		DataOutputStream dout = new DataOutputStream(bout);
		// The addresses
		if ( != null) {
		}
		if ( != null) {
		}
		// The body
		if ( != null &&  == null) {
			if ( instanceof byte[]) {
else if ( instanceof String) {
else if ( instanceof Hashtable) {
else {
			}
			if (serMethod != null) {
				Serializer serializer = SerializerFactory.getSerializer(serMethod);
				if (serializer != null) {
					 = serializer.serialize();
else {
					throw new Exception("Serialization method not registered: " + serMethod);
				}
else {
				try {
					Serializer serializer = SerializerFactory.getDefaultSerializer();
					 = serializer.serialize();
catch (Exception e) {
					Serializer serializer = SerializerFactory.getSerializer();
					if (serializer != null) {
						 = serializer.serialize();
else {
						throw new Exception("Serialization failed");
					}
				}
			}
		}
		// The headers
		Enumeration enumer = .keys();
		while (enumer.hasMoreElements()) {
			String key = (Stringenumer.nextElement();
			String value = (String.get(key);
			dout.writeUTF(key);
			dout.writeUTF(value);
		}
		// The body
		if ( != null) {
else {
			dout.writeInt(0);
		}
		return bout.toByteArray();
	}
	}
	public void setMessageContext(MessageContext ctx) {
		this. = ctx;
	}
	public String getContentType() {
	}
	public String getName() {
	}
	public Message copy() throws Exception {
		DataInputStream din = new DataInputStream(bais);
		return new DefaultMessage(din);
	}
	}
	}
	public void setReceiverEndpointName(String endpointName) {
		if (endpointName != null) {
		}
	}
	public void setSenderEndpointName(String endpointName) {
		if (endpointName != null) {
		}
	}
	public String toString() {
		StringBuffer buf = new StringBuffer();
		buf.append("Receiver: ");
		buf.append(", Sender: ");
		Enumeration enumer = .keys();
		while (enumer.hasMoreElements()) {
			String key = (Stringenumer.nextElement();
			String value = (String.get(key);
			buf.append(", ");
			buf.append(key);
			buf.append(":");
			buf.append(value);
		}
		return buf.toString();
	}
	public byte[] getSerializedBody() {
	}
New to GrepCode? Check out our FAQ X