概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.seasar.remoting.axis.deployer
クラス AxisDeployer

    java.lang.Object
      org.seasar.remoting.axis.deployer.AxisDeployer

すべての実装インタフェース:
  org.seasar.remoting.common.deployer.Deployer

public class AxisDeployer
extends java.lang.Object
implements org.seasar.remoting.common.deployer.Deployer

diconファイル中に記述されたコンポーネントをAxisにデプロイします。

作成者:
  koichik

フィールドの概要
`protected org.seasar.framework.container.S2Container` | `container`
`protected ItemDeployer` | `handlerDeployer`
`protected static java.util.regex.Pattern` | `META_NAME_PATTERN` `<meta>` 要素の `name` 属性に指定される名前を取得するための正規表現です。
`protected ItemDeployer` | `serviceDeployer`
`protected javax.servlet.ServletContext` | `servletContext`
`protected ItemDeployer` | `wsddDeployer`

コンストラクタの概要
`AxisDeployer()`

メソッドの概要
`void` | `deploy()` コンテナに登録されているサービスやハンドラをデプロイします。
`protected void` | `forEach(org.seasar.framework.container.S2Container container)` コンテナの階層をたどって全てのコンテナとコンポーネント定義を走査します。
`protected org.apache.axis.deployment.wsdd.WSDDDeployment` | `getDeployment(org.seasar.framework.container.S2Container container)` WSDDデプロイメントを返します。
`protected org.apache.axis.AxisEngine` | `getEngine(org.seasar.framework.container.S2Container container)` Axisエンジンを返します。
`protected java.lang.String` | `getLocalName(org.seasar.framework.container.MetaDef metaDef)` メタデータの名前がS2Axisで使用する接頭辞で始まっていれば、接頭辞の後ろのローカル名を返します。
`protected org.seasar.framework.container.MetaDef` | `getMetaDef(org.seasar.framework.container.MetaDefAware metaDefSupport, java.lang.String localName)` `S2Container` または `ComponentDef` が名前 `"axis-localName` の `<meta>` 要素を持っていれば、その `MetaDef` を返します。
`protected org.seasar.framework.container.MetaDef[]` | `getMetaDefs(org.seasar.framework.container.MetaDefAware metaDefSupport, java.lang.String localName)` `S2Container` または `ComponentDef` が名前 `"axis-localName` の `<meta>` 要素を持っていれば、その `MetaDef` を全て返します。
`protected void` | `process(org.seasar.framework.container.ComponentDef componentDef)` コンポーネント定義にS2Axisのメタデータ `<meta name="axis-service">` または `<meta name="axis-handler">` が指定されていれば、そのコンポーネントをサービスまたはハンドラとしてAxisにデプロイします。
`protected void` | `process(org.seasar.framework.container.S2Container container)` S2コンテナにS2Axisのメタデータ `<meta name="axis-deploy">` が指定されていれば、そのWSDDをAxisにデプロイします。
`void` | `setContainer(org.seasar.framework.container.S2Container container)` S2コンテナを設定します。
`void` | `setServletContext(javax.servlet.ServletContext servletContext)` サーブレットコンテキストを設定します。

クラス java.lang.Object から継承したメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### META_NAME_PATTERN

    protected static final java.util.regex.Pattern META_NAME_PATTERN

  `<meta>` 要素の `name` 属性に指定される名前を取得するための正規表現です。
  S2Axis-V1.0.0-RC2以降は接頭辞 `axis-` の後にローカル名が続きます。
  S2Axis-V1.0.0-RC1以前との互換性のため、接頭辞 `s2-axis:` も使えるようにしています。

### container

    protected org.seasar.framework.container.S2Container container

### servletContext

    protected javax.servlet.ServletContext servletContext

### serviceDeployer

    protected ItemDeployer serviceDeployer

### handlerDeployer

    protected ItemDeployer handlerDeployer

### wsddDeployer

    protected ItemDeployer wsddDeployer

コンストラクタの詳細

### AxisDeployer

    public AxisDeployer()

メソッドの詳細

### setContainer

    public void setContainer(org.seasar.framework.container.S2Container container)

  S2コンテナを設定します。

  パラメータ:
    `container` - S2コンテナ

### setServletContext

    public void setServletContext(javax.servlet.ServletContext servletContext)

  サーブレットコンテキストを設定します。

  パラメータ:
    `servletContext` - サーブレットコンテキスト

### deploy

    public void deploy()

  コンテナに登録されているサービスやハンドラをデプロイします。

  定義:
    インタフェース `org.seasar.remoting.common.deployer.Deployer` 内の `deploy`

