package es.ejie.frmk.infraestructura.poolCache;

import java.io.Serializable;
import java.util.HashMap;

/**
 * Clase que representa la configuración de una caché.
 * @version 2.0 Fecha: 16-feb-06
 */
public class Q70BeanConfiguracionCache extends HashMap implements Serializable {

	/**
	 * Establece el tiempo que puede estar inactivo
	 * @param Long tiempo en milisegundos  
	 */
	public void setTAccess(Long t) {
		this.put(Q70Constantes.TIEMPO_ACCESO, t);
	}
	
	/**
	 * Establece el tamaño de la caché en nº de elementos a almacenar
	 * @param Integer tamaño   
	 */
	public void setTamano(Integer tam) {
		this.put(Q70Constantes.TAMANO, tam);
	}
	
	/**
	 * Establece el tiempo de vida del objeto en caché
	 * @param Long tiempo en milisegundos
	 */   
	public void setTVida(Long t) {
		this.put(Q70Constantes.TIEMPO_VIDA, t);
	}
	
	/**
	 * Establece el grupo al que pertenece una caché.
	 * @param grupo 
	 */
	public void setGrupoCache(String grupo) {
		this.put(Q70Constantes.GRUPO_CACHE, grupo);
	}
	
	/**
	 * Obtiene el tiempo de inactividad de un objeto
	 * @return Long tiempo en milisegundos
	 */
	public Long getTAccess() {
		return (Long)this.get(Q70Constantes.TIEMPO_ACCESO);
	}
	
	/**
	 *  Devuelve el tamaño que ocupará objeto en la caché
	 * @return Integer tamaño
	 */
	public Integer getTamano() {
		return (Integer)this.get(Q70Constantes.TAMANO);
	}
	
	/**
	 * Devuelve el tiempo de vida del objeto en la caché
	 * @return Long tiempo en milisegundos
	 */
	public Long getTVida() {
		return (Long)this.get(Q70Constantes.TIEMPO_VIDA);
	}
	
	/**
	 * Obtiene el grupo al que pertenece una caché.
	 * @return String grupo
	 */
	public String getGrupoCache() {
		return (String)this.get(Q70Constantes.GRUPO_CACHE);
	}
}
