com.sun.n1.sps.plugin.browse パッケージには、一覧機能を指定する 5 つのインタフェースと 4 つのクラスが含まれます。
Browser – 一覧機能をサポートするには、リソースハンドラでこの基本インタフェースを使用する必要があります。
BrowserDisplay – このインタフェースは、表示をより有益かつ正確にするために階層マネージャの「Browsing」部分で使用されます。
BrowserFactory – このインタフェースは、ローダーが適切なブラウザの実際のインスタンスを取得するために使用するインタフェースです。
BrowserFilter – このインタフェースは、特定の条件に従ってノードにフィルタを適用する方法を示します。
BrowserNode – このインタフェースは、一覧可能な階層ノードの機能を定義します。
BrowserContext – このクラスは、クライアントが一覧セッションの初期パラメータを設定するためのコンテナを提供します。
BrowserInfo – このクラスは、ユーザーインタフェースでの表示とシステム内からの実際のインスタンスの取得に適切なブラウザを示します。
BrowserNodeBase – このクラスは、BrowserNode インタフェースのデフォルトの実装を提供します。
BrowserException – このクラスは、一覧セッションからスローする型付けされた例外を指定します。
ブラウザ実装には、次の主な API セグメントが含まれます。
このブラウザがサポートするフィルタを返します。BrowserFilter インタフェースを使用して、特定の条件に基づいた BrowserNodes を選別します。たとえば、*.tmp ファイルだけを表示するフィルタを適用できます。
このブラウザで使用する表示プロパティオブジェクトを取得します。
階層内でこのブラウザが表すノードを返します。
一覧時に使用するフィルタを指定します。
BrowserNode クラスは、階層ツリー機能全体を実装します。この機能は次の 4 つの分野に分かれています。
ノードのすべての子を表示
ノードの親を表示
ノードがリーフノードかどうかを指定
ノードに関連するその他の説明やプロパティを表示
BrowserFactory インタフェースは、HierarchyBrowserLoader が適切な HierarchyBrowser の実際のインスタンスを取得するためのインタフェースです。
BrowserFactory インタフェースを実装するクラスを定義するには、次の例のような API 呼び出しを使用します。
Browser getBrowser(BrowserContext bContext,AgentContext aContext)
各オプションの意味は次のとおりです。
bContext は、このブラウザを指定したコンポーネントエクスポート機能から取得するコンテキストです。
aContext は、ネイティブライブラリをロードする必要がある場合にエージェントに指定するコンテキストです。
BrowserFactory の実装は、システムが指定する BrowserContext オブジェクトと AgentContext オブジェクトをパラメータとして getBrowser メソッドを定義します。
システムサービス内で、browserClassPathVar 変数にブラウザファクトリの完全指定のクラス名を宣言します。次のコードフラグメントでは、システムサービスに 2 つのブラウザファクトリを定義しています。
<var access="PRIVATE" name="EJBFileSystemBrowser" default="com.raplix.rolloutexpress.plugins.weblogic.hierarchies.ejb.EJBFileBrowserFactory" /> <var access="PRIVATE" name="EJBDomainBrowser" default="com.raplix.rolloutexpress.plugins.weblogic.hierarchies.ejb.EJBDomainBrowserFactory" />
次の例では、名前が *.tmp のファイルだけをフィルタします。
public class TmpFilter implements BrowserFilter, ExampleFilter { public String getName() { return "tmpFilter"; } public String getDescription() { return "show only *.tmp files"; } public boolean filter(ExampleBrowserNode node) { return node.getLocalName().endsWith(".tmp"); } }