org.uddi.api_v3.Contact Maven / Gradle / Ivy
/*
* Copyright 2001-2008 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.uddi.api_v3;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
/**
* 3.3.2.6 contact
The contact structure records contact information for a
person or a job role within the businessEntity so that someone who finds the
information can make human contact for any purpose. This information consists
of one or more optional elements, along with a person’s name. Contact
information exists by containment relationship alone; the contact structure
does not provide keys for tracking individual contact instances.
Attributes
Name
Use
useType
optional
The useType attribute is used to describe the type
of contact in unstructured text. Suggested examples include "technical
questions", "technical contact", "establish account", "sales
contact", etc.
description is used to describe how the contact
information should be used. Publishing several descriptions, e.g. in different
languages, is supported. To signify the language in which the descriptions are
expressed, they MAY carry xml:lang values.
personName is the name of the person or name of the
job role supporting the contact. Publishing several names, e.g. for
romanization purposes, is supported.
Attributes
Name
Use
xml:lang
optional
In order to signify the contextual language (if any) in
which a given name is expressed in (such as the language into which a name has
been romanized), it SHOULD carry the xml:lang attribute See Section 3.3.2.3 name for details on using xml:lang
values in name elements. There is no restriction on the number of personNames
or what xml:lang value each may have. An example for a role might be:
<contact useType="Technical support">
<personName>Administrator</personName>
…
</contact>
phone is used to hold telephone numbers for the
contact. This element MAY be adorned with an optional useType attribute
for descriptive purposes.
email is the email address for the contact. This
element MAY be adorned with an optional useType attribute for
descriptive purposes.
address is the postal address for the contact.
* Java class for contact complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="contact">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element ref="{urn:uddi-org:api_v3}description" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:uddi-org:api_v3}personName" maxOccurs="unbounded"/>
* <element ref="{urn:uddi-org:api_v3}phone" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:uddi-org:api_v3}email" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:uddi-org:api_v3}address" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="useType" type="{urn:uddi-org:api_v3}useType" default="" />
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "contact", propOrder = {
"description",
"personName",
"phone",
"email",
"address"
})
public class Contact implements Serializable{
@XmlTransient
private static final long serialVersionUID = -714656423425450747L;
protected List description;
@XmlElement(required = true)
protected List personName;
protected List phone;
protected List email;
protected List address;
@XmlAttribute
protected String useType;
/**
* Gets the value of the description property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a set
method for the description property.
*
*
* For example, to add a new item, do as follows:
*
* getDescription().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Description }
*
*
*/
public List getDescription() {
if (description == null) {
description = new ArrayList();
}
return this.description;
}
/**
* Gets the value of the personName property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a set
method for the personName property.
*
*
* For example, to add a new item, do as follows:
*
* getPersonName().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link PersonName }
*
*
*/
public List getPersonName() {
if (personName == null) {
personName = new ArrayList();
}
return this.personName;
}
/**
* Gets the value of the phone property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a set
method for the phone property.
*
*
* For example, to add a new item, do as follows:
*
* getPhone().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Phone }
*
*
*/
public List getPhone() {
if (phone == null) {
phone = new ArrayList();
}
return this.phone;
}
/**
* Gets the value of the email property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a set
method for the email property.
*
*
* For example, to add a new item, do as follows:
*
* getEmail().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Email }
*
*
*/
public List getEmail() {
if (email == null) {
email = new ArrayList();
}
return this.email;
}
/**
* Gets the value of the address property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a set
method for the address property.
*
*
* For example, to add a new item, do as follows:
*
* getAddress().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Address }
*
*
*/
public List
getAddress() {
if (address == null) {
address = new ArrayList();
}
return this.address;
}
/**
* Gets the value of the useType property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getUseType() {
if (useType == null) {
return "";
} else {
return useType;
}
}
/**
* Sets the value of the useType property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setUseType(String value) {
this.useType = value;
}
}