Cloud Software Group, Inc. EBX®
ドキュメント > ユーザーガイド > データモデル > データモデルの実装
ナビゲーションモードドキュメント > ユーザーガイド > データモデル > データモデルの実装

データモデルエレメントのプロパティ

エレメントを最初に作成した後、その定義を完了するために追加のプロパティを設定できます。

以下も参照してください。

基本的なエレメントのプロパティ

一般的な基本プロパティ

次の基本プロパティは、いくつかのタイプのエレメントで共有されます。

情報

エレメントに関連付けられた追加の非国際化情報。

値の最小数

エレメントの値の最小数。

主キーは複数値にすることができないため、このプロパティを [1] または [未定義] に設定する必要があります。フィールドを選択ノードとして定義する場合、値の最小数は自動的に [0] に設定されます。

値の最大数

エレメントの値の最大数。[1] より大きい値に設定すると、エレメントは複数値になります。

主キーは複数値にすることができないため、このプロパティを [1] または [未定義] に設定する必要があります。

テーブルの場合、値の最大数は作成時に自動的に [無制限] に設定されます。フィールドを選択ノードとして定義する場合、値の最大数は自動的に [0] に設定されます。

検証ルール

このプロパティは、[パスワード] フィールド、再利用可能型、複雑な再利用可能型のフィールド、および選択ノードを除く、テーブルおよびテーブル内のフィールドで使用できます。提供されている XPath 1.0 基準エディターを使用して、強力で複雑な検証ルールを定義するために使用されます。

詳細については、基準エディターを参照してください。

これは、値の検証が複雑な基準または他のフィールドの値に依存する場合に役立ちます。

特定の状況下で必須の値の検証がルールで定義されていることを示すこともできます。この場合、ルールが満たされない場合、値は必須です。詳細については、「null」値の制約を参照してください。

関連するウィザードを使用して、検証ルールのローカライズされたラベルを定義したり、基準が満たされていない場合に表示される重大度のあるローカライズされたメッセージを定義したりできます。

検証メッセージの重大度を定義するときに、フォームの送信時に検証ルールに違反する入力が拒否されるかどうかを示すことができます。エラー管理ポリシーは、フィールドで定義された検証ルールで、重大度が「エラー」に設定されている場合にのみ使用できます。検証ルールを有効なままにする必要がある場合、ルールに違反する入力はすべて拒否され、値は変更されません。エラーが許可されている場合、ルールに違反する入力はすべて受け入れられ、値が変更されます。指定しない場合、検証ルールはデフォルトでフォーム送信時に常にエラーをブロックします。

検証ルールがテーブルで定義されている場合、それは「テーブルの制約」と見なされ、テーブルの各レコードは実行時にそれに対して評価されます。詳細については、テーブルの制約を参照してください。

フィールドの基本プロパティ

次の基本プロパティは、フィールドに固有です。

デフォルト値

このフィールドに割り当てられたデフォルト値。新しいデータ作成フォームでは、デフォルト値がユーザー入力フィールドに自動的に表示されます。デフォルト値は、フィールドの定義されたタイプに準拠している必要があります。

詳細については、デフォルト値を参照してください。

変換エラーメッセージ

このフィールドのデータ型に対して無効な値をユーザーが入力したときにユーザーに表示する国際化されたメッセージ。

計算ルール

このプロパティは、再利用可能型を除いて、テーブルのフィールドで使用できます。提供されている XPath 1.0 エディターを使用してフィールドの値を計算するためのルールを定義します。

基準エディターを参照してください。

これは、値が同じレコード内の他の値に依存しているが、プログラムによる計算を必要としない場合に役立ちます。

計算ルールには、次の制限があります。

  • 計算ルールは、テーブル内の単純なフィールドでのみ定義できます。

  • タイプ OResource または Password のフィールドに計算ルールを定義することはできません。

  • 選択ノードと主キーフィールドで計算ルールを定義することはできません。

  • 検証レポートからエレメントにアクセスする場合、計算ルールを定義することはできません。

エレメントの詳細プロパティ

一般的な詳細プロパティ

次の詳細プロパティは、いくつかのタイプのエレメントで共有されます。

デフォルトビューおよびツール > 可視性