### forEach

    protected void forEach(org.seasar.framework.container.S2Container container)

  コンテナの階層をたどって全てのコンテナとコンポーネント定義を走査します。
  走査する順序は次の通りです。
  1. コンテナ自身
  2. 子のコンポーネント定義
  3. 子のコンテナを再起的に

  パラメータ:
    `container` - 起点となるコンテナ

### process

    protected void process(org.seasar.framework.container.S2Container container)

  S2コンテナにS2Axisのメタデータ `<meta name="axis-deploy">` が指定されていれば、そのWSDDをAxisにデプロイします。

  パラメータ:
    `container` - S2コンテナ

### process

    protected void process(org.seasar.framework.container.ComponentDef componentDef)

  コンポーネント定義にS2Axisのメタデータ `<meta name="axis-service">` または `<meta name="axis-handler">` が指定されていれば、そのコンポーネントをサービスまたはハンドラとしてAxisにデプロイします。

  パラメータ:
    `componentDef` - コンポーネント定義

### getDeployment

    protected org.apache.axis.deployment.wsdd.WSDDDeployment getDeployment(org.seasar.framework.container.S2Container container)

  WSDDデプロイメントを返します。

  パラメータ:
    `container` - コンテナ
  戻り値:
    WSDDデプロイメント

### getEngine

    protected org.apache.axis.AxisEngine getEngine(org.seasar.framework.container.S2Container container)

  Axisエンジンを返します。
  Axisエンジンは、コンテナに名前 `axis-engine` を持つ `<meta>` 要素が指定されていれば、その内容文字列から次のように決定されます。
  未定義の場合
    `"default"` が指定されたものとしてAxisエンジンを決定します。
  `"default"`
    コンテナにサーブレットコンテキストが設定されていれば `"default-server"` 、そうでなければ `"default-client"` が指定されたものとしてAxisエンジンを決定します。
  `"default-client"`
    コンテナから `javax.xml.rpc.Service` を実装したコンポーネントを取得し、そのエンジンを使用します。
  `"default-server"`
    サーブレットコンテキストに設定されているAxisエンジンを使用します。
    最初に `S2AxisConstants.AXIS_SERVLET`と `S2AxisConstants.ATTR_AXIS_ENGINE`を連結した文字列をキーとして サーブレットコンテキストからAxisエンジンを取得します。
    見つからなかった場合は{S2AxisConstants#ATTR_AXIS_ENGINE}を キーとしてサーブレットコンテキストから取得したAxisエンジンを取得します。
  `"servlet:"` で始まる文字列
    `"servlet:"` の後ろの文字列をキーとしてサーブレットコンテキストから 取得したAxisエンジンを使用します。
  `"s2:"` で始まる文字列
    `"s2:"` の後ろの文字列をキーとしてS2コンテナから 取得したコンポーネントをAxisエンジンを使用します。
  その他
    キーとしてS2コンテナから取得したコンポーネントをAxisエンジンとして使用します。

  パラメータ:
    `container` - コンテナ
  戻り値:
    Axisエンジン

### getMetaDef

    protected org.seasar.framework.container.MetaDef getMetaDef(org.seasar.framework.container.MetaDefAware metaDefSupport,
                                                                java.lang.String localName)

  `S2Container` または `ComponentDef` が名前 `"axis-localName` の `<meta>` 要素を持っていれば、その `MetaDef` を返します。
  `S2Container` または `ComponentDef` に該当する メタデータが複数定義されている場合は最初に見つかったメタデータを返します。

  パラメータ:
    `metaDefSupport` - `S2Container` または `ComponentDef`
    `localName` - 接頭辞 `axis-` に続くメタデータの名前
  戻り値:
    指定された名前を持つ `MetaDef` 。存在しない場合は `null`

### getMetaDefs

    protected org.seasar.framework.container.MetaDef[] getMetaDefs(org.seasar.framework.container.MetaDefAware metaDefSupport,
                                                                   java.lang.String localName)

  `S2Container` または `ComponentDef` が名前 `"axis-localName` の `<meta>` 要素を持っていれば、その `MetaDef` を全て返します。

  パラメータ:
    `metaDefSupport` - `S2Container` または `ComponentDef`
    `localName` - 接頭辞 `axis-` に続くメタデータの名前
  戻り値:
    指定された名前を持つ `MetaDef` の配列

### getLocalName

    protected java.lang.String getLocalName(org.seasar.framework.container.MetaDef metaDef)

  メタデータの名前がS2Axisで使用する接頭辞で始まっていれば、接頭辞の後ろのローカル名を返します。

  パラメータ:
    `metaDef` - メタデータ定義
  戻り値:
    ローカル名

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright © 2004-2005 The Seasar Project. All Rights Reserved.