//
// メソッド 管理XMO テーブル定義インタフェース
//		変更履歴
//			2005.03.28	新規作成	 梅原 浩司
//
package jp.co.ntt.lms.xmo.Method;

import jp.co.ntt.lms.xmo.Lo.LoTable;

/**
 * メソッド 管理XMO テーブル定義インタフェースです。<BR>
 * メソッドXMOに所属するクラスはこのインタフェースを実装してください。
 * @author 梅原 浩司
 * @version 0.0.0.1 2005.03.28
 */
public interface MethodTable 
	extends LoTable
{

	///////////////////////////////////////////////////////////////
	// テーブル名
	///////////////////////////////////////////////////////////////
	/** メソッド テーブル名 */
	public static final String TABLE_NAME = "Method";
	/** LO テーブル名 */
	public static final String LO_TABLE_NAME = "LO";
	/** GroupAndPeople テーブル名 */
	public static final String GP_TABLE_NAME = "GroupAndPeople";
	/** LoRelation テーブル名 */
	public static final String LR_TABLE_NAME = "LoRelation";
	/** Assignments テーブル名 */
	public static final String AS_TABLE_NAME = "Assignments";
	
	///////////////////////////////////////////////////////////////
	// メソッド テーブル定義
	///////////////////////////////////////////////////////////////
	/** メソッドLOIDフィールド名 */
	public static final String METHODLOID = "MethodLOID";
	/** 配下の並び順並列フラグフィールド名 */
	public static final String PARALLELFLAG = "ParallelFlag";
	/** 開始日付フィールド名 */
	public static final String STARTDATE = "start_date";
	/** 終了予定日付フィールド名 */
	public static final String ENDDATE = "end_date";
	/** 期間フィールド名 */
	public static final String PERIODNUM = "period_num";
	/** 計画日付前学習可能フラグフィールド名 */
	public static final String BEFORELEARNFLAG = "BeforeLearnFlag";
	/** 計画日付後学習可能フラグフィールド名 */
	public static final String AFTERLEARNFLAG = "AfterLearnFlag";
	/** LOURLフィールド名 */
	public static final String LOURL = "LOUrl";

	///////////////////////////////////////////////////////////////////////////
	// Method フィールドサイズ定義
	///////////////////////////////////////////////////////////////////////////
	/** メソッドLOIDフィールドのバイト長です */
	public static final int METHODLOID_LENB = 10;
	/** 配下の並び順並列フラグフィールドのバイト長です */
	public static final int PARALLELFLAG_LENB = 1;
	/** 開始日付フィールドのバイト長です */
	public static final int STARTDATE_LENB = 10;
	/** 終了予定日付フィールドのバイト長です */
	public static final int ENDDATE_LENB = 10;
	/** 期間フィールドのバイト長です */
	public static final int PERIODNUM_LENB = 3;
	/** 計画日付前学習可能フラグフィールドのバイト長です */
	public static final int BEFORELEARNFLAG_LENB = 1;
	/** 計画日付後学習可能フラグフィールドのバイト長です */
	public static final int AFTERLEARNFLAG_LENB = 1;
	/** LOURLフィールドバイト長 */
	public static final int LOURL_LENB = 256;
	
	///////////////////////////////////////////////////////////////
	// 定数定義
	///////////////////////////////////////////////////////////////
	/** アサインタイプ(指定なし) */
	public static int NON_TYPE = 0;
	/** アサインタイプ(学習アサイン) */
	public static int LEARN_TYPE = 1;
	/** アサインタイプ(管理アサイン) */
	public static int MANAGE_TYPE = 2;
	
	/** OrderByのキー名 */
	public static final String ORDER_BY = "order_by";
	/** アサインフラグのキー名 */
	public static final String ASSIGNFLAG_KEY = "assignments_flag";
	/** アサインタイプのキー名 */
	public static final String ASSIGNTYPE_KEY = "assignments_type";
	/** ユーザーIDのキー名 */
	public static final String USERID_KEY = "user_id";
	
//	ADD 2005/05/16 START Koji Umehara [toeic650]
	/** アサイン学習開始日時フィールド名 */
	public static final String OPENING_DATE = "opening_date";
	/** アサイン学習終了日時フィールド名 */
	public static final String CLOSING_DATE = "closing_date";
	/** カウンセリングスケジュール取得メソッド名 **/
	public static final String METHOD_GETCOUNSELSCHEDULE = "getCounselSchedule";
	/** 配下メソッド一覧取得メソッド名 **/
	public static final String METHOD_GETCHILDMETHODLIST = "getChildMethodList";
//	ADD 2005/05/16 END Koji Umehara [toeic650]
}
