/**
 * blend_func_separateType2.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;

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

    private static final long serialVersionUID = 1L;

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

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

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

    public blend_func_separateType2(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", "src_rgb"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "src_rgb", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new src_rgbType2(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "dest_rgb"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "dest_rgb", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new dest_rgbType2(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "src_alpha"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "src_alpha", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new src_alphaType2(tmpNode).adjustPrefix();
        }
        for (org.w3c.dom.Node tmpNode = getDomFirstChild(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "dest_alpha"); tmpNode != null; tmpNode = getDomNextChild(
                Element, "http://www.collada.org/2005/11/COLLADASchema",
                "dest_alpha", tmpNode)) {
            internalAdjustPrefix(tmpNode, true);
            new dest_alphaType2(tmpNode).adjustPrefix();
        }
    }

    public static int getsrc_rgbMinCount() {
        return 1;
    }

    public static int getsrc_rgbMaxCount() {
        return 1;
    }

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

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

    public src_rgbType2 newsrc_rgb() {
        return new src_rgbType2(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "src_rgb"));
    }

    public src_rgbType2 getsrc_rgbAt(int index) throws Exception {
        return new src_rgbType2(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "src_rgb",
                index)));
    }

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

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

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

    public src_rgbType2 getsrc_rgb() throws Exception {
        return getsrc_rgbAt(0);
    }

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

    public void removesrc_rgb() {
        while (hassrc_rgb())
            removesrc_rgbAt(0);
    }

    public void addsrc_rgb(src_rgbType2 value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "src_rgb", value);
    }

    public void insertsrc_rgbAt(src_rgbType2 value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "src_rgb", index, value);
    }

    public void replacesrc_rgbAt(src_rgbType2 value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "src_rgb", index, value);
    }

    public static int getdest_rgbMinCount() {
        return 1;
    }

    public static int getdest_rgbMaxCount() {
        return 1;
    }

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

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

    public dest_rgbType2 newdest_rgb() {
        return new dest_rgbType2(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "dest_rgb"));
    }

    public dest_rgbType2 getdest_rgbAt(int index) throws Exception {
        return new dest_rgbType2(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "dest_rgb",
                index)));
    }

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

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

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

    public dest_rgbType2 getdest_rgb() throws Exception {
        return getdest_rgbAt(0);
    }

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

    public void removedest_rgb() {
        while (hasdest_rgb())
            removedest_rgbAt(0);
    }

    public void adddest_rgb(dest_rgbType2 value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "dest_rgb", value);
    }

    public void insertdest_rgbAt(dest_rgbType2 value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "dest_rgb", index, value);
    }

    public void replacedest_rgbAt(dest_rgbType2 value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "dest_rgb", index, value);
    }

    public static int getsrc_alphaMinCount() {
        return 1;
    }

    public static int getsrc_alphaMaxCount() {
        return 1;
    }

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

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

    public src_alphaType2 newsrc_alpha() {
        return new src_alphaType2(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "src_alpha"));
    }

    public src_alphaType2 getsrc_alphaAt(int index) throws Exception {
        return new src_alphaType2(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "src_alpha",
                index)));
    }

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

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

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

    public src_alphaType2 getsrc_alpha() throws Exception {
        return getsrc_alphaAt(0);
    }

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

    public void removesrc_alpha() {
        while (hassrc_alpha())
            removesrc_alphaAt(0);
    }

    public void addsrc_alpha(src_alphaType2 value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "src_alpha", value);
    }

    public void insertsrc_alphaAt(src_alphaType2 value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "src_alpha", index, value);
    }

    public void replacesrc_alphaAt(src_alphaType2 value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "src_alpha", index, value);
    }

    public static int getdest_alphaMinCount() {
        return 1;
    }

    public static int getdest_alphaMaxCount() {
        return 1;
    }

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

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

    public dest_alphaType2 newdest_alpha() {
        return new dest_alphaType2(domNode.getOwnerDocument().createElementNS(
                "http://www.collada.org/2005/11/COLLADASchema", "dest_alpha"));
    }

    public dest_alphaType2 getdest_alphaAt(int index) throws Exception {
        return new dest_alphaType2(dereference(getDomChildAt(Element,
                "http://www.collada.org/2005/11/COLLADASchema", "dest_alpha",
                index)));
    }

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

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

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

    public dest_alphaType2 getdest_alpha() throws Exception {
        return getdest_alphaAt(0);
    }

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

    public void removedest_alpha() {
        while (hasdest_alpha())
            removedest_alphaAt(0);
    }

    public void adddest_alpha(dest_alphaType2 value) {
        appendDomElement("http://www.collada.org/2005/11/COLLADASchema",
                "dest_alpha", value);
    }

    public void insertdest_alphaAt(dest_alphaType2 value, int index) {
        insertDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "dest_alpha", index, value);
    }

    public void replacedest_alphaAt(dest_alphaType2 value, int index) {
        replaceDomElementAt("http://www.collada.org/2005/11/COLLADASchema",
                "dest_alpha", index, value);
    }

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