com.fiverworks.xone.bl
クラス DbProxy

java.lang.Object
  拡張com.fiverworks.xone.bl.DbProxy

public class DbProxy
extends Object

データベースにアクセスし、ビジネスロジックを実行するクラスです。
ただし、com.fiverworks.xone.bl.AbstractBizLogicでこのインスタンスを生成するので、通常はこのコンストラクタを使う必要はありません。


コンストラクタの概要
DbProxy(String sessionId)
          指定されたセッションIDでインスタンスを生成します。
 
メソッドの概要
 int copy(String source, String[] names, String dest, String writeMode)
          フォルダ内の指定されたオブジェクトを、指定されたフォルダにコピーします。
 int copy(String source, String dest, String writeMode)
          フォルダ内のすべてのオブジェクトを、指定されたフォルダにコピーします。
 int copyFolder(String source, String dest)
          指定されたフォルダを指定されたフォルダ内にコピーします。
 int count(String parent, String where, String elementCondition)
          指定されたフォルダ内のオブジェクトを指定された条件でカウントします。
 int delete(String[] paths, boolean completely)
          指定されたオブジェクトを削除します。
 int delete(String parent, boolean completely)
          指定されたフォルダ内のオブジェクトを削除します。
 int delete(String parent, String[] names, boolean completely)
          指定されたフォルダ内のオブジェクトを削除します。
 int delete(String parent, String where, String elementCondition, boolean completely)
          指定されたフォルダ内の条件に合致したオブジェクトを削除します。
 int deleteFolder(String path, boolean completely)
          指定されたフォルダを削除します。
 boolean exists(String path)
          指定されたパスのオブジェクトが存在するかどうか調べます。
 boolean existsFolder(String path)
          指定されたフォルダが存在するかどうか調べます。
 XoneFolder folderProperty(String path, XoneFolder folder)
          指定されたフォルダのメタ情報を変更します。
 Connection getConnection()
          DbProxyが保持しているデータベースのコネクションを取得します。
 XoneFolder getFolder(String path)
          指定されたフォルダを取得します。
 boolean isReadble(String path)
          指定されたフォルダが読み込み可能かどうか調べます。
 boolean isWritable(String path)
          指定されたフォルダが書き込み可能かどうか調べます。
 XoneNode[] list(String parent)
          指定されたフォルダに含まれるフォルダとオブジェクトのリストを取得します。
 XoneNode[] listObjects(String parent, String where, String elementCondition)
          指定されたフォルダ内の条件に合うオブジェクトのノードを取得します。
 XoneObject[] load(String parent)
          指定されたフォルダ内のすべてのオブジェクトを読み込みます。
 XoneObject[] load(String[] paths)
          指定されたオブジェクトを読み込みます。
 XoneObject[] load(String parent, String[] names)
          指定されたフォルダ内の指定されたオブジェクトを読み込みます。
 XoneObject[] load(String parent, String where, String elementCondition)
          指定されたフォルダ内の条件に合致したオブジェクトを読み込みます。
 XoneObject[] load(String parent, String elementCondition, String orderBy, int limit, int offset)
          指定されたフォルダ内の条件に合致したオブジェクトを読み込みます。
 int move(String source, String[] names, String dest, String writeMode)
          フォルダ内の指定されたオブジェクトを、指定されたフォルダに移動します。
 int move(String source, String dest, String writeMode)
          フォルダ内のすべてのオブジェクトを、指定されたフォルダに移動します。
 int moveFolder(String source, String dest)
          指定されたフォルダを指定されたフォルダ内に移動します。
 XoneFolder newFolder(String parent, XoneFolder folder)
          指定されたフォルダ内に新規にフォルダを作成します。
 XoneObjectInfo objectProperty(String path, String name, String timestamp, String hint)
          指定されたオブジェクトのメタ情報を変更します。
 int revive(String parent)
          指定されたフォルダ内の削除マークの付いたオブジェクトを復活します。
 int revive(String[] paths)
          指定されたオブジェクトを復活します。
 int revive(String parent, String[] names)
          指定されたフォルダ内のオブジェクトを復活します。
 int revive(String parent, String where, String elementCondition)
          指定されたフォルダ内の条件に合致したオブジェクトを復活します。
 int reviveFolder(String path)
          削除マークの付いたフォルダを復活します。
 int save(String parent, XoneObject[] xos, String writeMode)
          指定されたパラメータでオブジェクトを保存します。
 int save(String parent, XoneObject xo, String writeMode)
          指定されたパラメータでオブジェクトを保存します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DbProxy

