openGionopenGion
5.8.4.0

org.opengion.hayabusa.taglib
クラス FileQueryTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 javax.servlet.jsp.tagext.BodyTagSupport
          上位を拡張 org.opengion.hayabusa.taglib.CommonTagSupport
              上位を拡張 org.opengion.hayabusa.taglib.QueryTag
                  上位を拡張 org.opengion.hayabusa.taglib.FileQueryTag
すべての実装されたインタフェース:
Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally

public class FileQueryTag
extends QueryTag

ファイルを検索し、DBTableModel にセットするタグです。 ファイルの検索結果は、[WRITABLE],LEVEL,FILE_TYPE,PARENT,NAME,LASTMODIFIED,FILE_LENGTH,RWH,[MD5],[TO_PARENT,TO_NAME],[・・・・] のカラムを持つ DBTableModel にセット されます。このカラムは、固定です。 並び替えについては、このタグで指定しますが、ファイルの選別(where 条件)は、 BODY 部に記述する fileWhere タグで指定します。(複数指定可能)) [カラム名] 検索するファイルの属性は、以下のカラム名で作成されます。 [WRITABLE] useWritable=trueで、先頭カラムに、WRITABLE カラムが挿入されます。 LEVEL ディレクトリを展開する場合のレベル。 FILE_TYPE ファイル(F)かディレクトリ(D)であるか判定。 PARENT この抽象パス名の親のパス名文字列を返します。 NAME この抽象パス名が示すファイルまたはディレクトリの名前を返します。 LASTMODIFIED 最後に変更された時刻を返します。 FILE_LENGTH ファイルの長さを返します。 RWH 読み込み、書き込み、隠し属性をそれぞれ、r,w,h で表します。 [MD5] useMD5=trueで、MD5 というカラムを追加したうえで、ファイルのMD5計算を行います。 [TO_PARENT] useUpdateClms=trueで、fileUpdateタグでCOPYやMOVEを行う時に使用する必須となるカラム(TO_PARENT,TO_NAME)を追加します。 [TO_NAME] 同上 [・・・・] addClms属性で指定されたカラムを追加します。

関連項目:
直列化された形式
形式サンプル:
 ●形式:<og:fileQuery from="…" multi="true/false" >
             <og:fileWhere … />
              …
         </og:fileQuery>
 ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)

 ●Tag定義:
   <og:fileQuery
       from             ○【TAG】検索を開始するファイルまたはディレクトリを指定します(必須)。
       multi              【TAG】多段階展開するか、1レベル展開するかどうか[true:多段階/false:1レベル]を指定します(初期値:false:1レベル)。
       level              【TAG】多段階展開するレベルを指定します(初期値:100)。
       orderBy            【TAG】ソートするカラム名を指定します(一つのみ)。
       desc               【TAG】表示順を逆転するかどうか[true/false]を指定します(初期値:false)。
       useWritable        【TAG】先頭カラムに、WRITABLE カラムを追加するかどうか[true/false]を指定します(初期値:false)。
       useMD5             【TAG】MD5カラムを追加したうえで、MD5計算を行うかどうか[true/false]を指定します(初期値:false)。
       useUpdateClms      【TAG】TO_PARENT、TO_NAMEカラムを追加するかどうか[true/false]を指定します(初期値:false)。
       addClms            【TAG】検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。
       fileType           【TAG】選択対象[FILE/DIR]を指定します。下位展開は考慮(multi 属性準拠)されます。
       addFrom            【TAG】from属性で指定された基準ファイル/フォルダ自体をリストに追加するかどうか[true/false]を指定します(初期値:true)。
       command            【TAG】コマンド(NEW,RENEW)をセットします("NEW" と "RENEW" 時のみ実行する(初期値:NEW))。
       maxRowCount        【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限])。
       displayMsg         【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])v
       overflowMsg        【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。
       notfoundMsg        【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
       tableId            【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
       scope              【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)。
       debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)。
   >   ... Body ...
   </og:fileQuery>

 ●使用例
    ・一般的な属性でファイルの検索を行います。
         <og:fileQuery
                from    = "d:/webapps/dbdef/jsp/"
                multi   = "true"
                command = "{@command}"  >
            <og:fileWhere endWith=".jsp" />
      </og:fileQuery>

    ・最終変更日で逆順ソートする。対象は、2002/10/01 以降に変更されたファイル。
        <og:fileQuery
                from    = "d:/webapps/dbdef/jsp/"
                multi   = "true"
                orderBy = "LASTMODIFIED"
                desc    = "true"
                command = "{@command}"  >
            <og:fileWhere lastModified="20021001000000" />
        </og:fileQuery>
変更履歴:
4.0.0.0 (2005/01/31) 内部ロジック改定
機能分類
その他入力
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
 
クラス org.opengion.hayabusa.taglib.QueryTag から継承されたフィールド
CMD_NEW, CMD_RENEW, command, displayMsg, dyStart, errCode, errMessage, errMsgId, executeCount, maxRowCount, names, outMessage, quotCheck, skipRowCount, sql, stopError, table, tableId, xssCheck
 
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド
bodyContent
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
id, pageContext
 
インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
EVAL_BODY_AGAIN
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
コンストラクタの概要
FileQueryTag()
           
 
メソッドの概要
 int doAfterBody()
          Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
protected  void execute(File fin, int lvl)
          FileQuery を実行します。
protected  void release2()
          タグリブオブジェクトをリリースします。
 void setAddClms(String clms)
          【TAG】検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。
 void setAddFrom(String flg)
          【TAG】from属性で指定された基準ファイル/フォルダ自体をリストに追加するかどうか[true/false]を指定します(初期値:true)。
 void setDesc(String flag)
          【TAG】表示順を逆転するかどうか[true/false]を指定します(初期値:false)。
protected  void setFileFilter(FileFilter filter)
          FileFilterオブジェクトをセットします。
 void setFileType(String str)
          【TAG】ファイル名が、指定されたファイルタイプ[DIR/FILE]と一致した場合、スルー(選択)されます。
 void setFrom(String url)
          【TAG】ファイルの検索元となるディレクトリを指定します。
 void setLevel(String lvl)
          【TAG】多段階展開するレベルを指定します(初期値:100)。
 void setMulti(String mlti)
          【TAG】多段階展開するか、1レベル展開するかどうか[true/false]を指定します(初期値:false)。
 void setOrderBy(String clm)
          【TAG】ソートするカラム名を指定します(一つのみ)。
 void setUseMD5(String flag)
          【TAG】MD5カラムを追加したうえで、MD5計算を行うかどうか[true/false]を指定します(初期値:false)。
 void setUseUpdateClms(String flag)
          【TAG】TO_PARENT、TO_NAMEカラムを追加するかどうか[true/false]を指定します(初期値:false)。
 void setUseWritable(String flag)
          【TAG】先頭カラムに、WRITABLE カラムを追加するかどうか[true/false]を指定します(初期値:false)。
 String toString()
          このオブジェクトの文字列表現を返します。
 
クラス org.opengion.hayabusa.taglib.QueryTag から継承されたメソッド
doEndTag, doStartTag, execute, getRequest, setCheckNames, setCommand, setDbid, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setQueryType, setQuotCheck, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setXssCheck
 
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
 
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド
getParent, setPageContext, setParent
 

コンストラクタの詳細

FileQueryTag

public FileQueryTag()
メソッドの詳細

doAfterBody

public int doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。

定義:
インタフェース IterationTag 内の doAfterBody
オーバーライド:
クラス QueryTag 内の doAfterBody
戻り値:
後続処理の指示(SKIP_BODY)
変更履歴:
5.3.4.0 (2011/04/01) 指定カラムのソート処理機能追加
5.3.5.0 (2011/05/01) 最初のファイルが存在する場合のみ、実行する。

release2

protected void release2()
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。

オーバーライド:
クラス QueryTag 内の release2
変更履歴:
5.3.4.0 (2011/04/01) 指定カラムのソート処理機能、カラム追加機能、fileType追加
5.3.9.0 (2011/09/01) addFrom属性追加
5.7.4.3 (2014/03/28) useWritable,useMD5属性追加。valClms を defClms に置き換え。

execute

protected void execute(File fin,
                       int lvl)
FileQuery を実行します。

パラメータ:
fin - 検索を開始するファイル/ディレクトリ
lvl - 階層展開レベル
変更履歴:
5.3.4.0 (2011/04/01) fileType の条件に合致する場合だけ、データを作成する。
5.3.7.0 (2011/07/01) フォルダにアクセスできない場合は、null となるのでその対応
5.3.9.0 (2011/09/01) addFrom属性追加

setFrom

public void setFrom(String url)
【TAG】ファイルの検索元となるディレクトリを指定します。

パラメータ:
url - ファイルの検索元となるディレクトリ
説明:
 ファイルの検索元となるディレクトリを指定します。
変更履歴:
4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。

setMulti

public void setMulti(String mlti)
【TAG】多段階展開するか、1レベル展開するかどうか[true/false]を指定します(初期値:false)。

パラメータ:
mlti - 多段階展開するか [true:する/false:1レベル]
説明:
 初期値は、false (1レベル) です。

setLevel

public void setLevel(String lvl)
【TAG】多段階展開するレベルを指定します(初期値:100)。

パラメータ:
lvl - 多段階展開するレベル
説明:
 

setOrderBy

public void setOrderBy(String clm)
【TAG】ソートするカラム名を指定します(一つのみ)。