このエレメントをデータセットのデフォルトビュー、データセットのテキスト検索、またはデータサービスの「選択」操作に表示するかどうかを指定します。

  • モデル駆動ビュー

    現在のエレメントがテーブルの場合に、テーブルのデフォルト表形式ビュー、テーブルのデフォルトレコード形式、データセットのデフォルトビューに表示するかどうかを指定します。
    データモデルの構造から生成されたデータセットのデフォルトビュー、表形式のビュー、デフォルトレコード形式。
    現在のエレメントがテーブルの中にある場合、プロパティを [非表示] に設定すると、特定のアクセス権限を定義しなくても、テーブルのデフォルトの表形式のビューとデフォルトのレコードフォームからエレメントが隠されます。現在のエレメントは、このエレメントを表示するカスタムビューを作成できるように、ビュー構成ウィザードに表示されます。
    現在のエレメントがテーブルの場合、このプロパティを [非表示] に設定すると、特定のアクセス権限を定義しなくても、データセットのデフォルトビューからテーブルが非表示になります。
    このプロパティは、テーブルでもテーブル内でもないエレメントに設定された場合は無視されます。

  • すべてのビュー

    現在のエレメントをデータセット内のテーブルのすべてのビューに表示するかどうかを指定します。
    プロパティを [すべてのビューで非表示] に設定すると、特定のアクセス権限を定義しなくても、表形式 (デフォルトの表形式のビューを含む) または階層のいずれの場合でも、テーブルのすべてのビューでエレメントが非表示になります。現在のエレメントは、ビュー構成ウィザードでも非表示になります。つまり、このエレメントを表示するカスタムビューを作成することはできません。
    このプロパティは、テーブルにないエレメントに設定されている場合は無視されます。
    このプロパティはフォームには適用されません。つまり、プロパティを [すべてのビューで非表示] に設定すると、レコード形式ではエレメントが非表示にならず、ビューでのみ非表示になります。

  • 構造化検索ツール

    現在のエレメントをデータセット構造化検索ツールに表示するかどうかを指定します。
    プロパティを [構造化検索で非表示] に設定すると、データセットの構造化検索ツールでエレメントが非表示になります。エレメントは、クイック検索ツールで引き続き検索できます。このプロパティがテーブルにないエレメントに設定されている場合、このプロパティは無視されます。

  • クイック検索

    現在のエレメントをクイック検索ツールに含めるかどうかを指定します。
    プロパティを [クイック検索から除外] に設定すると、データセットのクイック検索ツールからエレメントが除外されます。エレメントは構造化検索ツールで引き続き検索可能です。このプロパティは、テーブルにないエレメントに設定されている場合は無視されます。

  • データサービス

    現在のエレメントをデータサービスの Select 操作に表示するかどうかを指定します。
    プロパティを [データサービスから除外] に設定すると、データサービスの 「Select」操作でエレメントが非表示になります。
    このプロパティは、テーブルにないエレメントに設定されている場合は無視されます。

『開発者ガイド』のデフォルトビューを参照してください。

デフォルトのビューとツール > ウィジェット

使用するウィジェットを定義します。ウィジェットは、関連するデータセットのフォームに表示される入力コンポーネントです。
未定義の場合、現在のエレメントのタイプとプロパティに応じて、関連付けられたデータセットにデフォルトのウィジェットが表示されます。
ビルトインウィジェットまたはカスタムウィジェットを使用することができます。カスタムウィジェットは、Java API を使用して定義され、フィールドまたはグループの豊富なユーザーインターフェイスコンポーネントの開発を可能にします。
ビルトインウィジェットとカスタムウィジェットは、テーブルまたは関連付けで定義できません。
カスタムウィジェットと UI Bean の両方を定義することは禁止されています。
外部キーフィールドにカスタムウィジェットとコンボボックスセレクターの両方を定義することは禁止されています。

詳細については、UIWidgetFactory を参照してください。

デフォルトのビューとツール > コンボボックスセレクター

外部キーのコンボボックス選択で使用される公開ビューの名前を指定します。
ドロップダウンリストの右下隅に選択ボタンが表示されます。外部キーを定義する場合、この機能を使用すると、[セレクター] ボタンを使用して高度な選択ビューにアクセスできます。このボタンから詳細選択ビューが開き、そこから並べ替えと検索のオプションを使用できます。
公開されたビューが定義されていない場合、詳細選択ビューは無効になります。
参照されるテーブルのパスが絶対である場合、このテーブルに対応する公開されたビューのみが表示されます。参照されるテーブルのパスが相対的である場合、ターゲットテーブルを含むデータモデルに関連付けられているすべての公開されたビューが表示されます。このプロパティは、カスタムウィジェットが定義されていない場合にのみ設定できます。