public DbProxy(String sessionId)
指定されたセッションIDでインスタンスを生成します。

パラメータ:
sessionId - セッションID
メソッドの詳細

getConnection

public Connection getConnection()
DbProxyが保持しているデータベースのコネクションを取得します。

戻り値:
データベースのコネクション

save

public int save(String parent,
                XoneObject xo,
                String writeMode)
指定されたパラメータでオブジェクトを保存します。

パラメータ:
parent - 親フォルダのパス
xo - 保存するオブジェクト
writeMode - 書き込みモード。これがCommands.NEWのときは同じ名前のオブジェクトがすでにあれば保存しません。Commands.OVERWRITEのときは同じ名前であっても上書き保存します。
戻り値:
保存したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

save

public int save(String parent,
                XoneObject[] xos,
                String writeMode)
指定されたパラメータでオブジェクトを保存します。

パラメータ:
parent - 親フォルダのパス
xos - 保存するオブジェクト配列
writeMode - 書き込みモード。これがCommands.NEWのときは同じ名前のオブジェクトがすでにあれば保存しません。Commands.OVERWRITEのときは同じ名前であっても上書き保存します。
戻り値:
保存したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

exists

public boolean exists(String path)
指定されたパスのオブジェクトが存在するかどうか調べます。

パラメータ:
path - オブジェクトへのパス
戻り値:
存在するときはtrue
例外:
XoneRuntimeException - 実行エラーが発生した場合

load

public XoneObject[] load(String parent)
指定されたフォルダ内のすべてのオブジェクトを読み込みます。

パラメータ:
parent - 親フォルダのパス
戻り値:
読み込んだオブジェクトの配列
例外:
XoneRuntimeException - 実行エラーが発生した場合

load

public XoneObject[] load(String parent,
                         String[] names)
指定されたフォルダ内の指定されたオブジェクトを読み込みます。

パラメータ:
names - 読み込むオブジェクトの名前(nullのときはすべてのオブジェクト)
parent - 親フォルダのパス
戻り値:
読み込んだオブジェクトの配列
例外:
XoneRuntimeException - 実行エラーが発生した場合

load

public XoneObject[] load(String parent,
                         String where,
                         String elementCondition)
指定されたフォルダ内の条件に合致したオブジェクトを読み込みます。
whereとelementConditionの両方がnullの場合はparent内のすべてのオブジェクト、
whereだけがnullの場合はelementConditionで指定されたオブジェクト、
elementConditionだけがnullの場合はwhereで指定されたオブジェクト
が対象になります。

パラメータ:
parent - 親フォルダのパス
where - 条件式としてSQLのwhere句を記述します。フィールド名(列名、カラム名)にはMwMain で定義されているNAME_FIELD、TYPE_FIELD、CLASSNAME_FIELD、TIMESTAMP_FIELD、OBJECTID_FIELD、FOLDERID_FIELD、HINT_FIELD の定数が使えます。
elementCondition - エレメントに対する条件式
戻り値:
読み込んだオブジェクトの配列
例外:
XoneRuntimeException - 実行エラーが発生した場合

load

public XoneObject[] load(String parent,
                         String elementCondition,
                         String orderBy,
                         int limit,
                         int offset)
指定されたフォルダ内の条件に合致したオブジェクトを読み込みます。

