com.redhat.rhn.domain.user.StateChange.java Source code

Java tutorial

Introduction

Here is the source code for com.redhat.rhn.domain.user.StateChange.java

Source

/**
 * Copyright (c) 2009--2010 Red Hat, Inc.
 *
 * This software is licensed to you under the GNU General Public License,
 * version 2 (GPLv2). There is NO WARRANTY for this software, express or
 * implied, including the implied warranties of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
 * along with this software; if not, see
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
 *
 * Red Hat trademarks are not licensed under GPLv2. No permission is
 * granted to use or replicate Red Hat trademarks that are incorporated
 * in this software or its documentation.
 */
package com.redhat.rhn.domain.user;

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

import java.util.Date;

/**
 * StateChange
 * @version $Rev$
 */
public class StateChange implements Comparable<StateChange> {

    private Long id;
    private Date date = new Date();
    private User user;
    private User changedBy;
    private State state;

    /**
     * @return Returns the date.
     */
    public Date getDate() {
        return date;
    }

    /**
     * @param d The date to set.
     */
    public void setDate(Date d) {
        this.date = d;
    }

    /**
     * @return Returns the changedBy.
     */
    public User getChangedBy() {
        return changedBy;
    }

    /**
     * @param d The changedBy to set.
     */
    public void setChangedBy(User d) {
        this.changedBy = d;
    }

    /**
     * @return Returns the id.
     */
    public Long getId() {
        return id;
    }

    /**
     * @param i The id to set.
     */
    public void setId(Long i) {
        this.id = i;
    }

    /**
     * @return Returns the state.
     */
    public State getState() {
        return state;
    }

    /**
     * @param s The state to set.
     */
    public void setState(State s) {
        this.state = s;
    }

    /**
     * @return Returns the user.
     */
    public User getUser() {
        return user;
    }

    /**
     * @param u The user to set.
     */
    public void setUser(User u) {
        this.user = u;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean equals(Object o) {
        if (!(o instanceof StateChange)) {
            return false;
        }
        StateChange that = (StateChange) o;
        EqualsBuilder builder = new EqualsBuilder();

        builder.append(this.getId(), that.getId());
        builder.append(this.getDate(), that.getDate());
        builder.append(this.getState(), that.getState());
        builder.append(this.getChangedBy(), that.getChangedBy());

        builder.append(this.getUser(), that.getUser());

        return builder.isEquals();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
        builder.append(this.getId());
        builder.append(this.getDate());
        builder.append(this.getState());
        builder.append(this.getUser());
        builder.append(this.getChangedBy());
        return builder.toHashCode();

    }

    /**
     * {@inheritDoc}
     */
    public int compareTo(StateChange rhs) {
        CompareToBuilder builder = new CompareToBuilder();
        builder.append(getDate(), rhs.getDate());
        builder.append(getId(), rhs.getId());
        builder.append(this.getState(), rhs.getState());
        builder.append(this.getUser(), rhs.getUser());
        builder.append(this.getChangedBy(), rhs.getChangedBy());
        return builder.toComparison();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}