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.axis.server;
    47
    48  import java.util.ArrayList;
    49  import java.util.Iterator;
    50  import java.util.List;
    51
    52  import org.apache.axis.deployment.wsdd.WSDDConstants;
    53
    54  /***
    55   * diconファイル中でAxisサービスの情報を設定するために使われます。
    56   *
    57   * @author koichik
    58   */
    59  public class ServiceDef {
    60      //instance fields
    61      protected String provider = WSDDConstants.PROVIDER_RPC;
    62      protected Class serviceType;
    63      protected String allowedMethods;
    64      protected final List typeMappingDefs = new ArrayList();
    65
    66      /***
    67       * プロバイダを返します。
    68       *
    69       * @return Returns the providerType.
    70       */
    71      public String getProvider() {
    72          return provider;
    73      }
    74
    75      /***
    76       * プロバイダを指定します。
    77       *
    78       * @param providerType
    79       *            The providerType to set.
    80       */
    81      public void setProvider(final String providerType) {
    82          this.provider = providerType;
    83      }
    84
    85      /***
    86       * サービスの型を返します。
    87       *
    88       * @return Returns the serviceType.
    89       */
    90      public Class getServiceType() {
    91          return serviceType;
    92      }
    93
    94      /***
    95       * サービスの型を設定します。
    96       *
    97       * @param serviceType
    98       *            The serviceType to set.
    99       */
    100     public void setServiceType(final Class serviceType) {
    101         this.serviceType = serviceType;
    102     }
    103
    104     /***
    105      * サービスとして公開するメソッドを返します。
    106      *
    107      * @return Returns the allowedMethods.
    108      */
    109     public String getAllowedMethods() {
    110         return allowedMethods;
    111     }
    112
    113     /***
    114      * サービスとして公開するメソッドを設定します。
    115      *
    116      * @param allowedMethods
    117      *            The allowedMethods to set.
    118      */
    119     public void setAllowedMethods(final String allowedMethods) {
    120         this.allowedMethods = allowedMethods;
    121     }
    122
    123     /***
    124      * タイプマッピングを追加します。
    125      *
    126      * @param typeMappingDef
    127      */
    128     public void addTypeMapping(final TypeMappingDef typeMappingDef) {
    129         typeMappingDefs.add(typeMappingDef);
    130     }
    131
    132     /***
    133      * タイプマッピングのイテレータを返します。
    134      *
    135      * @return Returns the TypeMappings.
    136      */
    137     public Iterator getTypeMappings() {
    138         return typeMappingDefs.iterator();
    139     }
    140 }