/**
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 *
 * Copyright (C)
 * <a href="http://www.inab.org">Spanish National Institute of Bioinformatics (INB)</a>
 * <a href="http://www.bsc.es">Barcelona Supercomputing Center (BSC)</a>
 * <a href="http://inb.bsc.es">Computational Node 6</a>
 */

package org.inb.biomoby.shared.registry;

import java.io.Serializable;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * Represents Moby Central "collection of simple objects" abstract
 * 
 * @author Dmitry Repchevsky
 */

@XmlRootElement(name="collection")
public class Collection implements Serializable, Cloneable
{
    private String articleName;
    private Simple simple;

    @XmlAttribute(name="article_name")
    public String getArticleName()
    {
        return articleName == null ? "" : articleName;
    }

    public void setArticleName(String articleName)
    {
        this.articleName = articleName;
    }

    @XmlElement(name="simple")
    public Simple getSimple()
    {
        return simple;
    }

    public void setSimple(Simple simple)
    {
        this.simple = simple;
    }

    @Override
    public Collection clone()
    {
        Collection clone;

        try
        {
            clone = (Collection)super.clone();
        }
        catch(CloneNotSupportedException ex)
        {
            clone = null;
        }

        return clone;
    }
}