パラメータ:
clm - ソートするカラム名(一つのみ)、逆順は、マイナスを付ける。
関連項目:
setDesc( String )
説明:
 ソートするカラム名を、"LEVEL","FILE_TYPE","PARENT","NAME","LASTMODIFIED","FILE_LENGTH","RWH"
 から一つ選びます。
 これは、複数カラムでのソートはできません。
 逆順にソートする場合は、desc属性を true にセットください。
 + をつけても、無効(カラム名がないということでエラーになります。
変更履歴:
5.3.4.0 (2011/04/01) 新規追加

setDesc

public void setDesc(String flag)
【TAG】表示順を逆転するかどうか[true/false]を指定します(初期値:false)。

パラメータ:
flag - 表示順を逆転するかどうか [逆順:true/正順:false]
関連項目:
setOrderBy( String )
説明:
 orderBy 属性で指定した表示順を、逆順にするかどうかを指定できます。
 初期値は、false (昇順) です。
変更履歴:
5.3.4.0 (2011/04/01) 新規追加

setUseWritable

public void setUseWritable(String flag)
【TAG】先頭カラムに、WRITABLE カラムを追加するかどうか[true/false]を指定します(初期値:false)。

パラメータ:
flag - 先頭カラムに、WRITABLE カラムを追加するかどうか[true:追加する/false:追加しない]
説明:
 ファイル検索結果の1レコード単位に、書き込み許可/禁止属性を付けるには、
 カラム列の先頭に、WRITABLE カラムを追加する必要があります。
 初期値は、false (追加しない) です。
変更履歴:
5.7.4.3 (2014/03/28) 新規追加

setUseMD5

public void setUseMD5(String flag)
【TAG】MD5カラムを追加したうえで、MD5計算を行うかどうか[true/false]を指定します(初期値:false)。

パラメータ:
flag - MD5カラムを追加したうえで、MD5計算を行うかどうか[true:追加する/false:追加しない]
説明:
 ファイルの改変等をチェックするには、ファイルのハッシュ値を拾う必要があります。
 タイムスタンプとサイズ(LASTMODIFIED,FILE_LENGTH)でも、類似の処理は可能ですが、
 より、厳密な一致をみるなら、MD5でハッシュした結果を突き合わせるのがベストです。
 useMD5=true に設定すると、MD5 というカラムを追加したうえで、MD5計算結果をセットします。
 初期値は、false (追加しない) です。
変更履歴:
5.7.4.3 (2014/03/28) 新規追加

setUseUpdateClms

public void setUseUpdateClms(String flag)
【TAG】TO_PARENT、TO_NAMEカラムを追加するかどうか[true/false]を指定します(初期値:false)。

パラメータ:
flag - TO_PARENT、TO_NAMEカラムを追加するかどうか [true:追加する/false:追加しない]
関連項目:
setAddClms( String ), FileUpdateTag
説明:
 fileUpdateタグでは、ファイルのCOPYやMOVEが出来ますが、そのコピー先、移動先の
 ファイルを行ごとに指定する場合、TO_PARENT、TO_NAMEカラムという固定名のカラムが
 必要です。
 これを、addClms 属性で指定する代わりに、この属性で、true をセットすることで、
 自動的に追加されます。
 初期値は、false (追加しない) です。
変更履歴:
5.3.4.0 (2011/04/01) 新規追加

setAddClms

public void setAddClms(String clms)
【TAG】検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。

パラメータ:
clms - 検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。
関連項目:
setUseUpdateClms( String )
説明:
 デフォルトのカラム名、[WRITABLE],LEVEL,FILE_TYPE,PARENT,NAME,LASTMODIFIED,FILE_LENGTH,RWH,[MD5],[TO_PARENT,TO_NAME]
 以外に、指定のカラム名を追加することが可能です。
 これは、ファイル検索結果以外の項目を追加して、データベースに書き込む場合に、利用できます。
 並び順は、デフォルトカラムの後ろに、指定のカラムの順番で付きます。
 ここで追加したカラムには、カラムリソースの初期値がセットされます。
変更履歴:
5.3.4.0 (2011/04/01) 新規追加

setFileType

public void setFileType(String str)
【TAG】ファイル名が、指定されたファイルタイプ[DIR/FILE]と一致した場合、スルー(選択)されます。

パラメータ:
str - 指定するファイルタイプ(DIR,FILE,null)
説明:
 大文字小文字は区別しません。
 ファイルタイプ は、DIR,FILE が指定できます。
 DIR は、ディレクトリのみ検索します。(階層下がりも行います)
 FILEは、ファイルのみ検索します。(階層下がりも行います)
 引数が null の場合は、追加しません。(つまり、すべてスルーされます。)
変更履歴:
5.3.4.0 (2011/04/01) fileType メソッドで選択対象指定の追加

setAddFrom

public void setAddFrom(String flg)
【TAG】from属性で指定された基準ファイル/フォルダ自体をリストに追加するかどうか[true/false]を指定します(初期値:true)。

パラメータ:
flg - 基準ファイル/フォルダ自体をリストに追加するかどうか true:追加する/false:追加しない]
説明:
 初期値はtrue(追加する)です。
変更履歴:
5.3.9.0 (2011/09/01) 新規作成

setFileFilter

protected void setFileFilter(FileFilter filter)
FileFilterオブジェクトをセットします。 これは、BODY 部に登録した、FileWhereタグによって設定された ファイルフィルターです。

パラメータ:
filter - オブジェクト

toString

public String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

オーバーライド:
クラス QueryTag 内の toString
戻り値:
このクラスの文字列表現

openGion 5.8.4.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.