/*
* Initial version copyright 2008 Lockheed Martin Corporation, except
* as stated in the file entitled Licensing-Information.
*
* All modifications copyright 2009 Data Access Technologies, Inc.
*
* All modifications copyright 2009 Data Access Technologies, Inc. Licensed under the Academic Free License version 3.0
* (http://www.opensource.org/licenses/afl-3.0.php), except as stated
* in the file entitled Licensing-Information.
*
* Contributors:
* MDS - initial API and implementation
*
*/
package org.modeldriven.fuml.xmi.validation;
/**
* Represents the set of possible errors that may be incurred during XMI validation. Each
* enumeration literal is linked by default to it's ErrorCategory as a
* convenience for clients.
*
* @author Scott Cinnamond
*/
public enum ErrorCode {
INVALID_REFERENCE("INVALID_REFERENCE", ErrorCategory.DOCUMENT_COMPLIANCE_ID_CORRELATION),
INVALID_EXTERNAL_REFERENCE("INVALID_EXTERNAL_REFERENCE", ErrorCategory.DOCUMENT_COMPLIANCE_ID_CORRELATION),
DUPLICATE_REFERENCE("DUPLICATE_REFERENCE", ErrorCategory.DOCUMENT_COMPLIANCE_ID_CORRELATION),
UNDRESOLVED_URI("UNDRESOLVED_URI", ErrorCategory.DOCUMENT_COMPLIANCE_URI_CORRELATION),
INVALID_NAMESPACE("INVALID_NAMESPACE", ErrorCategory.DOCUMENT_COMPLIANCE_NAMESPACE_CORRELATION),
NAMESPACE_REQUIRED("NAMESPACE_REQUIRED", ErrorCategory.DOCUMENT_COMPLIANCE_NAMESPACE_CORRELATION),
MALFORMED_DOCUMENT("MALFORMED_DOCUMENT", ErrorCategory.DOCUMENT_COMPLIANCE_WELL_FORMED),
MALFORMED_ELEMENT("MALFORMED_ELEMENT", ErrorCategory.DOCUMENT_COMPLIANCE_WELL_FORMED),
PROPERTY_REQUIRED("PROPERTY_REQUIRED", ErrorCategory.MODEL_COMPLIANCE_MULTIPLICITY),
PROPERTY_RANGE_ERROR("PROPERTY_RANGE_ERROR", ErrorCategory.MODEL_COMPLIANCE_MULTIPLICITY),
UNDEFINED_PROPERTY("UNDEFINED_PROPERTY", ErrorCategory.MODEL_COMPLIANCE_NAME_CORRELATION),
UNDEFINED_CLASS("UNDEFINED_CLASS", ErrorCategory.MODEL_COMPLIANCE_NAME_CORRELATION),
INVALID_TYPE("INVALID_TYPE", ErrorCategory.MODEL_COMPLIANCE_TYPE_CORRELATION),
ABSTRACT_CLASS_INSTANTIATION("ABSTRACT_CLASS_INSTANTIATION", ErrorCategory.MODEL_COMPLIANCE_TYPE_CORRELATION),
INVALID_STEREOTYPE_APPLICATION("INVALID_STEREOTYPE_APPLICATION", ErrorCategory.MODEL_COMPLIANCE_STEREOTYPE_CORRELATION),
DERIVED_PROPERTY_INSTANTIATION("DERIVED_PROPERTY_INSTANTIATION", ErrorCategory.MODEL_COMPLIANCE_WELL_FORMED);
private final String value;
private final ErrorCategory category;
public ErrorCategory getCategory() {
return category;
}
private ErrorCode(String v, ErrorCategory category) {
this.value = v;
this.category = category;
}
public String value() {
return value;
}
public static ErrorCode fromValue(String v) {
for (ErrorCode c: ErrorCode.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}