package org.itscool.weber.user;

/**
 * フレームワーク標準のユーザクラスです<BR>
 * このインスタンスはorg.itscool.LoginActionが呼ばれると、
 * リクエストパラメータにセットされているユーザ名(name)とパスワード(pwd)
 * をセットされたUserインスタンスの照合を行います。
 * @author KANO
 * @since jdk1.4.1
 * @version 1.00A 2004/11/1
 */
public class User {
    public static final String TABLE="USER";
    public static final String PK_COLUM_id = "ID";
    public static final String COLUM_name = "NAME";
    public static final String COLUM_pwd = "PASSWORD";
    public static final String COLUM_roleId = "ROLE_ID";
    public static final String FK_TABLE_role = Role.TABLE;
    public static final String FK_COLUM_role_roleId = Role.PK_COLUM_id;
    
    /** ID（DB用) */
    private int id = -1;
    /** ユーザ名 */
    private String name;
    /** パスワード */
    private String pwd;
    
    /** 権限情報 */
    private Role role;
    /** 権限ID(DB用) */
    private int roleId = -1;
    
    /**
     * ユーザ名を取得します
     * @return name ユーザ名
     */
    public String getName() {
        return name;
    }
    /**
     * ユーザ名をセットします
     * @param name name を設定します。
     */
    public void setName(String name) {
        this.name = name;
    }
    /**
     * パスワードを取得します
     * @return pwd パスワード
     */
    public String getPwd() {
        return pwd;
    }
    
    /**
     * パスワードをセットします
     * @param pwd pwd を設定します。
     */
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    
    /**
     * IDを取得します（DB用)
     * @return id ID
     */
    public int getId() {
        return id;
    }
    
    /**
     * IDをセットします
     * @param id ID
     */
    public void setId(int id) {
        this.id = id;
    }
    
    /**
     * 権限IDを取得します（DB用）
     * @return 権限ID
     */
    public int getRoleId() {
        return roleId;
    }
    
    /**
     * 権限IDをセットします
     * @param roleId 権限ID
     */
    public void setRoleId(int roleId) {
        this.roleId = roleId;
    }
    
    /**
     * 権限情報を取得します
     * @return UserRoleインスタンス
     */
    public Role getRole() {
        return role;
    }
    
    /**
     * 権限情報をセットします
     * @param role 権限情報
     */
    public void setRole(Role role) {
        this.role = role;
    }
    
    /**
     * ユーザ情報を取得します
     * @return ユーザ情報
     */
    public String toString(){
        StringBuffer sb = new StringBuffer();
        sb.append("name:").append(name);
        sb.append(" ");
        sb.append("pwd:").append(pwd);
        return sb.toString();
    }
}