パラメータ:
parent - 親フォルダのパス
elementCondition - エレメントに対する条件式
orderBy - 並び替えるフィールド。フィールドにはMwMainのNAME_FIELD、 TYPE_FIELD、CLASSNAME_FIELD、TIMESTAMP_FIELD、OBJECTID_FIELD、FOLDERID_FIELD、HINT_FIELD の定数が使えます(nullのときはNAME_FIELDと見なします)。
limit - 読み込むオブジェクトの最大数。-1を指定するとすべて読み込みます( この場合、オブジェクトの個数が設定値よりも多いときは例外を投げます)
offset - 何番目からロードするかを指定
戻り値:
読み込んだオブジェクトの配列
例外:
XoneRuntimeException - 実行エラーが発生した場合

load

public XoneObject[] load(String[] paths)
指定されたオブジェクトを読み込みます。

パラメータ:
paths - 読み込むオブジェクトのパス
戻り値:
読み込んだオブジェクトの配列
例外:
XoneRuntimeException - 実行エラーが発生した場合

count

public int count(String parent,
                 String where,
                 String elementCondition)
指定されたフォルダ内のオブジェクトを指定された条件でカウントします。
whereとelementConditionの両方がnullの場合はparent内のすべてのオブジェクト、
whereだけがnullの場合はelementConditionで指定されたオブジェクト、
elementConditionだけがnullの場合はwhereで指定されたオブジェクト
が対象になります。

パラメータ:
parent - 親フォルダのパス
where - 条件式としてSQLのwhere句を記述します。フィールド名(列名、カラム名)にはMwMain で定義されているNAME_FIELD、TYPE_FIELD、CLASSNAME_FIELD、TIMESTAMP_FIELD、OBJECTID_FIELD、FOLDERID_FIELD、HINT_FIELD の定数が使えます。
elementCondition - エレメントに対する条件式
戻り値:
オブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

delete

public int delete(String parent,
                  boolean completely)
指定されたフォルダ内のオブジェクトを削除します。 (完全には削除されず削除マークが付けられます。削除後に復活できる場合があります)

パラメータ:
completely - 完全に削除したいときはtrue
parent - 削除するフォルダのパス
戻り値:
削除したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

delete

public int delete(String parent,
                  String[] names,
                  boolean completely)
指定されたフォルダ内のオブジェクトを削除します。 完全に削除するかどうかを指定します。完全に削除したときは復活できません。

パラメータ:
completely - 完全に削除したいときはtrue
names - 削除するオブジェクトの名前(nullのときはすべてのオブジェクト)
parent - 親フォルダのパス
戻り値:
削除したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

delete

public int delete(String parent,
                  String where,
                  String elementCondition,
                  boolean completely)
指定されたフォルダ内の条件に合致したオブジェクトを削除します。
whereとelementConditionの両方がnullの場合はparent内のすべてのオブジェクト、
whereだけがnullの場合はelementConditionで指定されたオブジェクト、
elementConditionだけがnullの場合はwhereで指定されたオブジェクト
が対象になります。
完全に削除するかどうかを指定します。完全に削除したときは復活できません。

パラメータ:
completely - 完全に削除したいときはtrue
elementCondition - エレメントに対する条件式
parent - 親フォルダのパス
where - 条件式としてSQLのwhere句を記述します。フィールド名(列名、カラム名)にはMwMain で定義されているNAME_FIELD、TYPE_FIELD、CLASSNAME_FIELD、TIMESTAMP_FIELD、OBJECTID_FIELD、FOLDERID_FIELD、HINT_FIELD の定数が使えます。
戻り値:
削除したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

delete

public int delete(String[] paths,
                  boolean completely)
指定されたオブジェクトを削除します。 完全に削除するかどうかを指定します。完全に削除したときは復活できません。

パラメータ:
completely - 完全に削除したいときはtrue
paths - 削除するオブジェクトのパス
戻り値:
削除したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

revive

public int revive(String parent)
指定されたフォルダ内の削除マークの付いたオブジェクトを復活します。

パラメータ:
parent - 親フォルダのパス
戻り値:
復活したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

revive

public int revive(String parent,
                  String[] names)
指定されたフォルダ内のオブジェクトを復活します。

パラメータ:
names - 復活するオブジェクトの名前(nullのときは削除マークの付いたオブジェクトすべて)
parent - 親フォルダのパス
戻り値:
復活したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

revive

