4.3. メソッド命名則¶
ここではマネージャの持つメソッドの命名規則について概説します。APIリストには多数のメソッドが列挙されていますが、概ねここに説明する命名規則に従っています。コラム
名前付けのパターンによって機能が決まっているため、命名則を把握しておくことで機能の概要を知ることが出来ます。
4.3.1. 記法について¶
以下エンティティの構造毎に説明しますが、一部特殊な記述があります。その内容を【表:特殊な記述について】にて説明します。
記号 意味 * ワイルドカードを表します。list* という表記はlist のほかlistDepartmentやlistCompanyといった名称群の全体を表しています。<A> 何らかの名を表します。一箇所で<A>, <B>, <C>と出てきた場合はそれぞれ異なるエンティティ名を指すと捉えて下さい。【表:特殊な記述について】
4.3.2. コンストラクタについて¶
IM-共通マスタのマネージャクラスのコンストラクタは一律同様の引数を受け取ります。以下に、IM-共通マスタのマネージャクラスが受け取るコンストラクタ引数それぞれについて説明します。
更新ユーザコードマネージャを使用して登録や変更など更新系の処理を行う場合にここで指定されたユーザコードが使用されます。全てのテーブルに存在する更新ユーザ、または登録ユーザのカラムに設定されます。 デフォルトロケール検索や取得など参照系の処理に対して影響します。マネージャから取得した結果のデフォルトのロケールがここで指定したロケールになります。更新系処理の場合は必要なロケール全てに対し更新を行うため、この値は影響しません。
4.3.3. 基本構造と所属構造¶
4.3.3.1. 検索系¶
4.3.3.1.1. list*¶
検索して該当する結果の一覧を取得します。結果はListNodeを継承した型になります。後述するsearch*と動作の内容が似ていますが、listは指定されたLocaleの情報が存在しないエンティティでも結果に返します。以下の命名パターンがあります。
list<A>エンティティAに対して検索します。 list<A>with<B>関連のあるエンティティAとBに対して、エンティティBを条件にしてエンティティAを検索します。 list<A>with<B>On<C>関連のあるエンティティAとBとCに対して、エンティティBとエンティティCへの関連が存在するエンティティAを検索します。
4.3.3.1.2. search*¶
検索して該当する結果の一覧を取得します。結果はListNodeを継承した型になります。list*と動作の内容が似ていますが、searchは指定されたLocaleの情報が存在しないエンティティは結果に含まれません。以下の命名パターンがあります。
search<A>エンティティAに対して検索します。 search<A>with<B>関連のあるエンティティAとBに対して、エンティティBを条件にしてエンティティAを検索します。 search<A>with<B>On<C>関連のあるエンティティAとBとCに対して、エンティティBとエンティティCへの関連が存在するエンティティAを検索します。
4.3.3.1.3. total*¶
指定された条件に一致する件数を返します。list同様Localeに関係なく対象のビジネスキーが存在する件数を返します。
total<A>エンティティAに対して検索し、件数を返します。 total<A>with<B>関連のあるエンティティAとBに対して、エンティティBを条件にしてエンティティAを検索し、件数を返します。 total<A>with<B>On<C>関連のあるエンティティAとBとCに対して、エンティティBとエンティティCへの関連が存在するエンティティAを検索し、件数を返します。
4.3.3.1.4. count*¶
指定された条件に一致する件数を返します。search同様指定Locale情報の存在するエンティティの件数を返します。
count<A>エンティティAに対して検索し、件数を返します。 count<A>with<B>関連のあるエンティティAとBに対して、エンティティBを条件にしてエンティティAを検索し、件数を返します。 count<A>with<B>On<C>関連のあるエンティティAとBとCに対して、エンティティBとエンティティCへの関連が存在するエンティティAを検索し、件数を返します。
4.3.3.2. 詳細取得¶
4.3.3.2.1. get¶
get<A>エンティティAに対して、指定の基準日における全ロケールのデータを単一のオブジェクトとして取得して返します。
4.3.3.3. 更新系¶
4.3.3.3.1. set*¶
引数に渡された情報でデータベースを更新します。キーを比較し、すでにテーブルに存在している場合は更新、そうでない場合は登録処理を行います。
4.3.3.3.2. remove*¶
引数に渡されたビジネスキー情報でデータベースからエンティティを削除します。このメソッドは指定のビジネスキーを持つ全期間の情報を物理削除します。論理削除状態にしたい場合はset*を使って削除フラグを更新してください。
4.3.4. 内包構造¶
4.3.4.1. 検索¶
4.3.4.1.1. listTreeRoot¶
指定の検索条件で内包構造のルート(トップ階層)を検索し、一覧を返します。指定された言語情報が存在しなくても結果を返す点は基本構造のlistと同様です。
4.3.4.1.2. searchTreeRoot¶
指定の検索条件で内包構造のルート(トップ階層)を検索し、一覧を返します。指定された言語情報が存在しない場合結果に含めないのは基本構造のsearchと同様です。
4.3.4.1.3. totalTreeRoot¶
指定の検索条件で内包構造のルート(トップ階層)を検索し、該当件数を返します。指定された言語情報が存在しなくてもカウントする点は基本構造のtotalと同様です。
4.3.4.1.4. countTreeRoot¶
指定の検索条件で内包構造のルート(トップ階層)を検索し、該当件数を返します。指定された言語情報が存在しない場合カウントしない点は基本構造のcountと同様です。
4.3.4.1.5. List<A>with<B>UpTree¶
エンティティBの特定のノードとその上位ノードを条件に、エンティティAから該当するノードに所属する一覧を返します。指定された言語情報が存在しなくても結果を返す点は基本構造のlistと同様です。
4.3.4.1.6. Search<A>with<B>UpTree¶
エンティティBの特定のノードとその上位ノードを条件に、エンティティAから該当するノードに所属する一覧を返します。指定された言語情報が存在しない場合結果に含めないのは基本構造のsearchと同様です。
4.3.4.1.7. Total<A>with<B>UpTree¶
エンティティBの特定のノードとその上位ノードを条件に、エンティティAから該当するノードに所属する件数を返します。指定された言語情報が存在しなくてもカウントする点は基本構造のtotalと同様です。
4.3.4.1.8. Count<A>with<B>UpTree¶
エンティティBの特定のノードとその上位ノードを条件に、エンティティAから該当するノードに所属する件数を返します。指定された言語情報が存在しない場合カウントしない点は基本構造のcountと同様です。
4.3.4.2. 取得¶
4.3.4.2.1. getAbsoluteBranch, getBranch¶
内包構造において、指定したノードから下位の部分ツリーを取得します。getAbsoluteBranchは指定された言語情報の有無にかかわらず、存在するノードは取得して返します。getBranchは指定の言語が存在しないノードは返しません。
4.3.4.2.2. getAbsoluteUpBranch, getUpBranch¶
内包構造において、指定したノードから上位の部分ツリーを取得します。getAbsoluteUpBranchは指定された言語情報の有無にかかわらず、存在するノードは取得して返します。getUpBranchは指定の言語が存在しないノードは返しません。
4.3.4.2.3. getAbsoluteParent, getParent¶
内包構造において、特定のノードの親ノードの一覧を返します。getAbsoluteParentは指定された言語情報の有無にかかわらずノードの情報を取得して返します。getParentは指定の言語が存在しないノードは返しません。
4.3.4.2.4. getAbsoluteIsolation, getIsolation¶
内包構造において、指定した基準日において構成に属していないノードを取得します。getAbsoluteIsolationは指定された言語情報の有無にかかわらずノード情報を取得して返します。getIsolationは指定の言語が存在しないノードは返しません。
4.3.4.2.5. getAbsoluteChildren, getChildren¶
内包構造において、特定のノードの配下の子ノードの一覧を返します。getAbsoluteChildrenは指定された言語情報の有無にかかわらずノードの情報を取得して返します。getChildrenは指定の言語が存在しないノードは返しません。
4.3.4.2.6. getFullPathListNode¶
ノードの記述名(descriptionプロパティ)を、内包構造をパス形式で表現した名称に置き換えます。
4.3.4.3. 更新¶
4.3.4.3.1. set<A>Inclusion¶
内包する側のエンティティAと内包される側のエンティティA’と、内包する期間の期間コードを指定して、内包情報を更新・追加します。
4.3.5. 期間操作¶
4.3.5.1. 取得¶
4.3.5.1.1. get<A>Term¶
エンティティAについて指定されたビジネスキーと、基準日で街頭する期間情報(単一)を取得します。
4.3.5.1.2. get<A>TermList¶
エンティティAについて指定されたビジネスキーに定義されている期間の一覧を取得します。
4.3.5.2. 更新¶
4.3.5.2.1. mergeBackwordTerm<A>¶
ビジネスキーと期間コードを指定して、特定の期間をその直後の期間とマージします。直後の期間が削除される形で結合されます。
4.3.5.2.2. mergeForwardTerm<A>¶
ビジネスキーと期間コードを指定して、特定の期間をその直前の期間とマージします。直前の期間が削除される形で結合されます。
4.3.5.2.3. moveTerm*¶
特定の期間コードに対して、開始日と終了日を指定し、期間を変更します。隣接する期間は自動的に伸縮されます。隣接する期間を超えて伸ばしたり移動させたりした隣接する期間が伸縮するだけで入れ替わりが起こることはありません。隣接する期間がつぶされた期間は自動的に削除されます。
4.3.5.2.4. separateTerm*¶
特定の期間を特定の日付で分割します。分割した直後は分割されたどちらの期間も開始日・終了日以外は同じ内容になります。分割された後半の期間の期間コードが新たに振られます。