br.mdarte.exemplo.academico.cd.CursoAbstract.java Source code

Java tutorial

Introduction

Here is the source code for br.mdarte.exemplo.academico.cd.CursoAbstract.java

Source

// license-header java merge-point
//
// Attention: Generated code! Do not modify by hand!
// Generated by: HibernateEntity.vsl in andromda-hibernate-cartridge.
// 
package br.mdarte.exemplo.academico.cd;

import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.FlushMode;
import br.mdarte.exemplo.academico.cd.AbstractDAO;
import br.mdarte.exemplo.academico.cd.AbstractEntity;
import br.mdarte.exemplo.academico.cd.DAOException;
import br.mdarte.exemplo.academico.to.CursoTO;
import br.mdarte.exemplo.academico.to.CursoTOImpl;
import br.mdarte.exemplo.academico.to.CursoTOExample;
import br.ufrj.coppetec.to.AbstractTO;
import br.ufrj.coppetec.to.AbstractTOExample;
import br.mdarte.exemplo.academico.util.PaginationStrategy;
import br.mdarte.exemplo.academico.cd.TOUtil;

/**
 * 
 */
public abstract class CursoAbstract extends br.mdarte.exemplo.academico.cd.AbstractEntity
        implements java.io.Serializable, br.mdarte.exemplo.academico.cd.Curso {
    private final String ENTITY_KEY = "br.mdarte.exemplo.academico.cd.CursoAbstract";

    public Boolean needUpdate(AbstractTO abstractTO) {
        Boolean need = false;
        need = abstractTO.isUpdated();
        if (need)
            return true;
        if (((CursoTO) abstractTO).getExemploTO() == null)
            return false;
        CursoTO to = (CursoTO) abstractTO;
        if ((to.getExemploTO() != null && to.getExemploTO().getEstudantes() != null
                && !to.getExemploTO().getEstudantes().isEmpty()))
            need = need || TOUtil.isCollectionChanged(to.getEstudantes(), this.getEstudantes());
        return need;
    }

    public static CursoAbstract getEntityFromTO(br.mdarte.exemplo.academico.to.CursoTO to) throws Exception {
        AbstractDAO.currentSession().setFlushMode(FlushMode.NEVER);
        CursoAbstract entity = (CursoAbstract) AbstractEntity.getEntityInstanceFromTO(to, new java.util.HashMap());
        AbstractDAO.currentSession().setFlushMode(FlushMode.AUTO);
        return entity;

    }

    protected br.mdarte.exemplo.academico.cd.AbstractEntity getEntityFromTO(AbstractTO to, java.util.HashMap map)
            throws Exception {
        if (map == null)
            map = new java.util.HashMap();
        CursoImpl bean = new CursoImpl();
        return getEntityFromTO((br.mdarte.exemplo.academico.to.CursoTO) to, bean, map);
    }

    protected CursoAbstract getEntityFromTO(br.mdarte.exemplo.academico.to.CursoTO to, Curso bean,
            java.util.HashMap map) throws Exception {
        if (to == null)
            return null;
        map.put(to.getClass().toString() + to.hashCode(), bean);

        if (to != null) {
            if (to.getId() == null) {
                bean.setCodigo(to.getCodigo());
                bean.setNome(to.getNome());
                bean.setId(to.getId());

                bean.setEstudantes(constructEstudantes(to.getEstudantes(), bean.getEstudantes(), map));

            } else {
                CursoDAOImpl dao = new CursoDAOImpl();
                if (bean.getId() == null)
                    bean = (CursoImpl) dao.select(to.getId()).iterator().next();
                map.put(to.getClass().toString() + to.hashCode(), bean);
                if (bean.getHibernate_version() != to.getHibernate_version()) {
                    throw new Exception("hibernate.version.is.different");
                }
                if (to.isUpdated()) {
                    bean.setCodigo(to.getCodigo());
                    bean.setNome(to.getNome());
                    bean.setId(to.getId());
                }

                if ((to.getExemploTO() != null && to.getExemploTO().getEstudantes() != null
                        && !to.getExemploTO().getEstudantes().isEmpty())) {
                    bean.setEstudantes(constructEstudantes(to.getEstudantes(), bean.getEstudantes(), map));
                }

            }
            return (CursoAbstract) bean;
        }
        return null;
    }

    private java.util.Collection constructEstudantes(java.util.Collection estudantesTO,
            java.util.Collection estudantesEntity, java.util.HashMap map) throws Exception {
        boolean changed = TOUtil.isCollectionChanged(estudantesTO, estudantesEntity);
        java.util.Collection list;
        if (changed)
            list = new java.util.ArrayList();
        else
            list = estudantesEntity;
        if (estudantesTO != null) {
            java.util.Iterator it = estudantesTO.iterator();
            while (it.hasNext()) {
                br.mdarte.exemplo.academico.to.EstudanteTO to = (br.mdarte.exemplo.academico.to.EstudanteTO) it
                        .next();
                br.mdarte.exemplo.academico.cd.EstudanteAbstract cd = (br.mdarte.exemplo.academico.cd.EstudanteAbstract) TOUtil
                        .getEntityFromCollection(to, estudantesEntity);
                if (map.get(to.getClass().toString() + to.hashCode()) == null) {
                    cd = (br.mdarte.exemplo.academico.cd.EstudanteAbstract) AbstractEntity
                            .getEntityInstanceFromTO(to, map);
                } else {
                    cd = (br.mdarte.exemplo.academico.cd.EstudanteAbstract) map
                            .get(to.getClass().toString() + to.hashCode());
                }
                if (changed)
                    list.add(cd);
            }
        }
        return list;
    }

    public CursoTOImpl buildTO(CursoTOExample exemploTO) throws Exception {
        return (CursoTOImpl) this.buildTO(exemploTO, new java.util.HashMap());
    }

    public AbstractTO buildTO(AbstractTOExample exemploTO, java.util.HashMap map) throws Exception {
        if (map == null)
            map = new java.util.HashMap();
        CursoTOImpl to = new CursoTOImpl();
        to.beginInitialization();
        mapEntityAttributes2TO(to);
        mapEntityRelations2TO(to, TOUtil.getExample(exemploTO, this.getTOExample()), map);
        to.finishInitialization();
        if (to.getId() == null)
            to.setExemploTO(null);
        return to;
    }

    protected void mapEntityAttributes2TO(CursoTO to) {
        to.setCodigo(this.getCodigo());
        to.setNome(this.getNome());
        to.setId(this.getId());

        to.setHibernate_version(this.getHibernate_version());

    }

    protected void mapEntityRelations2TO(CursoTO to, AbstractTOExample abstractExemploTO, java.util.HashMap map)
            throws Exception {
        map.put(this.getEntityKey() + this.hashCode(), to);
        CursoTOExample exemploTO = (CursoTOExample) abstractExemploTO;
        if (abstractExemploTO != null) {
            to.setExemploTO(exemploTO);
            if (exemploTO.getEstudantes() != null && !exemploTO.getEstudantes().isEmpty()) {
                to.setEstudantes(buildEstudantes(exemploTO.getEstudantes(), estudantes, map));
            }
        }
    }

    private java.util.Collection buildEstudantes(java.util.Collection templates, java.util.Collection estudantes,
            java.util.HashMap map) throws Exception {
        java.util.ArrayList list = new java.util.ArrayList();

        if (estudantes != null) {
            java.util.Iterator it = estudantes.iterator();
            while (it.hasNext()) {
                br.mdarte.exemplo.academico.cd.EstudanteAbstract cd = (br.mdarte.exemplo.academico.cd.EstudanteAbstract) it
                        .next();
                if (cd != null) {
                    if (map.get(cd.getEntityKey() + cd.hashCode()) == null) {
                        br.mdarte.exemplo.academico.to.EstudanteTO toTemp = (br.mdarte.exemplo.academico.to.EstudanteTO) cd
                                .buildTO(TOUtil.getExample(templates, cd.getTOExample()), map);
                        list.add(toTemp);
                    } else {
                        br.mdarte.exemplo.academico.to.EstudanteTO toTemp = (br.mdarte.exemplo.academico.to.EstudanteTO) map
                                .get(cd.getEntityKey() + cd.hashCode());
                        list.add(toTemp);
                    }
                }
            }
        }
        return list;
    }

    /**
     * The serial version UID of this class. Needed for serialization.
     */
    private static final long serialVersionUID = -6495172144479822107L;

    /**
     * Version property managed by Hibernate.
     */
    private int hibernate_version;

    public int getHibernate_version() {
        return this.hibernate_version;
    }

    private void setHibernate_version(int hibernate_version) {
        this.hibernate_version = hibernate_version;
    }

    public CursoAbstract() {
    }

    private java.lang.String codigo;

    /**
     * 
     */
    public java.lang.String getCodigo() {
        return this.codigo;
    }

    public void setCodigo(java.lang.String codigo) {
        this.codigo = codigo;
    }

    private java.lang.String nome;

    /**
     * 
     */
    public java.lang.String getNome() {
        return this.nome;
    }

    public void setNome(java.lang.String nome) {
        this.nome = nome;
    }

    private java.lang.Long id;

    /**
     * 
     */
    public java.lang.Long getId() {
        return this.id;
    }

    public void setId(java.lang.Long id) {
        this.id = id;
    }

    private java.util.Collection estudantes = new java.util.ArrayList();

    /**
     * 
     */
    public java.util.Collection getEstudantes() {
        return estudantes;
    }

    public void setEstudantes(java.util.Collection estudantes) {
        this.estudantes = (java.util.Collection) estudantes;
    }

    public void setEstudantesInverse(java.util.Collection estudantes) {
        Hibernate.initialize(estudantes);
        java.util.Collection temp = this.estudantes;
        this.estudantes = (java.util.Collection) estudantes;

        if (temp != null) {
            for (java.util.Iterator it = temp.iterator(); it.hasNext();) {
                br.mdarte.exemplo.academico.cd.Estudante estudanteNext = (br.mdarte.exemplo.academico.cd.Estudante) it
                        .next();
                estudanteNext.setCurso(null);
            }
        }

        if (estudantes != null) {
            for (java.util.Iterator it = estudantes.iterator(); it.hasNext();) {
                br.mdarte.exemplo.academico.cd.Estudante estudanteNext = (br.mdarte.exemplo.academico.cd.Estudante) it
                        .next();
                estudanteNext.setCurso(this);
            }
        }

    }

    public void addEstudantes(br.mdarte.exemplo.academico.cd.Estudante estudanteTemp) {
        Hibernate.initialize(estudanteTemp);
        Hibernate.initialize(estudantes);

        if (estudantes == null)
            setEstudantes(new java.util.ArrayList());

        if (!estudantes.contains(estudanteTemp))
            estudantes.add(estudanteTemp);
        estudanteTemp.setCurso(this);
        this.setEstudantes(estudantes);
    }

    public void removeEstudantes(br.mdarte.exemplo.academico.cd.Estudante estudanteTemp) {
        java.util.Collection estudantes = this.getEstudantes();
        Hibernate.initialize(estudanteTemp);
        Hibernate.initialize(estudantes);

        if (estudantes != null) {
            estudantes.remove(estudanteTemp);
        }
        estudanteTemp.setCurso(null);

        this.setEstudantes(estudantes);
    }

    public java.util.Collection getEstudantes(PaginationStrategy paginacao) {
        try {
            return CursoDAOImpl.getEstudantesByCurso(this.getId(), paginacao);
        } catch (DAOException daoe) {
            daoe.printStackTrace();
        }
        return null;
    }

    /**
     * Returns <code>true</code> if the argument is an Curso instance and all identifiers for this entity
     * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
     */
    public boolean equals(Object object) {
        if (this == object) {
            return true;
        }
        if (!(object instanceof Curso)) {
            return false;
        }
        final Curso that = (Curso) object;
        if (this.getId() == null || that.getId() == null || !this.getId().equals(that.getId())) {
            return false;
        }
        return true;
    }

    /**
     * Returns a hash code based on this entity's identifiers.
     */
    public int hashCode() {
        int hashCode = super.hashCode();
        hashCode = 29 * hashCode + (id == null ? 0 : id.hashCode());

        return hashCode;
    }

    /**
     * Constructs new instances of {@link br.mdarte.exemplo.academico.cd.Curso}.
     */
    public static final class Factory {
        /**
         * Constructs a new instance of {@link br.mdarte.exemplo.academico.cd.Curso}.
         */
        public static final br.mdarte.exemplo.academico.cd.Curso newInstance() {
            return new br.mdarte.exemplo.academico.cd.CursoImpl();
        }
    }

    public br.mdarte.exemplo.academico.cd.AbstractDAO getDaoImpl() {
        return new CursoDAOImpl();
    }

    @Deprecated
    public java.util.Collection THIS() {
        java.util.Collection col = new java.util.ArrayList();
        col.add(this);
        return col;
    }

    public Curso inicializa() {
        Hibernate.initialize(this);
        return this;
    }

    public br.ufrj.coppetec.Entity getInstance() {
        return new CursoImpl();
    }

    public boolean instanceOf(Class<?> otherClass) {
        return otherClass.isAssignableFrom(getCursoClass());
    }

    public Class<?> getCursoClass() {
        return CursoImpl.class;
    }

    public AbstractTOExample getTOExample() {
        return CursoTOExample.newInstance();
    }

    public String getEntityKey() {
        return ENTITY_KEY;
    }

}