Java tutorial
/** * Copyright 2008 Vctor Enrique Tamames, * Universidad de Valladolid, Espaa. * * This file is part of DelphSim. * * DelphSim is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or any later version. * * DelphSim is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * DelphSim. If not, see <http://www.gnu.org/licenses/>. */ /** * DelphSim (Delphos Simulator), simulador de epidemias desarrollado como * Proyecto Fin de Carrera de Ingeniera Informtica para la Escuela Tcnica * Superior de Ingeniera Informtica de la Universidad de Valladolid. */ package delphsim.model; import org.dom4j.Element; import org.dom4j.tree.DefaultElement; /** * Los objetos de esta clase representan las distintas categoras en que se * puede descomponer una divisin de la poblacin. * @author Vctor E. Tamames Gmez */ public class Categoria implements Cloneable { /** * El nombre de la categora (obligatorio). Debe ser nico en el conjunto * compuesto por los nombres de los parmetros, procesos y categoras. */ private String nombre; /** * Una descripcin de la categora (opcional). */ private String descripcion; /** * Constructor de la clase. */ public Categoria() { } /** * Mtodo para cambiar el nombre a este categora. * @param nombreCat El nuevo nombre para la categora. */ public void setNombre(String nombreCat) { this.nombre = nombreCat; } /** * Mtodo para obtener el nombre de esta categora. * @return El nombre de esta categora. */ public String getNombre() { return this.nombre; } /** * Mtodo para cambiar la descripcin de esta categora. * @param descripcionCat La nueva descripcin para esta categora. */ public void setDescripcion(String descripcionCat) { this.descripcion = descripcionCat; } /** * Mtodo para obtener la descripcin de esta categora. * @return La descripcin de esta categora. */ public String getDescripcion() { return this.descripcion; } /** * Mtodo para cargar los datos contenidos en un objeto de tipo * <CODE>org.dom4j.Element</CODE> en este objeto. * @param elementoCategoria El objeto <CODE>org.dom4j.Element</CODE>. */ public void cargarDesdeXML(Element elementoCategoria) { this.setNombre(elementoCategoria.attributeValue("nombre")); this.setDescripcion(elementoCategoria.elementText("descripcion")); } /** * Mtodo para volcar los datos de este objeto en uno de tipo * <CODE>org.dom4j.Element</CODE>. * @return El objeto <CODE>org.dom4j.Element</CODE>. */ public Element volcarAXML() { Element elementoCategoria = new DefaultElement("categoria"); elementoCategoria.addAttribute("nombre", this.nombre); if (this.descripcion != null) { if (!this.descripcion.equals("")) { Element elementoDescripcion = elementoCategoria.addElement("descripcion"); elementoDescripcion.setText(this.descripcion); } } return elementoCategoria; } /** * Implementacin de la interfaz Cloneable. * @return Un clon idntico a este objeto. */ @Override public Categoria clone() { Categoria clon = new Categoria(); clon.setNombre(this.getNombre()); clon.setDescripcion(this.getDescripcion()); return clon; } }