1 /*
2 * Copyright 2001-2008 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17 package org.uddi.repl_v3;
18
19 import java.io.Serializable;
20 import java.util.ArrayList;
21 import java.util.List;
22 import javax.xml.bind.annotation.XmlAccessType;
23 import javax.xml.bind.annotation.XmlAccessorType;
24 import javax.xml.bind.annotation.XmlElement;
25 import javax.xml.bind.annotation.XmlRootElement;
26 import javax.xml.bind.annotation.XmlSchemaType;
27 import javax.xml.bind.annotation.XmlTransient;
28 import javax.xml.bind.annotation.XmlType;
29 import org.uddi.api_v3.Contact;
30 import org.w3._2000._09.xmldsig_.KeyInfoType;
31
32 /**
33 * The operator elements in a Replication Configuration Structure are a list of
34 * the nodes and established paths of communication between the nodes within a
35 * registry. The communication paths and general replication topology
36 * considerations are discussed later in this specification.
37 * <br><br>
38 * The operatorNodeID contains a unique key that is used to uniquely identify
39 * this node throughout the UDDI registry. The value used MUST match the
40 * businessKey of the Node Business Entity as referenced in Section 6.2.2
41 * Self-Registration of Node Business Entity. The contact or contacts listed
42 * provide information about humans who should be contacted in the face of
43 * administrative and technical situations of various sorts. . The dsig:KeyInfo
44 * elements are intended to contain the certificate details if the
45 * soapReplicationURL makes use of Secure Sockets Layer 3.0 with mutual
46 * authentication as described in Section 7.5.5 Security Configuration.
47 *
48 *
49 * <p>
50 * Java class for anonymous complex type.
51 *
52 * <p>
53 * The following schema fragment specifies the expected content contained within
54 * this class.
55 *
56 * <pre>
57 * <complexType>
58 * <complexContent>
59 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
60 * <sequence>
61 * <element ref="{urn:uddi-org:repl_v3}operatorNodeID"/>
62 * <element name="operatorStatus" type="{urn:uddi-org:repl_v3}operatorStatus_type"/>
63 * <element ref="{urn:uddi-org:api_v3}contact" maxOccurs="unbounded"/>
64 * <element name="soapReplicationURL" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
65 * <element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" maxOccurs="unbounded" minOccurs="0"/>
66 * </sequence>
67 * </restriction>
68 * </complexContent>
69 * </complexType>
70 * </pre>
71 *
72 *
73 */
74 @XmlAccessorType(XmlAccessType.FIELD)
75 @XmlType(name = "", propOrder = {
76 "operatorNodeID",
77 "operatorStatus",
78 "contact",
79 "soapReplicationURL",
80 "keyInfo"
81 })
82 @XmlRootElement(name = "operator")
83 public class Operator implements Serializable {
84
85 @XmlTransient
86 private static final long serialVersionUID = 3012475870316361941L;
87 @XmlElement(required = true)
88 protected String operatorNodeID;
89 @XmlElement(required = true)
90 protected OperatorStatusType operatorStatus;
91 @XmlElement(namespace = "urn:uddi-org:api_v3", required = true)
92 protected List<Contact> contact;
93 @XmlElement(required = true)
94 @XmlSchemaType(name = "anyURI")
95 protected String soapReplicationURL;
96 @XmlElement(name = "KeyInfo", namespace = "http://www.w3.org/2000/09/xmldsig#")
97 protected List<KeyInfoType> keyInfo;
98
99 /**
100 * Gets the value of the operatorNodeID property.
101 *
102 * @return possible object is {@link String }
103 *
104 */
105 public String getOperatorNodeID() {
106 return operatorNodeID;
107 }
108
109 /**
110 * Sets the value of the operatorNodeID property.
111 *
112 * @param value allowed object is {@link String }
113 *
114 */
115 public void setOperatorNodeID(String value) {
116 this.operatorNodeID = value;
117 }
118
119 /**
120 * Gets the value of the operatorStatus property.
121 *
122 * @return possible object is {@link OperatorStatusType }
123 *
124 */
125 public OperatorStatusType getOperatorStatus() {
126 return operatorStatus;
127 }
128
129 /**
130 * Sets the value of the operatorStatus property.
131 *
132 * @param value allowed object is {@link OperatorStatusType }
133 *
134 */
135 public void setOperatorStatus(OperatorStatusType value) {
136 this.operatorStatus = value;
137 }
138
139 /**
140 * Gets the value of the contact property.
141 *
142 * <p>
143 * This accessor method returns a reference to the live list, not a
144 * snapshot. Therefore any modification you make to the returned list
145 * will be present inside the JAXB object. This is why there is not a
146 * <CODE>set</CODE> method for the contact property.
147 *
148 * <p>
149 * For example, to add a new item, do as follows:
150 * <pre>
151 * getContact().add(newItem);
152 * </pre>
153 *
154 *
155 * <p>
156 * Objects of the following type(s) are allowed in the list
157 * {@link Contact }
158 *
159 *
160 */
161 public List<Contact> getContact() {
162 if (contact == null) {
163 contact = new ArrayList<Contact>();
164 }
165 return this.contact;
166 }
167
168 /**
169 * Gets the value of the soapReplicationURL property.
170 *
171 * @return possible object is {@link String }
172 *
173 */
174 public String getSoapReplicationURL() {
175 return soapReplicationURL;
176 }
177
178 /**
179 * Sets the value of the soapReplicationURL property.
180 *
181 * @param value allowed object is {@link String }
182 *
183 */
184 public void setSoapReplicationURL(String value) {
185 this.soapReplicationURL = value;
186 }
187
188 /**
189 * Gets the value of the keyInfo property.
190 *
191 * <p>
192 * This accessor method returns a reference to the live list, not a
193 * snapshot. Therefore any modification you make to the returned list
194 * will be present inside the JAXB object. This is why there is not a
195 * <CODE>set</CODE> method for the keyInfo property.
196 *
197 * <p>
198 * For example, to add a new item, do as follows:
199 * <pre>
200 * getKeyInfo().add(newItem);
201 * </pre>
202 *
203 *
204 * <p>
205 * Objects of the following type(s) are allowed in the list
206 * {@link KeyInfoType }
207 *
208 *
209 */
210 public List<KeyInfoType> getKeyInfo() {
211 if (keyInfo == null) {
212 keyInfo = new ArrayList<KeyInfoType>();
213 }
214 return this.keyInfo;
215 }
216
217 }