package open.dolphin.infomodel;
// Generated 2010/06/30 10:57:59 by Hibernate Tools 3.2.1.GA

import open.dolphin.queries.DolphinQuery;

/**
 * 役割情報 MEMO:マッピング d_roles
 * RoleModel generated by hbm2java
 */
public class RoleModel extends InfoModel {

    private long id;//MEMO:Refrection
    private UserModel user;//MEMO:Refrection
    private String userId;//そのロールを持つユーザのユーザID MEMO:Refrection
    private String role;//MEMO:Refrection

    /**
     * コンストラクタ
     */
    public RoleModel() {
    }

    /**
     * 検索 MEMO:何もしない
     * @param query
     * @return false
     */
    @Override
    public boolean search(DolphinQuery query) {
        return false;
    }

    /**
     * ロールのidのGetter
     * MEMO:Refrection
     * @return ロールのid
     */
    public long getId() {
        return id;
    }

    /**
     * ロールのidのSetter
     * MEMO:Refrection
     * @param id ロールのid
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * そのロールを持つユーザのユーザID
     * MEMO:Refrection
     * @return そのロールを持つユーザのユーザID
     */
    public String getUserId() {
        return userId;
    }

    /**
     * そのロールを持つユーザのユーザIDをセット
     * MEMO:Refrection
     * @param userId そのロールを持つユーザのユーザID
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /**
     * 役割のGetter
     * MEMO:Refrection
     * @return "admin" 管理者ロール "user" 利用者ロール
     */
    public String getRole() {
        return role;
    }

    /**
     * 役割のSetter
     * MEMO:Refrection
     * @param role "admin" 管理者ロール   "user" 利用者ロール
     */
    public void setRole(String role) {
        this.role = role;
    }

    /**
     * そのロールを持つユーザをセット
     * MEMO:Refrection
     * @return そのロールを持つユーザ
     *
     */
    public UserModel getUser() {
        return user;
    }

    /**
     * そのロールを持つユーザ
     * MEMO:Refrection
     * @param user そのロールを持つユーザ
     */
    public void setUser(UserModel user) {
        this.user = user;
    }

    /**
     * ハッシュコード
     * @return ハッシュコード
     */
    @Override
    public int hashCode() {
        final int PRIME = 31;
        int result = 1;
        result = PRIME * result + (int) (id ^ (id >>> 32));
        return result;
    }

    /**
     * 比較
     * @param obj
     * @return 同じなら真
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final RoleModel other = (RoleModel) obj;
        if (getId() != other.getId()) {
            return false;
        }
        return true;
    }
}
