View Javadoc

    1   /*
    2   *
    3   * The Seasar Software License, Version 1.1
    4   *
    5   * Copyright (c) 2003-2004 The Seasar Project. All rights reserved.
    6   *
    7   * Redistribution and use in source and binary forms, with or
    8   * without modification, are permitted provided that the following
    9   * conditions are met:
    10  *
    11  * 1. Redistributions of source code must retain the above
    12  *    copyright notice, this list of conditions and the following
    13  *    disclaimer.
    14  *
    15  * 2. Redistributions in binary form must reproduce the above
    16  *    copyright notice, this list of conditions and the following
    17  *    disclaimer in the documentation and/or other materials provided
    18  *    with the distribution.
    19  *
    20  * 3. The end-user documentation included with the redistribution,
    21  *    if any, must include the following acknowledgement:
    22  *    "This product includes software developed by the
    23  *    Seasar Project (http://www.seasar.org/)."
    24  *    Alternately, this acknowledgement may appear in the software
    25  *    itself, if and wherever such third-party acknowledgements
    26  *    normally appear.
    27  *
    28  * 4. Neither the name "The Seasar Project" nor the names of its
    29  *    contributors may be used to endorse or promote products derived
    30  *    from this software without specific prior written permission of
    31  *    the Seasar Project.
    32  *
    33  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
    34  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    35  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    36  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE SEASAR PROJECT
    37  * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    38  * INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    39  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    40  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    41  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    42  * WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING
    43  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    44  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    45  */
    46  package org.seasar.remoting.axis.providers;
    47
    48  import org.apache.axis.MessageContext;
    49  import org.apache.axis.providers.java.MsgProvider;
    50  import org.seasar.framework.container.ComponentDef;
    51
    52  /***
    53   * RPCサービスの実装をS2コンテナから取得するプロバイダです。
    54   *
    55   * @author koichik
    56   */
    57  public class S2MsgProvider extends MsgProvider {
    58      //instance fields
    59      protected final ComponentDef componentDef;
    60
    61      /***
    62       * インスタンスを構築します。
    63       *
    64       * @param componentDef
    65       *            コンポーネント定義
    66       */
    67      public S2MsgProvider(final ComponentDef componentDef) {
    68          this.componentDef = componentDef;
    69      }
    70
    71      /***
    72       * サービスのインスタンスを返します。
    73       *
    74       * @param msgContext
    75       *            メッセージコンテキスト
    76       * @param className
    77       *            クラス名
    78       */
    79      protected Object makeNewServiceObject(final MessageContext msgContext, final String className) {
    80          return componentDef.getComponent();
    81      }
    82  }