modelo.ArchivoXmlUsuario.java Source code

Java tutorial

Introduction

Here is the source code for modelo.ArchivoXmlUsuario.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

/**
 *
 * @author Erick Gonlez
 */

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;

public class ArchivoXmlUsuario {
    Element raiz;
    Document documento;
    String ruta;

    private ArchivoXmlUsuario(String ruta, String nombreRaiz) throws IOException {
        this.raiz = new Element(nombreRaiz);
        this.documento = new Document(raiz);
        this.ruta = ruta;
        guardar();
    }

    private ArchivoXmlUsuario(String rutaArchivo) throws JDOMException, IOException {
        SAXBuilder saxB = new SAXBuilder();
        saxB.setIgnoringElementContentWhitespace(true);
        this.documento = saxB.build(rutaArchivo);
        this.raiz = this.documento.getRootElement();
        this.ruta = rutaArchivo;

    }

    public void guardar() throws FileNotFoundException, IOException {
        XMLOutputter xmlOut = new XMLOutputter();
        xmlOut.output(this.documento, new PrintWriter(this.ruta));
        xmlOut.output(this.documento, System.out);
    }

    public static ArchivoXmlUsuario crearDocumento(String rutaDocumento) throws IOException {
        return new ArchivoXmlUsuario(rutaDocumento, "usuario");
    }

    public static ArchivoXmlUsuario abrirDocumento(String rutaDocumento) throws JDOMException, IOException {
        return new ArchivoXmlUsuario(rutaDocumento);
    }

    public void addUsers(Usuario users) throws IOException {
        Element eUsuario = new Element("Usuario");

        Element eNombre = new Element("nombre");
        eNombre.addContent(users.getNombre());

        Element eApellido = new Element("apellido");
        eApellido.addContent(users.getApellido());

        Attribute aCedula = new Attribute("cedula", users.getCedula());

        Element eTelefono = new Element("telefono");
        eTelefono.addContent(users.getTelefono());

        Element eGanancias = new Element("ganancias");
        eGanancias.addContent(users.getGanancias());

        Element eCorreo = new Element("correo");
        eCorreo.addContent(users.getCorreo());

        Element eDireccion = new Element("direccion");
        eDireccion.addContent(users.getDireccion());

        Element eEstadoCivil = new Element("estadoCivil");
        eEstadoCivil.addContent(users.getEstadoCivil());

        Element eOficio = new Element("oficio");
        eOficio.addContent(users.getOficio());

        eUsuario.addContent(eNombre);
        eUsuario.addContent(eApellido);
        eUsuario.setAttribute(aCedula);
        eUsuario.addContent(eCorreo);
        eUsuario.addContent(eDireccion);
        eUsuario.addContent(eTelefono);
        eUsuario.addContent(eEstadoCivil);
        eUsuario.addContent(eGanancias);
        eUsuario.addContent(eOficio);
        raiz.addContent(eUsuario);
        guardar();
    }

    public ArrayList<Usuario> getArrayUsuario() {
        List<Element> elementoUsers = (List<Element>) raiz.getChildren();
        ArrayList<Usuario> users = new ArrayList<Usuario>();
        for (Element e : elementoUsers) {
            Usuario usuario = new Usuario();
            usuario.setNombre(e.getChildText("nombre"));
            usuario.setApellido(e.getChildText("apellido"));
            usuario.setCedula(e.getChildText("cedula"));
            usuario.setCorreo(e.getChildText("correo"));
            usuario.setDireccion(e.getChildText("direccion"));
            usuario.setEstadoCivil(e.getChildText("estadoCivil"));
            usuario.setGanancias(e.getChildText("ganancias"));
            usuario.setOficio(e.getChildText("oficio"));
            usuario.setTelefono(e.getChildText("telefono"));
            users.add(usuario);
        }
        return users;
    }
}