com.autentia.tnt.businessobject.ExternalActivity.java Source code

Java tutorial

Introduction

Here is the source code for com.autentia.tnt.businessobject.ExternalActivity.java

Source

/**
 * TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L.
 * Copyright (C) 2007 Autentia Real Bussiness Solution S.L.
 *
 * This program 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.
 *
 * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.autentia.tnt.businessobject;

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import com.autentia.tnt.dao.ITransferObject;
import com.autentia.tnt.dao.hibernate.UserDAO;

/**
 * TransferObject to store External Activities
 * @author Daniel Hernandez del Peso
 *
 */
public class ExternalActivity implements Serializable, ITransferObject {

    /** Serial version field */
    private static final long serialVersionUID = -1L;

    private Integer id;

    private String name;

    private String category;

    private Date startDate;

    private Date endDate;

    private String location;

    private String organizer;

    private String comments;

    private DocumentCategory documentCategory;

    private User owner;

    private Integer departmentId;

    private Date insertDate;

    private Date updateDate;

    private Set<ActivityFile> files = new HashSet<ActivityFile>();

    //TransferObject methods
    public Integer getDepartmentId() {
        return departmentId;
    }

    public Integer getId() {
        return id;
    }

    public Date getInsertDate() {
        return insertDate;
    }

    public Integer getOwnerId() {
        return owner.getId();
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;

    }

    public void setInsertDate(Date insertDate) {
        this.insertDate = insertDate;

    }

    public void setOwnerId(Integer ownerId) {
        this.owner = UserDAO.getDefault().getById(ownerId);
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;

    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    //Fields getters and setter (some of them are included in TransferObject Methods

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getOrganizer() {
        return organizer;
    }

    public void setOrganizer(String organizer) {
        this.organizer = organizer;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public DocumentCategory getDocumentCategory() {
        return documentCategory;
    }

    public void setDocumentCategory(DocumentCategory documentCategory) {
        this.documentCategory = documentCategory;
    }

    //Overriding equals and hashCode

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    /**
     * @param id the id to set
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * @return the owner
     */
    public User getOwner() {
        return owner;
    }

    /**
     * @param owner the owner to set
     */
    public void setOwner(User owner) {
        this.owner = owner;
    }

    @Override
    public int hashCode() {
        final HashCodeBuilder hcb = new HashCodeBuilder();
        hcb.append(getName());
        hcb.append(getCategory());
        hcb.append(getStartDate());
        hcb.append(getEndDate());
        hcb.append(getLocation());
        hcb.append(getOrganizer());
        hcb.append(getComments());
        hcb.append(getInsertDate());
        hcb.append(getUpdateDate());
        hcb.append(getDocumentCategory());
        hcb.append(getDepartmentId());
        hcb.append(getOwnerId());

        return hcb.toHashCode();
    }

    @Override
    public boolean equals(Object obj) {
        boolean isEquals = false;
        try {
            final ExternalActivity other = (ExternalActivity) obj;
            final EqualsBuilder eqb = new EqualsBuilder();
            eqb.append(getName(), other.getName());
            eqb.append(getCategory(), other.getCategory());
            eqb.append(getStartDate(), other.getStartDate());
            eqb.append(getEndDate(), other.getEndDate());
            eqb.append(getLocation(), other.getLocation());
            eqb.append(getOrganizer(), other.getOrganizer());
            eqb.append(getComments(), other.getComments());
            eqb.append(getInsertDate(), other.getInsertDate());
            eqb.append(getUpdateDate(), other.getUpdateDate());
            eqb.append(getDocumentCategory(), other.getDocumentCategory());
            eqb.append(getDepartmentId(), other.getDepartmentId());
            eqb.append(getOwnerId(), other.getOwnerId());

            isEquals = eqb.isEquals();

        } catch (Exception e) {
            // Sobre todo si no se puede hacer la conversin de tipos,
            // y en general si se produce cualquier error.
            isEquals = false;
        }

        return isEquals;
    }

    /**
     * @return the files
     */
    public Set<ActivityFile> getFiles() {
        return files;
    }

    /**
     * @param files the files to set
     */
    public void setFiles(Set<ActivityFile> files) {
        this.files = files;
    }

    public List<Integer> getOwnersId() {
        // TODO Auto-generated method stub
        return null;
    }

}