001 /** 002 * 003 * Copyright 2003-2004 The Apache Software Foundation 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 package org.apache.geronimo.webservices; 018 019 import java.util.ArrayList; 020 import java.util.HashMap; 021 022 public class WebServiceDescription { 023 private String webServiceDescriptionName; 024 private String wsdlFile; 025 private String jaxrpcMappingFile; 026 027 /** 028 * List of PortComponent objects 029 * 030 * @see org.apache.geronimo.webservices.PortComponent 031 */ 032 private ArrayList portComponentList = new ArrayList(); 033 /** 034 * Map of PortComponent objects indexed by portComponentName 035 * 036 * @see org.apache.geronimo.webservices.PortComponent#getPortComponentName 037 */ 038 private HashMap portComponentMap = new HashMap(); 039 040 public String getWebServiceDescriptionName() { 041 return webServiceDescriptionName; 042 } 043 044 public void setWebServiceDescriptionName(String webServiceDescriptionName) { 045 this.webServiceDescriptionName = webServiceDescriptionName; 046 } 047 048 public String getWsdlFile() { 049 return wsdlFile; 050 } 051 052 public void setWsdlFile(String wsdlFile) { 053 this.wsdlFile = wsdlFile; 054 } 055 056 public String getJaxrpcMappingFile() { 057 return jaxrpcMappingFile; 058 } 059 060 public void setJaxrpcMappingFile(String jaxrpcMappingFile) { 061 this.jaxrpcMappingFile = jaxrpcMappingFile; 062 } 063 064 public void addPortComponent(PortComponent portComponent) throws IndexOutOfBoundsException { 065 portComponentList.add(portComponent); 066 portComponentMap.put(portComponent.getPortComponentName(), portComponent); 067 } 068 069 public void addPortComponent(int index, PortComponent portComponent) throws IndexOutOfBoundsException { 070 portComponentList.add(index, portComponent); 071 portComponentMap.put(portComponent.getPortComponentName(), portComponent); 072 } 073 074 public boolean removePortComponent(PortComponent portComponent) { 075 portComponentMap.remove(portComponent.getPortComponentName()); 076 return portComponentList.remove(portComponent); 077 } 078 079 public PortComponent getPortComponent(int index) throws IndexOutOfBoundsException { 080 if ((index < 0) || (index > portComponentList.size())) { 081 throw new IndexOutOfBoundsException(); 082 } 083 return (PortComponent) portComponentList.get(index); 084 } 085 086 public PortComponent[] getPortComponent() { 087 int size = portComponentList.size(); 088 PortComponent[] mArray = new PortComponent[size]; 089 for (int index = 0; index < size; index++) { 090 mArray[index] = (PortComponent) portComponentList.get(index); 091 } 092 return mArray; 093 } 094 095 public PortComponent getPortComponent(String portComponentName) { 096 return (PortComponent) portComponentMap.get(portComponentName); 097 } 098 099 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 }