Windchill 基礎インタフェース
階層のルートは NetFactor インタフェースです。抽象が自己を NetFactor タイプのオブジェクトとして宣言する場合、Windchill システムに所属していると分類されます。NetFactor タイプの影響により、"初期化" メソッドのサポートとともに静的ファクトリ ("new<Class>") メソッドがコンストラクタに取って代わります。
ObjectMappable とアサートを主張するクラスは、データベースに書き込まれ、データベースから読み取られます。基礎階層の残りの抽象は、一種の ObjectMappable 抽象です。ObjectMappable のサブタイプは、すべて外部化可能で、クライアントとサーバー間を行き来するために RMI を使用する機能をオブジェクトに与えます。ObjectMappable は、データベースからの読み取りとデータベースへの書き込みをサポートするために readExternal API と writeExternal API (外部化可能のものと同様) を追加します。Windchill のアノテーションプロセッサにより、これらの API の適切な実装が生成されます。
PersistInfo インタフェースには、データベースに保存されている各オブジェクトの情報が含まれています。PersistInfo は、永続可能オブジェクトを実装しません。これは構造化された属性です。ただし、ObjectMappable は実装します。これは、createStamp、modifyStamp、updateStamp、および updateCount がすべて readExternal と writeExternal 操作に含まれていることを意味しています。
リンク、オブジェクト参照、および照会キーは、インタフェースとして以下の図に示すように一般化されます。
バイナリリンク
QueryKey インタフェースは、クラス (名) と識別子の組み合わせで表されるデータベース内の永続可能オブジェクトの役割を指定します。WTReference インタフェースは、単一の QueryKey を集め、そのキーに対応する (インフレートされた) 永続可能オブジェクトを表す、対応する "オブジェクト" を提供します。永続可能オブジェクトが生成されない、または複数の永続可能オブジェクトが生成されるキーのインフレートを試みると、例外が発生します。
Link インタフェースは、役割のコンテナの概念を特定します。特に、Link インタフェースの一種である BinaryLink インタフェースは、2 つの永続オブジェクト間の関連の属性のあるメンバーの抽象です。実際のオブジェクトの格納は、各役割の参照の集合体によって行われます。
永続可能インタフェースは、以下の図に示すようにオブジェクトにプライマリキー (オブジェクト ID) とデータベース内のテーブルを与えます。このプライマリキーが ObjectReference (プライマリキーを使用して永続可能オブジェクトを参照する WTReference 実装) の識別子です。
永続可能オブジェクト
第 1 クラスオブジェクトは永続インタフェースを実装します。結果として、オブジェクトが保存される各クラスのデータベーステーブルが生成されます。構造化された属性は、関連する第 1 クラスオブジェクトのデータベーステーブルに保存されます。すべての永続可能オブジェクトとデータベースから読み取られる、またはデータベースに書き込まれる構造化された属性は、ObjectMappable インタフェースを実装する必要があります。