1 /**
2 *
3 * Copyright 2003-2004 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.geronimo.webservices;
18
19 import java.util.ArrayList;
20 import java.util.HashMap;
21
22 public class WebServiceDescription {
23 private String webServiceDescriptionName;
24 private String wsdlFile;
25 private String jaxrpcMappingFile;
26
27 /**
28 * List of PortComponent objects
29 *
30 * @see org.apache.geronimo.webservices.PortComponent
31 */
32 private ArrayList portComponentList = new ArrayList();
33 /**
34 * Map of PortComponent objects indexed by portComponentName
35 *
36 * @see org.apache.geronimo.webservices.PortComponent#getPortComponentName
37 */
38 private HashMap portComponentMap = new HashMap();
39
40 public String getWebServiceDescriptionName() {
41 return webServiceDescriptionName;
42 }
43
44 public void setWebServiceDescriptionName(String webServiceDescriptionName) {
45 this.webServiceDescriptionName = webServiceDescriptionName;
46 }
47
48 public String getWsdlFile() {
49 return wsdlFile;
50 }
51
52 public void setWsdlFile(String wsdlFile) {
53 this.wsdlFile = wsdlFile;
54 }
55
56 public String getJaxrpcMappingFile() {
57 return jaxrpcMappingFile;
58 }
59
60 public void setJaxrpcMappingFile(String jaxrpcMappingFile) {
61 this.jaxrpcMappingFile = jaxrpcMappingFile;
62 }
63
64 public void addPortComponent(PortComponent portComponent) throws IndexOutOfBoundsException {
65 portComponentList.add(portComponent);
66 portComponentMap.put(portComponent.getPortComponentName(), portComponent);
67 }
68
69 public void addPortComponent(int index, PortComponent portComponent) throws IndexOutOfBoundsException {
70 portComponentList.add(index, portComponent);
71 portComponentMap.put(portComponent.getPortComponentName(), portComponent);
72 }
73
74 public boolean removePortComponent(PortComponent portComponent) {
75 portComponentMap.remove(portComponent.getPortComponentName());
76 return portComponentList.remove(portComponent);
77 }
78
79 public PortComponent getPortComponent(int index) throws IndexOutOfBoundsException {
80 if ((index < 0) || (index > portComponentList.size())) {
81 throw new IndexOutOfBoundsException();
82 }
83 return (PortComponent) portComponentList.get(index);
84 }
85
86 public PortComponent[] getPortComponent() {
87 int size = portComponentList.size();
88 PortComponent[] mArray = new PortComponent[size];
89 for (int index = 0; index < size; index++) {
90 mArray[index] = (PortComponent) portComponentList.get(index);
91 }
92 return mArray;
93 }
94
95 public PortComponent getPortComponent(String portComponentName) {
96 return (PortComponent) portComponentMap.get(portComponentName);
97 }
98
99 public void setPortComponent(int index, PortComponent portComponent) throws IndexOutOfBoundsException {
100 if ((index < 0) || (index > portComponentList.size())) {
101 throw new IndexOutOfBoundsException();
102 }
103 PortComponent removed = (PortComponent) portComponentList.set(index, portComponent);
104 portComponentMap.remove(removed.getPortComponentName());
105 portComponentMap.put(portComponent.getPortComponentName(), portComponent);
106 }
107
108 public void setPortComponent(PortComponent[] portComponentArray) {
109 portComponentList.clear();
110 for (int i = 0; i < portComponentArray.length; i++) {
111 PortComponent portComponent = portComponentArray[i];
112 portComponentList.add(portComponent);
113 portComponentMap.put(portComponent.getPortComponentName(), portComponent);
114 }
115 }
116
117 public void clearPortComponent() {
118 portComponentList.clear();
119 portComponentMap.clear();
120 }
121
122 }