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

public class fx_modifier_enum_common extends SchemaNMToken {

    private static final long serialVersionUID = 1L;
    public static final int ECONST = 0; /* CONST */
    public static final int EUNIFORM = 1; /* UNIFORM */
    public static final int EVARYING = 2; /* VARYING */
    public static final int ESTATIC = 3; /* STATIC */
    public static final int EVOLATILE = 4; /* VOLATILE */
    public static final int EEXTERN = 5; /* EXTERN */
    public static final int ESHARED = 6; /* SHARED */

    public static String[] sEnumValues = { "CONST", "UNIFORM", "VARYING",
            "STATIC", "VOLATILE", "EXTERN", "SHARED", };

    public fx_modifier_enum_common() {
        super();
    }

    public fx_modifier_enum_common(String newValue) {
        super(newValue);
        validate();
    }

    public fx_modifier_enum_common(SchemaNMToken newValue) {
        super(newValue);
        validate();
    }

    public static int getEnumerationCount() {
        return sEnumValues.length;
    }

    public static String getEnumerationValue(int index) {
        return sEnumValues[index];
    }

    public static boolean isValidEnumerationValue(String val) {
        for (int i = 0; i < sEnumValues.length; i++) {
            if (val.equals(sEnumValues[i]))
                return true;
        }
        return false;
    }

    public void validate() {

        if (!isValidEnumerationValue(toString()))
            throw new com.jmex.model.collada.xml.XmlException(
                    "Value of fx_modifier_enum_common is invalid.");
    }
}
