at.thinkingco2.databasemanager.databeans.CarBean.java Source code

Java tutorial

Introduction

Here is the source code for at.thinkingco2.databasemanager.databeans.CarBean.java

Source

package at.thinkingco2.databasemanager.databeans;

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

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

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

/**
 * Entity for CarBean. This CarBean represents an Car with its needed
 * Attributes.
 * 
 * @author lukashaidacher
 * 
 */
@Entity
@Table(name = CarBean.TABLE)
public final class CarBean implements Serializable {
    private static final long serialVersionUID = -7201404528282386138L;
    public static final String TABLE = "Car";

    /**
     * Unique-Id of CarBean
     */
    @Id
    @GeneratedValue
    @Column(name = "carId")
    private Integer id;

    /**
     * Unique-License Number of a Car
     */
    @Column(name = "licenseNumber")
    private String licenseNumber;

    /**
     * Number of Seats of the Car
     */
    @Column(name = "seats")
    private Integer seats;

    /**
     * Consumption of the Car
     */
    @Column(name = "consumption")
    private Double consumption;

    /**
     * Set of Parents, which uses the CarBean
     */
    @ManyToMany(mappedBy = "cars", fetch = FetchType.EAGER)
    private Set<ParentBean> parents;

    /**
     * Default-Constructor for Hibernate
     * 
     * @deprecated use {@link #CarBean(String, Integer, Double)} instead.
     */
    @Deprecated
    public CarBean() {
        this(null, 0, 0.0);
    }

    /**
     * Initiate-Constructor for Creating an CarBean
     * 
     * @param licenseNumber
     * @param seats
     * @param consumption
     */
    public CarBean(String licenseNumber, Integer seats, Double consumption) {
        super();
        this.licenseNumber = licenseNumber;
        this.seats = seats;
        this.consumption = consumption;
        this.parents = new HashSet<ParentBean>();
    }

    public void addParent(ParentBean parent) {
        parents.add(parent);
    }

    public void removeParent(ParentBean parent) {
        parents.remove(parent);
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getLicenseNumber() {
        return licenseNumber;
    }

    public void setLicenseNumber(String licenseNumber) {
        this.licenseNumber = licenseNumber;
    }

    public Integer getSeats() {
        return seats;
    }

    public void setSeats(Integer seats) {
        this.seats = seats;
    }

    public Double getConsumption() {
        return consumption;
    }

    public void setConsumption(Double consumption) {
        this.consumption = consumption;
    }

    public Set<ParentBean> getParents() {
        return parents;
    }

    public void setParents(Set<ParentBean> parents) {
        this.parents = parents;
    }

    @Override
    public String toString() {
        ToStringBuilder sb = new ToStringBuilder(this);

        sb.append("licenseNumber", getLicenseNumber());
        sb.append("seats", getSeats());
        sb.append("consumpation", getConsumption());

        return sb.toString();
    }

    @Override
    public int hashCode() {
        HashCodeBuilder hb = new HashCodeBuilder(97, 103);

        hb.append(getLicenseNumber());
        hb.append(getSeats());
        hb.append(getConsumption());

        return hb.toHashCode();
    }

    @Override
    public boolean equals(Object o) {
        if (!(o instanceof CarBean))
            return false;

        CarBean bean = (CarBean) o;
        EqualsBuilder eb = new EqualsBuilder();

        eb.append(getLicenseNumber(), bean.getLicenseNumber());
        eb.append(getSeats(), bean.getSeats());
        eb.append(getConsumption(), bean.getConsumption());

        return eb.isEquals();
    }

}