/*
このファイルの中身は、NTT オープンソースライセンス　バージョン 1.0（「本
契約」という）の適用を受けます。
本契約を遵守しない限り、このファイルを使用してはなりません。
本契約のコピーは、次のＵＲＬから入手できます。
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

本契約に基づき頒布されるソフトウェアは、現状のまま、明示又は黙示のあらゆ
る種類の保証なしで、頒布されます。本契約に基づく権利及び制限を律する特定
の文言については、本契約を参照してください。

「オリジナルコード」は、 NTT Cyber Space Laboratories Code です。 
「オリジナルコード」の「初期開発者」は、日本電信電話株式会社です。  
日本電信電話株式会社により創作された部分は、Copyright (C) 2004 
日本電信電話株式会社 です。
全ての権利が留保されます。 
「コントリビュータ」：_____________________________________ 


The contents of this file are subject to the NTT Opensource License
Version 1.0 (the License); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

Software distributed under the License is distributed on an AS IS
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.

The Original Code is NTT Cyber Space Laboratories Code .

The Initial Developer of the Original Code is NIPPON TELEGRAPH AND 
TELEPHONE CORPORATION.
Portions created by the NIPPON TELEGRAPH AND TELEPHONE CORPORATION 
are Copyright (C) 2004 NIPPON TELEGRAPH AND TELEPHONE CORPORATION. 
All Rights Reserved.

Contributor(s) ______________________________________.
*/

//
//	XMSBase 入力チェッククラス
//			変更履歴
//				2004.01.08	新規作成	　　　　　　鈴木　敏子
//
package jp.co.ntt.lms.xmo.Base;

import jp.co.ntt.lms.xmo.util.XMOCheck;

/**
 * XMSBase 入力チェックのクラスです。<BR>
 * XMOEntryテーブルの各フィールドの入力チェック処理を行います。
 * @auther T.Suzuki
 * @version 0.0.0.1 2004/01/08
 */
public class XMSBaseCheck extends XMOCheck
	implements XMSBaseMessage, XMSBaseTable
{
	/**
	* XMO_IDフィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkXmoID( String strCheck, boolean blHissu ) {

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu(strCheck) ) {
				return XMOID_HISSU_WAR;
			}
		}

		//XMO_IDフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, XMOID_LENB)){
			return XMOID_LEN_WAR;
		}
		return "";
	}

	/**
	* 名前フィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkXmoName( String strCheck, boolean blHissu ) {

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return XMONAME_HISSU_WAR;
			}
		}

		//XMO_NAMEフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, XMONAME_LENB)){
			return XMONAME_LEN_WAR;
		}
		return "";
	}

	/**
	* 概要フィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkXmoOutLine( String strCheck, boolean blHissu ) {

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return XMOOUTLINE_HISSU_WAR;
			}
		}

		//XMO_OUT_LINEフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, XMOOUTLINE_LENB)){
			return XMOOUTLINE_LEN_WAR;
		}
		return "";
	}

	/**
	* URIフィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkXmoUri( String strCheck, boolean blHissu ){

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return XMOURI_HISSU_WAR;
			}
		}

		//XMO_URIフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, XMOURI_LENB)){
			return XMOURI_LEN_WAR;
		}
		return "";
	}


	/**
	* 稼動フラグフィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkXmoOnFlg( String strCheck, boolean blHissu ){

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return XMOONFLG_HISSU_WAR;
			}
		}

		//XMO_ON_FLGフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, XMOONFLG_LENB)){
			return XMOONFLG_LEN_WAR;
		}
		return "";
	}


	/**
	* クラス名フィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkClassName( String strCheck, boolean blHissu ){

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return CLASSNAME_HISSU_WAR;
			}
		}

		//CLASS_NAMEフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, CLASSNAME_LENB)){
			return CLASSNAME_LEN_WAR;
		}
		return "";
	}


	/**
	* ツリービュータイプフィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkTreeViewType( String strCheck, boolean blHissu ){

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return TREEVIEWTYPE_HISSU_WAR;
			}
		}

		//TREE_VIEW_TYPEフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, TREEVIEWTYPE_LENB)){
			return TREEVIEWTYPE_LEN_WAR;
		}
		return "";
	}


	/**
	* 初期メニュー名称フィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkIniMenu( String strCheck, boolean blHissu ){

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return INIMENU_HISSU_WAR;
			}
		}

		//INI_MENUフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, INIMENU_LENB)){
			return INIMENU_LEN_WAR;
		}
		return "";
	}

	/**
	* 優先度フィールドの入力チェック処理を行います.
	* @param strCheck チェック文字列
	* @param blHissu 必須チェック区分 true: 必須チェックを行います
	*                                 false: 必須チェックを行いません
	* @return String エラーID チェックＯＫのときは空文字で返します。
	*/
	public static String checkPriority( String strCheck, boolean blHissu ){

		// 必須チェック
		if( blHissu ) {
			if( !XMOCheck.checkHissu( strCheck ) ) {
				return PRIORITY_HISSU_WAR;
			}
		}

		//INI_MENUフィールドのバイト長チェック
		if(!XMOCheck.checkLenB(strCheck, PRIORITY_LENB)){
			return PRIORITY_LEN_WAR;
		}

		//PRIORITYフィールドの整数チェック
		if(!XMOCheck.checkNumeric(strCheck, true)){
			return PRIORITY_INTEGER_WAR;
		}

		return "";
	}

}
