DevFaqActionAddFileMimeJa

Revision as of 15:33, 6 November 2009 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

独自の mime-type のファイルにアクションを追加するにはどのようにしたらよいですか?

layer.xml ファイルにアクションを宣言する必要があります。次のようになります:

<folder name="Loaders">
   <folder name="text">
     <folder name="html">
        <folder name="Actions">
           <file name="org-mymodule-MyAction.instance">
</folder></folder></folder></folder>

"text/html" を "text/x-java"、"text/x-ant+xml"、"text/x-jsp"、"image/png"で置き換えてください。

しかしながら、その形式が動作するデータローダーがどのようなものかに依存するため、まだ動作しない場合があります。DataLoader 実装は actionsContext() をオーバーライドし、もしそこから Action インスタンスを読み込むときには、そのパスを返す必要があります。もし、あなたが関心のあるデータローダーがまだこのようになっていないのなら、将来のリリースにてこれが修正されているかを確認するため、最初にバグ報告を提出してください。次善策として、下記例を使う事ができます。

DataLoader loader = DataLoaderPool.getDefault().firstProducerOf(SomeDataObject.class);
if (loader != null) {
    SystemAction[] actions = loader.getActions();
    SystemAction[[ | ]] newactions = new SystemAction[Actions.length+2];
    System.arraycopy(actions, 0, newactions, 0, actions.length);
    // More realistically: take care that it is not a duplicate,
    // place into a specific position, etc.:
    newactions[Actions.length] = null;
    newactions[Actions.length+1] = SystemAction.get(SomeAction.class);
    loader.setActions(newactions);
}

この次善策を実装する外部データオブジェクトの実装クラスについて知っている必要があります。実際に有用性に対し重大で、且つ間もなく入手できる(バグ報告はした、正しいですか?)レイヤーベースの宣言型アクションで置き換えできないのでなければ、このようにする事は避けるべきです。

関連項目 :


Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo