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

pro.jk.ejoker.messaging.AbstractMessage Maven / Gradle / Ivy

There is a newer version: 3.0.7.1
Show newest version
package pro.jk.ejoker.messaging;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

import pro.jk.ejoker.utils.MObjectId;

public abstract class AbstractMessage implements  IMessage {

	private String id;
	
	private long timestamp;
	
	private Map items;
	
	public AbstractMessage() {
        id = MObjectId.get().toHexString();
        timestamp = System.currentTimeMillis();
        items = new HashMap<>();
	}

	@Override
	public void setId(String id) {
		this.id = id;
	};

	@Override
	public String getId() {
		return this.id;
	}

	@Override
	public long getTimestamp() {
		return timestamp;
	}

	@Override
	public void setTimestamp(long timestamp) {
		this.timestamp = timestamp;
	}

	@Override
	public Map getItems() {
		return items;
	}

	@Override
	public void setItems(Map items) {
		this.items = items;
	}

	@Override
	public void mergeItems(Map items) {
		if(null == items || items.isEmpty()) {
			return;
		}
		if(null == this.items) {
			this.items = new HashMap<>();
		}
		Set> entrySet = items.entrySet();
		for(Entry entry : entrySet) {
			this.items.putIfAbsent(entry.getKey(), entry.getValue());
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy