擬似属性の作成
通常の属性は、Creo Elements/Direct Manager Server データベース内に存在し、関連する Java オブジェクトで初期化されます。擬似属性 (仮想属性) は、オブジェクトには存在しますが、Creo Elements/Direct Manager Server データベースには存在しません。属性の値を保存するビジネス ロジックを作成しない限り、擬似属性はオブジェクトが存在する間しか存在しません。擬似属性は、1 つ以上のクラスが使用するカスタム ビジネス ロジックを実装するために使用できます。
通常の属性とは異なり、擬似属性は、データベースでのデータの格納方法を反映するものではない、という点を理解しておくことが重要です。擬似属性を作成するとき、属性はクラスに関連付けられるように見えますが、実際には作成する参照の外部には関連付けられません。また、擬似属性には永続性はありません。つまり、擬似属性の値は、データベースのどこかに格納されるとしても、クラスの通常の属性として格納されるわけではありません。擬似属性によってエンド ユーザが混乱する可能性も考慮する必要があります。たとえば、エンド ユーザは、擬似属性の値を検索することはできません。
カスタムのバージョンやリビジョン スキーマなど、複数の場所で使用するビジネス ロジックをカプセル化する場合は、擬似属性を作成することをお勧めします。擬似属性を使用すると、作成したビジネス ロジックをいくつのクラスでも使用できます。また、作成したビジネスロジック用のカスタム属性を追加すると、将来のバージョンの Creo Elements/Direct Manager Server と互換性を維持できる可能性が高くなるため、そのビジネスロジックを保護することにもなります。
以下の場合には、擬似属性用にカスタム ビジネス ロジックを作成する必要があります。
属性の値を計算しなければならない場合
別のクラスから、あるいは Creo Elements/Direct Manager Server 外部のソースから属性の値を取得しなければならない場合
属性の値を Creo Elements/Direct Manager Server データベースまたはほかの場所に格納しなければならない場合
デフォルト クラスの一部ではない値を設定するためにユーザ入力を必要とする場合
擬似属性に関連するビジネス ロジックを作成しなくてもよい場合もあります。モデル クラスに関連付けるパーツ (または部品) 属性を作成する場合、カスタム ビジネス ロジックを作成しなくても、値はデータベースに格納されます。これ以外の理由でも、データベースに格納されず、また関連するロジックも持たない擬似属性が作成されるケースがあります (値の一時的な格納場所など)。
擬似属性を作成するための基本的なステップは、以下のとおりです。
1. XML 設定ファイルにエントリを作成します。カスタム ビジネス ロジックを作成する必要がない場合は、このステップのみを実行します。
2. 擬似属性にカスタムビジネスロジックを関連付ける必要がある場合、com.osm.biz.WMAttributeValue インターフェイスを実装するか、com.osm.biz.DefaultAttribute クラスを拡張します。
3. デフォルトの表示特性を変更する必要がある場合、属性エディタ クラスやレンダリング クラスを作成することができます。
4. ユーザが属性に設定できる値を制限するために、データ辞書を定義することをお勧めします。
XML 設定ファイルへのエントリの作成
カスタム XML ファイルのクラス定義セクションに属性のエントリを作成する必要があります。擬似属性のエントリは通常の属性のエントリと同じですが、<Searchable> タグを false に設定する必要があります。
以下の例は、PartClassName 属性を定義する例です。
<Attribute>PartClassName
<Visible>false</Visible>
<Searchable>false</Searchable>
<BusinessObjectClass>com.osm.datamgmt.biz.PartClassNameAttribute</BusinessObjectClass>
<AttributeEditorClass>com.osm.datamgmt.editor.PartDBClassNameAttributeEditor</AttributeEditorClass>
<IsPartAttribute>true</IsPartAttribute>
</Attribute>
WMAttributeValue インターフェイスの実装または DefaultAttribute クラスの拡張
WMAttributeValue インターフェイスを実装する場合、2 つのコンストラクタを作成する必要があります。クラス com.osm.biz.DefaultAttribute を参照し、このクラスファイルのコンストラクタと同じコンストラクタを作成してください。
DefaultAttribute クラスを拡張する場合は、Java クラス拡張に関する通常のルールに従ってください。
属性エディタ クラスまたはレンダリング クラスの作成
属性エディタは、保存画面や特性ダイアログなどでユーザが編集をクリックした際に、画面の編集可能フィールドに属性をどのように表示するかを制御するクラスです。レンダリング クラスは、編集不能なウィンドウや画面での属性の表示方法を制御します。
属性のデータ辞書の定義
詳細については、Creo Elements/Direct Manager Server のマニュアルを参照してください。
これは役に立ちましたか?