public int revive(String parent,
                  String where,
                  String elementCondition)
指定されたフォルダ内の条件に合致したオブジェクトを復活します。
whereとelementConditionの両方がnullの場合はparent内のすべてのオブジェクト、
whereだけがnullの場合はelementConditionで指定されたオブジェクト、
elementConditionだけがnullの場合はwhereで指定されたオブジェクト
が対象になります。

パラメータ:
parent - 親フォルダのパス
where - 条件式としてSQLのwhere句を記述します。フィールド名(列名、カラム名)にはMwMain で定義されているNAME_FIELD、TYPE_FIELD、CLASSNAME_FIELD、TIMESTAMP_FIELD、OBJECTID_FIELD、FOLDERID_FIELD、HINT_FIELD の定数が使えます。
elementCondition - エレメントに対する条件式
戻り値:
復活したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

revive

public int revive(String[] paths)
指定されたオブジェクトを復活します。

パラメータ:
paths - 復活するオブジェクトのパス
戻り値:
復活したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

move

public int move(String source,
                String dest,
                String writeMode)
フォルダ内のすべてのオブジェクトを、指定されたフォルダに移動します。 移動先のフォルダに同じ名前のオブジェクトがあった場合は書き込みモードに従います。

パラメータ:
writeMode - 同じ名前のオブジェクトでも上書きするときはCommands.OVERWRITE、新しい名前のものだけを書き込む時はCommands.NEW
source - 移動元のフォルダのパス
dest - 移動先のフォルダのパス
戻り値:
移動したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

move

public int move(String source,
                String[] names,
                String dest,
                String writeMode)
フォルダ内の指定されたオブジェクトを、指定されたフォルダに移動します。 移動先のフォルダに同じ名前のオブジェクトがあった場合は書き込みモードに従います。

パラメータ:
names - 移動するオブジェクトの名前(nullのときはすべてのオブジェクト)
writeMode - 同じ名前のオブジェクトでも上書きするときはCommands.OVERWRITE、新しい名前のものだけを書き込む時はCommands.NEW
source - 移動元のフォルダのパス
dest - 移動先のフォルダのパス
戻り値:
移動したオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

copy

public int copy(String source,
                String dest,
                String writeMode)
フォルダ内のすべてのオブジェクトを、指定されたフォルダにコピーします。 コピー先のフォルダに同じ名前のオブジェクトがあった場合は書き込みモードに従います。

パラメータ:
writeMode - 同じ名前のオブジェクトでも上書きするときはCommands.OVERWRITE、新しい名前のものだけを書き込む時はCommands.NEW
source - コピー元のフォルダのパス
dest - コピー先のフォルダのパス
戻り値:
コピーしたオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

copy

public int copy(String source,
                String[] names,
                String dest,
                String writeMode)
フォルダ内の指定されたオブジェクトを、指定されたフォルダにコピーします。 コピー先のフォルダに同じ名前のオブジェクトがあった場合は書き込みモードに従います。

パラメータ:
writeMode - 同じ名前のオブジェクトでも上書きするときはCommands.OVERWRITE、新しい名前のものだけを書き込む時はCommands.NEW
names - コピーするオブジェクトの名前(nullのときはすべてのオブジェクト)
source - コピー元のフォルダのパス
dest - コピー先のフォルダのパス
戻り値:
コピーしたオブジェクトの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

objectProperty

public XoneObjectInfo objectProperty(String path,
                                     String name,
                                     String timestamp,
                                     String hint)
指定されたオブジェクトのメタ情報を変更します。

パラメータ:
timestamp - 新しいタイムスタンプ
hint - 新しいヒント
path - 変更するオブジェクトのパス
name - 新しいオブジェクト名
戻り値:
変更後のオブジェクトのメタ情報
例外:
XoneRuntimeException - 実行エラーが発生した場合

list

public XoneNode[] list(String parent)
指定されたフォルダに含まれるフォルダとオブジェクトのリストを取得します。

パラメータ:
parent - 親フォルダのパス
戻り値:
ノードの配列(フォルダ内に何もないときは長さ0の配列)
例外:
XoneRuntimeException - 実行エラーが発生した場合

