package com.armundia.core.websocket.pojo;

import java.util.HashMap;
import java.util.Map;

import javax.websocket.Session;

public class SessionContainer {
	/**
	 * Sessione websocket
	 */
	public Session session;

	/**
	 * Contenitore di tutte le proprieta'  collegabili alla sessione.
	 * <br/>
	 * Ad esempio tipologia della sessione (cliente, gestore ..).
	 * Dati del client etc.
	 */
	public Map<String, Object> properties;

	/**
	 * Identificativo della sessione gestito dall'applicazione e non dal
	 * servizio WebSocket. Puo'  essere ad esempio un id utente o un id cliente.
	 */
	public String userid;

	public SessionContainer(Session session) {
		this.session = session;
	}

	public void addProperty(String key, Object value) {
		if (this.properties == null) {
			this.properties = new HashMap<>();
		}
		this.properties.put(key, value);
	}

	public String stringProperty(String key) {
		if (this.properties != null) {
			return (String) this.properties.get(key);
		} else {
			return null;
		}
	}

	public Object property(String key) {
		return this.properties.get(key);
	}

}
