/** * ============================================================================= * * 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.01.18 at 10:32:14 AM GMT // package org.orcid.jaxb.model.message; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; 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; import org.apache.commons.lang3.StringUtils; /** * <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}orcid-work" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attGroup ref="{http://www.orcid.org/ns/orcid}scope"/> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(propOrder = { "orcidWork" }) @XmlRootElement(name = "orcid-works") public class OrcidWorks implements Serializable, ActivitiesContainer { private static final long serialVersionUID = 1L; @XmlElement(name = "orcid-work") protected List<OrcidWork> orcidWork; @XmlAttribute protected Scope scope; /** * Gets the value of the orcidWork 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 orcidWork property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getOrcidWork().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link OrcidWork } * * */ public List<OrcidWork> getOrcidWork() { if (orcidWork == null) { orcidWork = new ArrayList<OrcidWork>(); } return this.orcidWork; } public Map<String, OrcidWork> retrieveActivitiesAsMap() { Map<String, OrcidWork> workMap = new HashMap<String, OrcidWork>(); if (orcidWork != null) { for (OrcidWork work : orcidWork) { if (StringUtils.isNotBlank(work.putCode)) { workMap.put(work.putCode, work); } } } return workMap; } @Override public List<OrcidWork> retrieveActivities() { return getOrcidWork(); } public void setOrcidWork(List<OrcidWork> orcidWork) { this.orcidWork = orcidWork; } /** * Gets the value of the scope property. * * @return possible object is {@link Scope } * */ public Scope getScope() { return scope; } /** * Sets the value of the scope property. * * @param value * allowed object is {@link Scope } * */ public void setScope(Scope value) { this.scope = value; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; OrcidWorks that = (OrcidWorks) o; if (orcidWork != null ? !orcidWork.equals(that.orcidWork) : that.orcidWork != null) return false; if (scope != that.scope) return false; return true; } @Override public int hashCode() { int result = orcidWork != null ? orcidWork.hashCode() : 0; result = 31 * result + (scope != null ? scope.hashCode() : 0); return result; } }