『開発者ガイド』の外部キーのコンボボックスセレクターのビューの定義を参照してください。

UI bean

注意

TIBCO EBX® バージョン 5.8.0 以降では、UI Bean の代わりにウィジェットを使用することをお勧めします。ウィジェットは UI Bean よりも多くの機能を提供し、UI Bean でそれ以上のアップデートは行われません。詳細については、ウィジェットを参照してください。

このプロパティは、テーブルと関連付けを除くすべてのエレメントで使用できます。データセット内のこのエレメントに関連するユーザーインターフェイスをカスタマイズするための Java クラスを指定します。UI Bean は、Java API の UIBeanEditor クラスを拡張することによって、エレメントを別の方法で表示したり、その値を変更したりすることができます。

エクスポート時の変換

このプロパティは、フィールドおよびターミナルノードであるグループで使用できます。関連するデータセットをアーカイブとしてエクスポートするときに実行される変換操作を定義する Java クラスを指定します。変換の入力は、このエレメントの値です。

詳細については、NodeDataTransformer を参照してください。

アクセスプロパティ

現在のエレメントのアクセスモードを定義します。つまり、そのデータを読み書きできるかどうかを定義します。

  • [読み取りと書き込み] は、データモデル XSD のモード RW に対応します。

  • [読み取り専用] は、データモデル XSD のモード R- に対応します。

  • [非データセットノード] は、データモデル XSD のモード CC に対応します。

  • [非ターミナルノード] は、データモデル XSD のモード - に対応します。

『開発者ガイド』のアクセスプロパティを参照してください。

比較モード

エレメントに関連付けられた比較モードを定義します。これは、データセットでその違いを検出する方法を制御します。

  • [デフォルト] は、関連データを比較するときにエレメントが表示されることを意味します。

  • [無視] は、変更されたコンテンツ (レコードまたはデータセット) の 2 つのバージョンを比較するときに変更が検出されないことを意味します。

    マージ中、コンテンツが変更されていても、無視されたエレメントのデータ値はマージされません。ただし、操作中に作成された無視されたデータセットまたはレコードの値はマージされます。

    アーカイブのインポート中、コンテンツが変更されている場合、無視されたエレメントの値はインポートされません。ただし、操作中に作成された無視されたデータセットまたはレコードの値はインポートされます。

『開発者ガイド』の比較モードを参照してください。

最終変更ポリシーの適用

このエレメントをサービスから除外して、レコードに対して実行された最後の変更を同じテーブルの他のレコードに適用できるようにする必要があるかどうかを定義します。

  • [デフォルト] は、このエレメントの最後の変更を他のレコードに適用できることを意味します。

  • [無視] は、このエレメントの最後の変更を他のレコードに適用できないことを意味します。このエレメントは、最終変更の適用サービスでは表示されません。

『開発者ガイド』の最終変更ポリシーの適用を参照してください。

ノードカテゴリ

このエレメントのカテゴリを定義します。カテゴリを使用すると、データセット内のデータのユーザーへの可視性を制御できます。[非表示] カテゴリのノードは、デフォルトで非表示になっています。制約事項:[非表示] 以外のカテゴリ指定は、テーブルレコードノードには適用されません。

『開発者ガイド』のカテゴリを参照してください。

フィールドの詳細プロパティ

次の詳細プロパティは、フィールドに固有です。

null 入力の確認

プロパティ osd:checkNullInput を実装します。このプロパティは、ユーザー入力時に null の制約をアクティブにしてチェックするために使用されます。

デフォルトでは、一時的に不完全な入力を許可するために、必須エレメントのチェックはユーザー入力では実行されず、データセットの検証時にのみ実行されます。ユーザー入力の直後に必須エレメントをチェックする必要がある場合は、このプロパティを [true] に設定します。

注意

[値の最小数] プロパティが [1] 以上に設定されている場合、値は必須と見なされます。ターミナルエレメントの場合、必須値はアクティブ化されたデータセットでのみチェックされます。非ターミナルエレメントの場合、データセットがアクティブ化されているかどうかに関係なく、値がチェックされます。

『開発者ガイド』の制約、トリガー、関数を参照してください。

空白の削除

空白の削除

プロパティ osd:trim を実装します。このプロパティは、ユーザー入力時に先頭と末尾の空白を削除する必要があるかどうかを示すために使用されます。このプロパティが設定されていない場合、ユーザー入力時に先頭と末尾の空白が削除されます。

『開発者ガイド』のユーザー入力時の空白の処理を参照してください。

UI bean

一般的な詳細プロパティを参照してください。

関数 (計算値)

このプロパティは、非主キーフィールドで使用できます。このフィールドの値をプログラムで計算する Java クラスを指定します。これは、フィールドの値がリポジトリ内の他の値に依存している場合、または値の計算でサードパーティのシステムからデータを取得する必要がある場合に役立ちます。

関数は、ValueFunction インターフェイスを実装することで作成できます。

検証の無効化

フィールドに定義された制約を無効にする必要があるかどうかを指定します。このプロパティは、関数フィールドでのみ定義できます。true の場合、関連するデータセットを検証するときに、フィールドで定義されたカーディナリティ、単純および高度な制約はチェックされません。

エクスポート時の変換

一般的な詳細プロパティを参照してください。

アクセスプロパティ

一般的な詳細プロパティを参照してください。

自動インクリメント

このプロパティは、テーブルに含まれるタイプ「整数」のフィールドでのみ使用できます。設定すると、新しいレコードが作成されるときにフィールドの値が自動的に計算されます。これは、レコードごとに一意の識別子を生成するため、主キーに役立ちます。 2つの属性を指定できます。

開始値

自動インクリメントを開始するための値。この属性が指定されていない場合、デフォルト値は [1] です。

インクリメントステップ

値は、自動インクリメントの前の値に基づいて増加されます。この属性が指定されていない場合、デフォルトの値は [1] です。

自動インクリメント確認の無効化

更新されるテーブルの最大値に対して、関連付けられたデータセットの自動インクリメント後のフィールド値のチェックを無効にするかどうかを指定します。

自動インクリメントされた値の動作は次のとおりです。

『開発者ガイド』の自動インクリメント値を参照してください。

デフォルトビュー

一般的な詳細プロパティを参照してください。

ノードカテゴリ

一般的な詳細プロパティを参照してください。

継承フィールド

フィールド値を自動的にフェッチするために、現在のフィールドから別のテーブルのフィールドへの関係を定義します。

ソースレコード

現在のエレメントからこのフィールドの値を継承するレコードにつながる外部キーまたは空白で区切られた外部キーのシーケンス。このプロパティが指定されていない場合、現在のレコードが継承のソースレコードとして使用されます。

ソースエレメント

このフィールドの値を継承するソースレコード内のエレメントの XPath。ソースエレメントはターミナルであり、「ソースレコード」で記述されたレコードに属している必要があり、そのタイプはこのフィールドのタイプと一致する必要があります。フィールド継承を使用する場合、このプロパティは必須です。

用語集の継承を参照してください。

詳細については、継承フィールドも参照してください。

テーブルの詳細プロパティ

次の詳細プロパティは、テーブルに固有です。

テーブル

主キー

テーブルの主キーを構成するテーブル内のフィールドのリスト。[データ構造] ビューのように、ここで主キーフィールドを追加または削除できます。

各主キーフィールドは、テーブルのルートエレメントの下から始まる絶対 XPath 表記で示されます。

主キーに複数のエレメントがある場合、リストは空白で区切られます。たとえば、「/name /startDate」です。

プレゼンテーション

データセット内のこのテーブルのユーザーインターフェイスでレコードを表示する方法を指定します。

プレゼンテーション > レコードラベリング

テーブル内のレコードのデフォルトおよびローカライズされたラベルを提供するフィールドを定義します。

Java クラスを指定して、プログラムでラベルを設定したり、階層にラベルを設定したりすることもできます。この Java クラスは、UILabelRenderer インターフェイスまたは UILabelRendererForHierarchy インターフェイスのいずれかを実装する必要があります。

注意:レコードラベルを表示する場合、関連するデータセットで定義されたアクセス権限は適用されません。
アクセス権限の制限のために通常非表示になっているフィールドは、ラベルに表示されます。

プレゼンテーション > フォーム内のグループに対するデフォルトレンダリング

このテーブルに含まれるグループのデフォルトの表示レンダリングモードを指定します。ここで何も定義されていない場合、管理領域で設定されたデフォルトのポリシーがグループの表示に使用されます。

『管理ガイド』のレコードフォーム:ノードのレンダリングモードを参照してください。

グループに対するレンダリングを有効にする

