/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;
import java.util.ArrayList;
import java.util.Observable;
/**
 * Clase Parrafo, clase que crea un parrafo
 * @author MW3 Software
 */
public class Parrafo extends Observable{

    /**
     * Nombre del parrafo
     */
    private String nombre;
    /**
     * Autores que crean el parrafo
     */
    private String autores;
    /**
     * fuentes de informacion
     */
    private String fuentes;
    /**
     * texto del parrafo
     */
    private String texto;
    /**
     * Si es elemento del glosario del parrafo
     */
    private boolean esElementoGlosario;
    /**
     * comentarios del parrafo
     */
    private String comentarios;
    /**
     * Lista de elemeentos Rastreables del parrafo
     */
    private ArrayList<String> destinoRastreable = new ArrayList();


    /**
     * Metodo que devuelve la La lista de elementos rastreables
     * @return devuelve la lista de elementos rastreables del Parrafo
     */
    public ArrayList<String> getDestinoRastreable() {
        return destinoRastreable;
    }

    /**
     * Metodo que almacena la lista de elementos rastreables
     * @param destinoRastreable Nuevo valor de destino Rastreable del Parrafo
     */
    public void setDestinoRastreable(ArrayList<String> destinoRastreable) {
        this.destinoRastreable = destinoRastreable;
        this.setChanged();
        this.notifyObservers();
    }

    /**
     * Metodo que devuelve el nombre
     * @return devuelve el nombre del Parrafo
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * Metodo que almacena el nombre
     * @param nombre Nuevo valor de nombre del Parrafo
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
        this.setChanged();
        this.notifyObservers();
    }

    /**
     * Metodo que devuelve los autores
     * @return devuelve los autoes del Parrafo
     */
    public String getAutores() {
        return autores;
    }

    /**
     * Metodo que almacena los autores
     * @param autores Nuevo valor de autores del Parrafo
     */
    public void setAutores(String autores) {
        this.autores = autores;
        this.setChanged();
        this.notifyObservers();
    }

    /**
     * Metodo que devuelve las fuentes
     * @return devuelve las fuentes del Parrafo
     */
    public String getFuentes() {
        return fuentes;
    }

    /**
     * Metodo que almacena las fuentes
     * @param fuentes Nuevo valor de fuentes del Parrafo
     */
    public void setFuentes(String fuentes) {
        this.fuentes = fuentes;
        this.setChanged();
        this.notifyObservers();
    }

    /**
     * Metodo que devuelve el texto
     * @return devuelve el texto del Parrafo
     */
    public String getTexto() {
        return texto;
    }

    /**
     * Metodo que almacena el texto
     * @param texto Nuevo valor de texto del Parrafo
     */
    public void setTexto(String texto) {
        this.texto = texto;
        this.setChanged();
        this.notifyObservers();
    }

    /**
     * Metodo que devuelve si es elemento del glosario
     * @return devuelve Si es elemento del glosario del Parrafo
     */
    public boolean getEsElementoGlosario() {
        return esElementoGlosario;
    }

    /**
     * Metodo que almacena Si es elemento del glosario
     * @param esElementoGlosario Nuevo valor de Elemento del glosario del Parrafo
     */
    public void setEsElementoGlosario(boolean esElementoGlosario) {
        this.esElementoGlosario = esElementoGlosario;
        this.setChanged();
        this.notifyObservers();
    }

    /**
     * Metodo que devuelve el comentario
     * @return devuelve el comentario del Parrafo
     */
    public String getComentarios() {
        return comentarios;
    }

    /**
     * Metodo que almacena el comentario
     * @param comentarios Nuevo valor de Comentario del Parrafo
     */
    public void setComentarios(String comentarios) {
        this.comentarios = comentarios;
        this.setChanged();
        this.notifyObservers();
    }

}
