/**
 * contributorType.java This file was generated by XMLSpy 2006sp2 Enterprise
 * Edition. YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE OVERWRITTEN WHEN
 * YOU RE-RUN CODE GENERATION. Refer to the XMLSpy Documentation for further
 * details. http://www.altova.com/xmlspy
 */

package com.jmex.model.collada.schema;

import com.jmex.model.collada.types.SchemaString;

public class contributorType extends com.jmex.model.collada.xml.Node {

    private static final long serialVersionUID = 1L;

    public contributorType(contributorType node) {
        super(node);
    }

    public contributorType(org.w3c.dom.Node node) {
        super(node);
    }

    public contributorType(org.w3c.dom.Document doc) {
        super(doc);
    }

    public contributorType(com.jmex.model.collada.xml.Document doc,
            String namespaceURI, String prefix, String name) {
        super(doc, namespaceURI, prefix, name);
    }

    public void adjustPrefix() {
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "author", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "comments", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "copyright", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "source_data", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
        }
    }

    public static int getauthorMinCount() {
        return 0;
    }

    public static int getauthorMaxCount() {
        return 1;
    }

    public int getauthorCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author");
    }

    public boolean hasauthor() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author");
    }

    public SchemaString newauthor() {
        return new SchemaString();
    }

    public SchemaString getauthorAt(int index) throws Exception {
        return new SchemaString(getDomNodeValue(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "author", index))));
    }

    public org.w3c.dom.Node getStartingauthorCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author");
    }

    public org.w3c.dom.Node getAdvancedauthorCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author",
                curNode);
    }

    public SchemaString getauthorValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new SchemaString(getDomNodeValue(dereference(curNode)));
    }

    public SchemaString getauthor() throws Exception {
        return getauthorAt(0);
    }

    public void removeauthorAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author", index);
    }

    public void removeauthor() {
        while (hasauthor())
            removeauthorAt(0);
    }

    public void addauthor(SchemaString value) {
        if (value.isNull() == false) {
            appendDomChild(Element,
                    "http://www.collada.org/2005/11/COLLADASchema", "author",
                    value.toString());
        }
    }

    public void addauthor(String value) throws Exception {
        addauthor(new SchemaString(value));
    }

    public void insertauthorAt(SchemaString value, int index) {
        insertDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author",
                index, value.toString());
    }

    public void insertauthorAt(String value, int index) throws Exception {
        insertauthorAt(new SchemaString(value), index);
    }

    public void replaceauthorAt(SchemaString value, int index) {
        replaceDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "author",
                index, value.toString());
    }

    public void replaceauthorAt(String value, int index) throws Exception {
        replaceauthorAt(new SchemaString(value), index);
    }

    public static int getauthoring_toolMinCount() {
        return 0;
    }

    public static int getauthoring_toolMaxCount() {
        return 1;
    }

    public int getauthoring_toolCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool");
    }

    public boolean hasauthoring_tool() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool");
    }

    public SchemaString newauthoring_tool() {
        return new SchemaString();
    }

    public SchemaString getauthoring_toolAt(int index) throws Exception {
        return new SchemaString(getDomNodeValue(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool", index))));
    }

    public org.w3c.dom.Node getStartingauthoring_toolCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool");
    }

    public org.w3c.dom.Node getAdvancedauthoring_toolCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool", curNode);
    }

    public SchemaString getauthoring_toolValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new SchemaString(getDomNodeValue(dereference(curNode)));
    }

    public SchemaString getauthoring_tool() throws Exception {
        return getauthoring_toolAt(0);
    }

    public void removeauthoring_toolAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool", index);
    }

    public void removeauthoring_tool() {
        while (hasauthoring_tool())
            removeauthoring_toolAt(0);
    }

    public void addauthoring_tool(SchemaString value) {
        if (value.isNull() == false) {
            appendDomChild(Element,
                    "http://www.collada.org/2005/11/COLLADASchema",
                    "authoring_tool", value.toString());
        }
    }

    public void addauthoring_tool(String value) throws Exception {
        addauthoring_tool(new SchemaString(value));
    }

    public void insertauthoring_toolAt(SchemaString value, int index) {
        insertDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool", index, value.toString());
    }

    public void insertauthoring_toolAt(String value, int index)
            throws Exception {
        insertauthoring_toolAt(new SchemaString(value), index);
    }

    public void replaceauthoring_toolAt(SchemaString value, int index) {
        replaceDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema",
                "authoring_tool", index, value.toString());
    }

    public void replaceauthoring_toolAt(String value, int index)
            throws Exception {
        replaceauthoring_toolAt(new SchemaString(value), index);
    }

    public static int getcommentsMinCount() {
        return 0;
    }

    public static int getcommentsMaxCount() {
        return 1;
    }

    public int getcommentsCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments");
    }

    public boolean hascomments() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments");
    }

    public SchemaString newcomments() {
        return new SchemaString();
    }

    public SchemaString getcommentsAt(int index) throws Exception {
        return new SchemaString(getDomNodeValue(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "comments", index))));
    }

    public org.w3c.dom.Node getStartingcommentsCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments");
    }

    public org.w3c.dom.Node getAdvancedcommentsCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments",
                curNode);
    }

    public SchemaString getcommentsValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new SchemaString(getDomNodeValue(dereference(curNode)));
    }

    public SchemaString getcomments() throws Exception {
        return getcommentsAt(0);
    }

    public void removecommentsAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments",
                index);
    }

    public void removecomments() {
        while (hascomments())
            removecommentsAt(0);
    }

    public void addcomments(SchemaString value) {
        if (value.isNull() == false) {
            appendDomChild(Element,
                    "http://www.collada.org/2005/11/COLLADASchema", "comments",
                    value.toString());
        }
    }

    public void addcomments(String value) throws Exception {
        addcomments(new SchemaString(value));
    }

    public void insertcommentsAt(SchemaString value, int index) {
        insertDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments",
                index, value.toString());
    }

    public void insertcommentsAt(String value, int index) throws Exception {
        insertcommentsAt(new SchemaString(value), index);
    }

    public void replacecommentsAt(SchemaString value, int index) {
        replaceDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "comments",
                index, value.toString());
    }

    public void replacecommentsAt(String value, int index) throws Exception {
        replacecommentsAt(new SchemaString(value), index);
    }

    public static int getcopyrightMinCount() {
        return 0;
    }

    public static int getcopyrightMaxCount() {
        return 1;
    }

    public int getcopyrightCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright");
    }

    public boolean hascopyright() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright");
    }

    public SchemaString newcopyright() {
        return new SchemaString();
    }

    public SchemaString getcopyrightAt(int index) throws Exception {
        return new SchemaString(getDomNodeValue(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "copyright", index))));
    }

    public org.w3c.dom.Node getStartingcopyrightCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright");
    }

    public org.w3c.dom.Node getAdvancedcopyrightCursor(org.w3c.dom.Node curNode)
            throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright",
                curNode);
    }

    public SchemaString getcopyrightValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new SchemaString(getDomNodeValue(dereference(curNode)));
    }

    public SchemaString getcopyright() throws Exception {
        return getcopyrightAt(0);
    }

    public void removecopyrightAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright",
                index);
    }

    public void removecopyright() {
        while (hascopyright())
            removecopyrightAt(0);
    }

    public void addcopyright(SchemaString value) {
        if (value.isNull() == false) {
            appendDomChild(Element,
                    "http://www.collada.org/2005/11/COLLADASchema",
                    "copyright", value.toString());
        }
    }

    public void addcopyright(String value) throws Exception {
        addcopyright(new SchemaString(value));
    }

    public void insertcopyrightAt(SchemaString value, int index) {
        insertDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright",
                index, value.toString());
    }

    public void insertcopyrightAt(String value, int index) throws Exception {
        insertcopyrightAt(new SchemaString(value), index);
    }

    public void replacecopyrightAt(SchemaString value, int index) {
        replaceDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "copyright",
                index, value.toString());
    }

    public void replacecopyrightAt(String value, int index) throws Exception {
        replacecopyrightAt(new SchemaString(value), index);
    }

    public static int getsource_dataMinCount() {
        return 0;
    }

    public static int getsource_dataMaxCount() {
        return 1;
    }

    public int getsource_dataCount() {
        return getDomChildCount(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data");
    }

    public boolean hassource_data() {
        return hasDomChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data");
    }

    public SchemaString newsource_data() {
        return new SchemaString();
    }

    public SchemaString getsource_dataAt(int index) throws Exception {
        return new SchemaString(getDomNodeValue(dereference(getDomChildAt(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "source_data", index))));
    }

    public org.w3c.dom.Node getStartingsource_dataCursor() throws Exception {
        return getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data");
    }

    public org.w3c.dom.Node getAdvancedsource_dataCursor(
            org.w3c.dom.Node curNode) throws Exception {
        return getDomNextChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data",
                curNode);
    }

    public SchemaString getsource_dataValueAtCursor(org.w3c.dom.Node curNode)
            throws Exception {
        if (curNode == null)
            throw new com.jmex.model.collada.xml.XmlException("Out of range");
        else
            return new SchemaString(getDomNodeValue(dereference(curNode)));
    }

    public SchemaString getsource_data() throws Exception {
        return getsource_dataAt(0);
    }

    public void removesource_dataAt(int index) {
        removeDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data",
                index);
    }

    public void removesource_data() {
        while (hassource_data())
            removesource_dataAt(0);
    }

    public void addsource_data(SchemaString value) {
        if (value.isNull() == false) {
            appendDomChild(Element,
                    "http://www.collada.org/2005/11/COLLADASchema",
                    "source_data", value.toString());
        }
    }

    public void addsource_data(String value) throws Exception {
        addsource_data(new SchemaString(value));
    }

    public void insertsource_dataAt(SchemaString value, int index) {
        insertDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data",
                index, value.toString());
    }

    public void insertsource_dataAt(String value, int index) throws Exception {
        insertsource_dataAt(new SchemaString(value), index);
    }

    public void replacesource_dataAt(SchemaString value, int index) {
        replaceDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "source_data",
                index, value.toString());
    }

    public void replacesource_dataAt(String value, int index) throws Exception {
        replacesource_dataAt(new SchemaString(value), index);
    }

    private org.w3c.dom.Node dereference(org.w3c.dom.Node node) {
        return node;
    }
}
