package pfc.android.gestormensajeria.entidades;

import java.util.HashSet;
import java.util.Set;

/**
 * Clase para el manejo de la información de grupo de destinatarios
 * @author Francisco José Lamela Rincón
 *
 */
public class Grupo {
	/**
	 * Propiedad para el manejo del nombre del grupo
	 */
	private String nombre;
	
	/**
	 * Propiedad para el manejo de los destinatarios del grupo
	 */
    private Set<ComponenteGrupo> destinatarios;
    
    /**
     * Constructor de la clase
     * @param nombre
     */
    public Grupo(String nombre){
    	this.nombre = nombre;
    	this.destinatarios = new HashSet<ComponenteGrupo>();
    }
    
    /**
     * Constructor de la clase
     * @param nombre
     * @param destinatarios
     */
    public Grupo(String nombre, Set<ComponenteGrupo> destinatarios){
    	new Grupo(nombre);
    	incluirDestinatarios(destinatarios);
    }
    
	
    /**
     * Devuelve el nombre del grupo
     * @return
     */
	public String getNombre() {
		return nombre;
	}

	/**
	 * Establece el nombre del grupo
	 * @param nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * Devuelve los componentes del grupo
	 * @return
	 */
	public Set<ComponenteGrupo> getDestinatarios() {
		return destinatarios;
	}

	/**
	 * Establece los componentes del grupo
	 * @param destinatarios
	 */
	public void setDestinatarios(Set<ComponenteGrupo> destinatarios) {
		this.destinatarios = destinatarios;
	}

	/**
	 * Incluye un grupo de componentes en el grupo
	 * @param destinatarios
	 */
	public void incluirDestinatarios(Set<ComponenteGrupo> destinatarios){
		this.destinatarios.addAll(destinatarios);
	}
	
	/**
	 * Incluye un componente en el grupo
	 * @param destinatario
	 */
	public void incluirDestinatario(ComponenteGrupo destinatario){
		this.destinatarios.add(destinatario);
	}
}