listObjects

public XoneNode[] listObjects(String parent,
                              String where,
                              String elementCondition)
指定されたフォルダ内の条件に合うオブジェクトのノードを取得します。削除または無効なオブジェクトのノードでも取得します。
whereとelementConditionの両方がnullの場合はparent内のすべてのオブジェクト、
whereだけがnullの場合はelementConditionで指定されたオブジェクト、
elementConditionだけがnullの場合はwhereで指定されたオブジェクト
が対象になります。

パラメータ:
parent - 親フォルダのパス
where - 条件式としてSQLのwhere句を記述します。フィールド名(列名、カラム名)にはMwMain で定義されているNAME_FIELD、TYPE_FIELD、CLASSNAME_FIELD、TIMESTAMP_FIELD、OBJECTID_FIELD、FOLDERID_FIELD、HINT_FIELD の定数が使えます。
elementCondition - エレメントに対する条件式
戻り値:
取得したオブジェクトのノードの配列
例外:
XoneRuntimeException - 実行エラーが発生した場合

existsFolder

public boolean existsFolder(String path)
指定されたフォルダが存在するかどうか調べます。

パラメータ:
path - 調べるフォルダのパス
戻り値:
存在するときはtrue
例外:
XoneRuntimeException - 実行エラーが発生した場合

getFolder

public XoneFolder getFolder(String path)
指定されたフォルダを取得します。

パラメータ:
path - 取得するフォルダのパス
戻り値:
取得したフォルダ
例外:
XoneRuntimeException - 実行エラーが発生した場合

newFolder

public XoneFolder newFolder(String parent,
                            XoneFolder folder)
指定されたフォルダ内に新規にフォルダを作成します。

パラメータ:
parent - 親フォルダのパス
folder - 作成するフォルダ
戻り値:
新規作成したフォルダ
例外:
XoneRuntimeException - 実行エラーが発生した場合

folderProperty

public XoneFolder folderProperty(String path,
                                 XoneFolder folder)
指定されたフォルダのメタ情報を変更します。

パラメータ:
folder - 新しいフォルダ
path - 変更するフォルダのパス
戻り値:
変更後のフォルダ
例外:
XoneRuntimeException - 実行エラーが発生した場合

deleteFolder

public int deleteFolder(String path,
                        boolean completely)
指定されたフォルダを削除します。
完全に削除するかどうかを指定します。完全に削除したときは復活できません。

パラメータ:
path - 削除するフォルダのパス
completely - 完全に削除したいときはtrue
戻り値:
削除したフォルダの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

reviveFolder

public int reviveFolder(String path)
削除マークの付いたフォルダを復活します。

パラメータ:
path - 復活するフォルダのパス
戻り値:
復活したフォルダの数
例外:
XoneRuntimeException - 実行エラーが発生した場合

moveFolder

public int moveFolder(String source,
                      String dest)
指定されたフォルダを指定されたフォルダ内に移動します。

パラメータ:
source - 移動元のフォルダ
dest - 移動先のフォルダ
戻り値:
移動したフォルダの数(子のフォルダの数も含む)
例外:
XoneRuntimeException - 実行エラーが発生した場合

copyFolder

public int copyFolder(String source,
                      String dest)
指定されたフォルダを指定されたフォルダ内にコピーします。

パラメータ:
source - コピー元のフォルダ
dest - コピー先のフォルダ
戻り値:
コピーしたフォルダの数(子のフォルダの数も含む)
例外:
XoneRuntimeException - 実行エラーが発生した場合

isWritable

public boolean isWritable(String path)
指定されたフォルダが書き込み可能かどうか調べます。

パラメータ:
path - 調べるフォルダのパス
戻り値:
書き込み可能なときはtrue
例外:
XoneRuntimeException - 実行エラーが発生した場合

isReadble

public boolean isReadble(String path)
指定されたフォルダが読み込み可能かどうか調べます。

パラメータ:
path - 調べるフォルダのパス
戻り値:
読み込み可能なときはtrue
例外:
XoneRuntimeException - 実行エラーが発生した場合