/** * ============================================================================= * * ORCID (R) Open Source * http://orcid.org * * Copyright (c) 2012-2014 ORCID, Inc. * Licensed under an MIT-Style License (MIT) * http://orcid.org/open-source-license * * This copyright and license information (including a link to the full license) * shall be included in its entirety in all copies or substantial portion of * the software. * * ============================================================================= */ // // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2012.05.30 at 10:58:10 AM BST // package org.orcid.jaxb.model.message; 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.XmlRootElement; import javax.xml.bind.annotation.XmlType; /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within * this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element ref="{http://www.orcid.org/ns/orcid}other-name" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attGroup ref="{http://www.orcid.org/ns/orcid}visibility"/> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType( propOrder = { "otherName" }) @XmlRootElement(name = "other-names") public class OtherNames implements Serializable { private final static long serialVersionUID = 1L; @XmlElement(name = "other-name") private List<OtherName> otherName; @XmlAttribute protected Visibility visibility; /** * Gets the value of the otherName property. * * <p> * 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 * <CODE>set</CODE> method for the otherName property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getOtherName().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link OtherName } * * */ public List<OtherName> getOtherName() { if (otherName == null) { otherName = new ArrayList<OtherName>(); } return this.otherName; } public List<String> getOtherNamesAsStrings() { List<OtherName> otherNames = getOtherName(); List<String> strings = new ArrayList<String>(otherNames.size()); for (OtherName otherName : otherNames) { strings.add(otherName.getContent()); } return strings; } /** * Gets the value of the visibility property. * * @return possible object is {@link Visibility } * */ public Visibility getVisibility() { return visibility; } /** * Sets the value of the visibility property. * * @param value * allowed object is {@link Visibility } * */ public void setVisibility(Visibility value) { this.visibility = value; } public void addOtherName(String value, Visibility vis) { if (getOtherName() == null) { setOtherName(new ArrayList<OtherName>()); } getOtherName().add(new OtherName(value, vis)); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; OtherNames that = (OtherNames) o; if (getOtherName() != null ? !getOtherName().equals(that.getOtherName()) : that.getOtherName() != null) return false; if (visibility != that.visibility) return false; return true; } @Override public int hashCode() { int result = getOtherName() != null ? getOtherName().hashCode() : 0; result = 31 * result + (visibility != null ? visibility.hashCode() : 0); return result; } public void setOtherName(List<OtherName> otherName) { this.otherName = otherName; } }