常に使用可能なモードの [展開済み] および [折りたたみ済み] に加えて、テーブル内のグループに対して有効にする表示レンダリングモードを指定します。グループをタブとして表示するオプションを使用するには、テーブルでタブを有効にする必要があります。同様に、グループをリンクとして表示するオプションを使用するには、リンクを有効にする必要があります。

グループに対するデフォルトレンダリング

このテーブルに含まれるグループに使用するデフォルトの表示レンダリングモードを指定します。グループがデフォルトモードを指定しない場合、このテーブルに定義されているデフォルトモードが使用されます。デフォルトのレンダリングモードを [リンク] として定義するには、リンクを有効にする必要があります。ネットワークとブラウザーのパフォーマンスに応じてレンダリングモードを選択します。リンクモードは、コンテンツが同じページに表示されないため軽量ですが、展開モードと折りたたみモードは重くなります。

注意:テーブルでタブビューが有効になっている場合、リンクを使用していたグループは自動的に折りたたみモードに変換されます。これは、同じユーザーインターフェイスに共存するリンクとタブから生じる固有の表示レイアウトの複雑さを回避するために行われます。

プレゼンテーション > フォームの特定のレンダリング

データセットのレコードフォームをカスタマイズするための特定のレンダリングを定義します。

詳細については、UIForm および UserServiceRecordFormFactory を参照してください。

ツールバー

このテーブルで使用するツールバーを定義します。

ツールバーは、[構成] > [ツールバー] セクションで編集できます。

表形式ビューの上部:デフォルトテーブルビューの上部で使用するツールバーを定義します。

表形式ビューの行:デフォルトテーブルビューの各行で使用するツールバーを定義します。

タイルビュー項目:タイルビューの各項目で使用するツールバーを定義します。

レコード上部:レコードフォームで使用するツールバーを定義します。

階層上部:テーブルのデフォルト階層ビューで使用するツールバーを定義します。

詳細については、ツールバーを参照してください。

履歴

履歴化をいつ実行するか、および要求される保証のレベルを指定します。使用可能な履歴プロファイルは、[管理] > [履歴とログ] で編集できます。

詳細については、リポジトリ内の履歴構成を参照してください。

特定のフィルター

テーブルにレコード表示フィルターを定義します。

アクション

関連するデータセットのテーブルで許可されるアクションを指定します。デフォルトでは、特定のアクセス権限がデータセットで定義されていない限り、すべてのアクションが許可されます。

一意性の制約

テーブル全体で一意である必要があるフィールドまたはフィールドのセットを示します。

トリガー

レコードの作成、更新、削除など、テーブルに対して変更が実行されたときに自動的に実行されるメソッドを定義する Java クラスを指定します。

データワークフローを開始するためのビルトイントリガーがデフォルトで含まれています。

『開発者ガイド』のトリガーを参照してください。

アクセスプロパティ

一般的な詳細プロパティを参照してください。

デフォルトビュー

一般的な詳細プロパティを参照してください。

ノードカテゴリ

一般的な詳細プロパティを参照してください。

グループの詳細プロパティ

次の詳細プロパティは、グループに固有です。

値コンテナクラス (JavaBean)

このグループの子の値を保持する Java クラスを指定します。Java クラスは、JavaBean 標準プロトコルに準拠している必要があります。つまり、グループの各子はクラス内の JavaBean プロパティに対応している必要があり、すべてのプロパティにはゲッターアクセサーとセッターアクセサーが定義されている必要があります。

UI bean

一般的な詳細プロパティを参照してください。

エクスポート時の変換

一般的な詳細プロパティを参照してください。

アクセスプロパティ

一般的な詳細プロパティを参照してください。

デフォルトビュー

可視性

一般的な詳細プロパティを参照してください。

フォーム内のレンダリング

このグループのレンダリングモードを定義します。このプロパティが設定されていない場合、コンテナテーブルで指定されたグループのデフォルトビューが使用されます。[タブ] と [リンク] はそれぞれ、コンテナテーブルで有効になっている場合にのみ使用できます。

タブ位置

この属性は、モデルで定義されているすべてのタブに対するタブの位置を指定します。この位置は、タブの順序を決定するために使用されます。位置が指定されていない場合、タブはデータモデル内のグループの位置に従って表示されます。

ノードカテゴリ

一般的な詳細プロパティを参照してください。

/ebx_search.pngユーザーガイド 目次

ドキュメント > ユーザーガイド > データモデル > データモデルの実装