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 PortComponent {
23 private String portComponentName;
24 private String wsdlPort;
25 private String serviceEndpointInterface;
26 private ServiceImplBean serviceImplBean;
27
28 /**
29 * List of Handler objects
30 *
31 * @see org.apache.geronimo.webservices.Handler
32 */
33 private ArrayList handlerList = new ArrayList();
34 /**
35 * Map of Handler objects indexed by handlerName
36 *
37 * @see org.apache.geronimo.webservices.Handler#getHandlerName
38 */
39 private HashMap handlerMap = new HashMap();
40
41 public void addHandler(Handler handler) throws IndexOutOfBoundsException {
42 handlerList.add(handler);
43 handlerMap.put(handler.getHandlerName(), handler);
44 }
45
46 public void addHandler(int index, Handler handler) throws IndexOutOfBoundsException {
47 handlerList.add(index, handler);
48 handlerMap.put(handler.getHandlerName(), handler);
49 }
50
51 public boolean removeHandler(Handler handler) {
52 handlerMap.remove(handler.getHandlerName());
53 return handlerList.remove(handler);
54 }
55
56 public Handler getHandler(int index) throws IndexOutOfBoundsException {
57 if ((index < 0) || (index > handlerList.size())) {
58 throw new IndexOutOfBoundsException();
59 }
60 return (Handler) handlerList.get(index);
61 }
62
63 public Handler[] getHandler() {
64 int size = handlerList.size();
65 Handler[] mArray = new Handler[size];
66 for (int index = 0; index < size; index++) {
67 mArray[index] = (Handler) handlerList.get(index);
68 }
69 return mArray;
70 }
71
72 public Handler getHandler(String handlerName) {
73 return (Handler) handlerMap.get(handlerName);
74 }
75
76 public void setHandler(int index, Handler handler) throws IndexOutOfBoundsException {
77 if ((index < 0) || (index > handlerList.size())) {
78 throw new IndexOutOfBoundsException();
79 }
80 Handler removed = (Handler) handlerList.set(index, handler);
81 handlerMap.remove(removed.getHandlerName());
82 handlerMap.put(handler.getHandlerName(), handler);
83 }
84
85 public void setHandler(Handler[] handlerArray) {
86 handlerList.clear();
87 for (int i = 0; i < handlerArray.length; i++) {
88 Handler handler = handlerArray[i];
89 handlerList.add(handler);
90 handlerMap.put(handler.getHandlerName(), handler);
91 }
92 }
93
94 public void clearHandler() {
95 handlerList.clear();
96 handlerMap.clear();
97 }
98
99 public String getPortComponentName() {
100 return portComponentName;
101 }
102
103 public void setPortComponentName(String portComponentName) {
104 this.portComponentName = portComponentName;
105 }
106
107 public String getWsdlPort() {
108 return wsdlPort;
109 }
110
111 public void setWsdlPort(String wsdlPort) {
112 this.wsdlPort = wsdlPort;
113 }
114
115 public String getServiceEndpointInterface() {
116 return serviceEndpointInterface;
117 }
118
119 public void setServiceEndpointInterface(String serviceEndpointInterface) {
120 this.serviceEndpointInterface = serviceEndpointInterface;
121 }
122
123 public ServiceImplBean getServiceImplBean() {
124 return serviceImplBean;
125 }
126
127 public void setServiceImplBean(ServiceImplBean serviceImplBean) {
128 this.serviceImplBean = serviceImplBean;
129 }
130 }