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;
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 }