
org.eigenbase.xom.MetaDef Maven / Gradle / Ivy
/*
// This java file was automatically generated
// from XOM model 'meta'
// on Tue Jul 17 18:03:43 PDT 2012
// Do not edit this file by hand.
*/
package org.eigenbase.xom;
/**
* This model is the XOM Meta Model. It is the specification of the model used
* to define new XML-based models. It is also an instance of itself.
* This class was generated from XOM model 'meta' on Tue Jul 17 18:03:43 PDT 2012
*/
public class MetaDef {
public static java.lang.Class getXMLDefClass()
{
return MetaDef.class;
}
public static String[] _elements = {
"Model",
"Definition",
"FullDefinition",
"Element",
"Class",
"StringElement",
"Plugin",
"Import",
"Doc",
"Code",
"Attribute",
"Value",
"Content",
"Object",
"Array",
"Any",
"CData"
};
/**
* Model is the top-level element for a model description. The model element
* contains all other elements in the model and also defines the model's
* basic attributes, such as its name and version number.
*/
public static class Model extends org.eigenbase.xom.ElementDef
{
public Model()
{
}
public Model(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
org.eigenbase.xom.NodeDef[] _tempArray;
name = (String)_parser.getAttribute("name", "String", null, null, true);
dtdName = (String)_parser.getAttribute("dtdName", "String", null, null, false);
className = (String)_parser.getAttribute("className", "String", null, null, false);
packageName = (String)_parser.getAttribute("packageName", "String", null, null, false);
importName = (String)_parser.getAttribute("importName", "String", null, null, false);
root = (String)_parser.getAttribute("root", "String", null, null, true);
prefix = (String)_parser.getAttribute("prefix", "String", null, null, false);
version = (Double)_parser.getAttribute("version", "Double", null, null, true);
defaultKeepDef = (Boolean)_parser.getAttribute("defaultKeepDef", "Boolean", "false", null, false);
doc = _parser.getString(Doc, false);
_tempArray = _parser.getArray(Definition.class, 1, 0);
elements = new Definition[_tempArray.length];
for (int _i = 0; _i < elements.length; _i++)
elements[_i] = (Definition)_tempArray[_i];
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String name; // required attribute
public String dtdName; // optional attribute
public String className; // optional attribute
public String packageName; // optional attribute
public String importName; // optional attribute
public String root; // required attribute
public String prefix; // optional attribute
public Double version; // required attribute
public Boolean defaultKeepDef; // attribute default: false
public org.eigenbase.xom.DOMWrapper _def;
public String doc; //optional element
/**
* The elements array contains a definition for each element within the
* model. Elements include Class, Element, and String definitions.
*/
public Definition[] elements; //min 1
public String getName()
{
return "Model";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "name", name, _indent+1);
displayAttribute(_out, "dtdName", dtdName, _indent+1);
displayAttribute(_out, "className", className, _indent+1);
displayAttribute(_out, "packageName", packageName, _indent+1);
displayAttribute(_out, "importName", importName, _indent+1);
displayAttribute(_out, "root", root, _indent+1);
displayAttribute(_out, "prefix", prefix, _indent+1);
displayAttribute(_out, "version", version, _indent+1);
displayAttribute(_out, "defaultKeepDef", defaultKeepDef, _indent+1);
displayString(_out, "doc", doc, _indent+1);
displayElementArray(_out, "elements", elements, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Model", new org.eigenbase.xom.XMLAttrVector()
.add("name", name)
.add("dtdName", dtdName)
.add("className", className)
.add("packageName", packageName)
.add("importName", importName)
.add("root", root)
.add("prefix", prefix)
.add("version", version)
.add("defaultKeepDef", defaultKeepDef)
);
displayXMLString(_out, "Doc", doc);
displayXMLElementArray(_out, elements);
_out.endTag("Model");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Model _cother = (Model)_other;
boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1);
_diff = _diff && displayAttributeDiff("dtdName", dtdName, _cother.dtdName, _out, _indent+1);
_diff = _diff && displayAttributeDiff("className", className, _cother.className, _out, _indent+1);
_diff = _diff && displayAttributeDiff("packageName", packageName, _cother.packageName, _out, _indent+1);
_diff = _diff && displayAttributeDiff("importName", importName, _cother.importName, _out, _indent+1);
_diff = _diff && displayAttributeDiff("root", root, _cother.root, _out, _indent+1);
_diff = _diff && displayAttributeDiff("prefix", prefix, _cother.prefix, _out, _indent+1);
_diff = _diff && displayAttributeDiff("version", version, _cother.version, _out, _indent+1);
_diff = _diff && displayAttributeDiff("defaultKeepDef", defaultKeepDef, _cother.defaultKeepDef, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
_diff = _diff && displayElementArrayDiff("elements", elements, _cother.elements, _out, _indent+1);
return _diff;
}
}
/**
* The Definition class represents a generic type of element definition.
* The actual definition may be of a Class, Element, or String.
* Definitions are the basic building blocks of a model.
*/
public interface Definition extends org.eigenbase.xom.NodeDef
{
}
/**
* The FullDefinition class represents a fully-specified definition
* that may include content.
*/
public interface FullDefinition extends Definition
{
}
/**
* An Element Definition defines a basic entity of the meta model. Elements
* are containers for two types of data: attributes and content. Attributes
* are simple name/value pairs which may take on the full range of Java
* types. Content consists of other Elements and Strings, either
* appearing alone or as arrays.
*/
public static class Element extends org.eigenbase.xom.ElementDef implements FullDefinition
{
public Element()
{
}
public Element(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
org.eigenbase.xom.NodeDef[] _tempArray;
type = (String)_parser.getAttribute("type", "String", null, null, true);
_class = (String)_parser.getAttribute("class", "String", null, null, false);
dtdName = (String)_parser.getAttribute("dtdName", "String", null, null, false);
_abstract = (Boolean)_parser.getAttribute("abstract", "Boolean", "false", null, false);
contentModel = (String)_parser.getAttribute("contentModel", "String", "sequential", _contentModel_values, false);
keepDef = (Boolean)_parser.getAttribute("keepDef", "Boolean", null, null, false);
doc = _parser.getString(Doc, false);
_tempArray = _parser.getArray(Attribute.class, 0, 0);
attributes = new Attribute[_tempArray.length];
for (int _i = 0; _i < attributes.length; _i++)
attributes[_i] = (Attribute)_tempArray[_i];
_tempArray = _parser.getArray(Content.class, 0, 0);
content = new Content[_tempArray.length];
for (int _i = 0; _i < content.length; _i++)
content[_i] = (Content)_tempArray[_i];
any = (Any)_parser.getElement(Any.class, false);
cdata = (CData)_parser.getElement(CData.class, false);
code = _parser.getString(Code, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
/** Allowable values for {@link #contentModel}. */
public static final String[] _contentModel_values = {"sequential", "random", "mixed", "any", "cdata"};
public String contentModel; // attribute default: sequential
public Boolean keepDef; // optional attribute
public String type; // required attribute
public String _class; // optional attribute
public String dtdName; // optional attribute
public Boolean _abstract; // attribute default: false
public org.eigenbase.xom.DOMWrapper _def;
/**
* Doc tags allow documentation to be added to any definition. The
* documentation will automatically appear in all physical forms
* of this model, including dtds, java classes, and the xsl
* transformation.
*/
public String doc; //optional element
/**
* This array defines all attributes to appear within this class or
* element.
*/
public Attribute[] attributes; //optional array
/**
* This array defines all content (objects and arrays) to appear within
* this class or element. The interpretation of this array depends
* on the element's defined content model.
*/
public Content[] content; //optional array
public Any any; //optional element
public CData cdata; //optional element
/**
* This element allows arbitrary Java Code to be attached to any
* class or element. Code sections are not verified until the final
* .java class is compiled and should be used sparingly.
*/
public String code; //optional element
public String getName()
{
return "Element";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "type", type, _indent+1);
displayAttribute(_out, "class", _class, _indent+1);
displayAttribute(_out, "dtdName", dtdName, _indent+1);
displayAttribute(_out, "abstract", _abstract, _indent+1);
displayAttribute(_out, "contentModel", contentModel, _indent+1);
displayAttribute(_out, "keepDef", keepDef, _indent+1);
displayString(_out, "doc", doc, _indent+1);
displayElementArray(_out, "attributes", attributes, _indent+1);
displayElementArray(_out, "content", content, _indent+1);
displayElement(_out, "any", (org.eigenbase.xom.ElementDef) any, _indent+1);
displayElement(_out, "cdata", (org.eigenbase.xom.ElementDef) cdata, _indent+1);
displayString(_out, "code", code, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Element", new org.eigenbase.xom.XMLAttrVector()
.add("type", type)
.add("class", _class)
.add("dtdName", dtdName)
.add("abstract", _abstract)
.add("contentModel", contentModel)
.add("keepDef", keepDef)
);
displayXMLString(_out, "Doc", doc);
displayXMLElementArray(_out, attributes);
displayXMLElementArray(_out, content);
displayXMLElement(_out, (org.eigenbase.xom.ElementDef) any);
displayXMLElement(_out, (org.eigenbase.xom.ElementDef) cdata);
displayXMLString(_out, "Code", code);
_out.endTag("Element");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Element _cother = (Element)_other;
boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayAttributeDiff("class", _class, _cother._class, _out, _indent+1);
_diff = _diff && displayAttributeDiff("dtdName", dtdName, _cother.dtdName, _out, _indent+1);
_diff = _diff && displayAttributeDiff("abstract", _abstract, _cother._abstract, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
_diff = _diff && displayElementArrayDiff("attributes", attributes, _cother.attributes, _out, _indent+1);
_diff = _diff && displayElementArrayDiff("content", content, _cother.content, _out, _indent+1);
_diff = _diff && displayElementDiff("any", any, _cother.any, _out, _indent+1);
_diff = _diff && displayElementDiff("cdata", cdata, _cother.cdata, _out, _indent+1);
_diff = _diff && displayStringDiff("code", code, _cother.code, _out, _indent+1);
return _diff;
}
}
/**
* A Class Definition defines a class of entities. A class specifies a group
* of entities with similar properties. Full inheritence is supported,
* although there are limits on what can be overridden.
*/
public static class Class extends org.eigenbase.xom.ElementDef implements FullDefinition
{
public Class()
{
}
public Class(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
org.eigenbase.xom.NodeDef[] _tempArray;
_class = (String)_parser.getAttribute("class", "String", null, null, true);
superclass = (String)_parser.getAttribute("superclass", "String", null, null, false);
contentModel = (String)_parser.getAttribute("contentModel", "String", "sequential", _contentModel_values, false);
keepDef = (Boolean)_parser.getAttribute("keepDef", "Boolean", null, null, false);
doc = _parser.getString(Doc, false);
_tempArray = _parser.getArray(Attribute.class, 0, 0);
attributes = new Attribute[_tempArray.length];
for (int _i = 0; _i < attributes.length; _i++)
attributes[_i] = (Attribute)_tempArray[_i];
_tempArray = _parser.getArray(Content.class, 0, 0);
content = new Content[_tempArray.length];
for (int _i = 0; _i < content.length; _i++)
content[_i] = (Content)_tempArray[_i];
any = (Any)_parser.getElement(Any.class, false);
cdata = (CData)_parser.getElement(CData.class, false);
code = _parser.getString(Code, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
/** Allowable values for {@link #contentModel}. */
public static final String[] _contentModel_values = {"sequential", "random", "mixed", "any", "cdata"};
public String contentModel; // attribute default: sequential
public Boolean keepDef; // optional attribute
public String _class; // required attribute
public String superclass; // optional attribute
public org.eigenbase.xom.DOMWrapper _def;
/**
* Doc tags allow documentation to be added to any definition. The
* documentation will automatically appear in all physical forms
* of this model, including dtds, java classes, and the xsl
* transformation.
*/
public String doc; //optional element
/**
* This array defines all attributes to appear within this class or
* element.
*/
public Attribute[] attributes; //optional array
/**
* This array defines all content (objects and arrays) to appear within
* this class or element. The interpretation of this array depends
* on the element's defined content model.
*/
public Content[] content; //optional array
public Any any; //optional element
public CData cdata; //optional element
/**
* This element allows arbitrary Java Code to be attached to any
* class or element. Code sections are not verified until the final
* .java class is compiled and should be used sparingly.
*/
public String code; //optional element
public String getName()
{
return "Class";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "class", _class, _indent+1);
displayAttribute(_out, "superclass", superclass, _indent+1);
displayAttribute(_out, "contentModel", contentModel, _indent+1);
displayAttribute(_out, "keepDef", keepDef, _indent+1);
displayString(_out, "doc", doc, _indent+1);
displayElementArray(_out, "attributes", attributes, _indent+1);
displayElementArray(_out, "content", content, _indent+1);
displayElement(_out, "any", (org.eigenbase.xom.ElementDef) any, _indent+1);
displayElement(_out, "cdata", (org.eigenbase.xom.ElementDef) cdata, _indent+1);
displayString(_out, "code", code, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Class", new org.eigenbase.xom.XMLAttrVector()
.add("class", _class)
.add("superclass", superclass)
.add("contentModel", contentModel)
.add("keepDef", keepDef)
);
displayXMLString(_out, "Doc", doc);
displayXMLElementArray(_out, attributes);
displayXMLElementArray(_out, content);
displayXMLElement(_out, (org.eigenbase.xom.ElementDef) any);
displayXMLElement(_out, (org.eigenbase.xom.ElementDef) cdata);
displayXMLString(_out, "Code", code);
_out.endTag("Class");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Class _cother = (Class)_other;
boolean _diff = displayAttributeDiff("class", _class, _cother._class, _out, _indent+1);
_diff = _diff && displayAttributeDiff("superclass", superclass, _cother.superclass, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
_diff = _diff && displayElementArrayDiff("attributes", attributes, _cother.attributes, _out, _indent+1);
_diff = _diff && displayElementArrayDiff("content", content, _cother.content, _out, _indent+1);
_diff = _diff && displayElementDiff("any", any, _cother.any, _out, _indent+1);
_diff = _diff && displayElementDiff("cdata", cdata, _cother.cdata, _out, _indent+1);
_diff = _diff && displayStringDiff("code", code, _cother.code, _out, _indent+1);
return _diff;
}
}
/**
* A StringElement is a simple type of element which has no attributes and
* whose content is a single String (usually represented as a CDATA section).
* StringElements are used when raw text must be included in a model, such
* as raw Java code, or SQL statements, or HTML documentation.
*/
public static class StringElement extends org.eigenbase.xom.ElementDef implements Definition
{
public StringElement()
{
}
public StringElement(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
type = (String)_parser.getAttribute("type", "String", null, null, true);
doc = _parser.getString(Doc, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String type; // required attribute
public org.eigenbase.xom.DOMWrapper _def;
/**
* Doc tags allow documentation to be added to any definition. The
* documentation will automatically appear in all physical forms
* of this model, including dtds, java classes, and the xsl
* transformation.
*/
public String doc; //optional element
public String getName()
{
return "StringElement";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "type", type, _indent+1);
displayString(_out, "doc", doc, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("StringElement", new org.eigenbase.xom.XMLAttrVector()
.add("type", type)
);
displayXMLString(_out, "Doc", doc);
_out.endTag("StringElement");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
StringElement _cother = (StringElement)_other;
boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
return _diff;
}
}
/**
* A Plugin in a special type of element whose content may be derived from
* a different model. The exact model to use is specified by the
* individual XML file, allowing a Plugin element to link to another
* model dynamically. The Plugin element automatically defines the
* defPackage and defClass attributes. Other attributes may be added
* as needed. Code and documentation sections are supported as well.
*/
public static class Plugin extends org.eigenbase.xom.ElementDef implements Definition
{
public Plugin()
{
}
public Plugin(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
org.eigenbase.xom.NodeDef[] _tempArray;
type = (String)_parser.getAttribute("type", "String", null, null, true);
_class = (String)_parser.getAttribute("class", "String", null, null, false);
doc = _parser.getString(Doc, false);
_tempArray = _parser.getArray(Attribute.class, 0, 0);
attributes = new Attribute[_tempArray.length];
for (int _i = 0; _i < attributes.length; _i++)
attributes[_i] = (Attribute)_tempArray[_i];
code = _parser.getString(Code, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String type; // required attribute
public String _class; // optional attribute
public org.eigenbase.xom.DOMWrapper _def;
public Attribute[] attributes; //optional array
public String code; //optional element
/**
* Doc tags allow documentation to be added to any definition. The
* documentation will automatically appear in all physical forms
* of this model, including dtds, java classes, and the xsl
* transformation.
*/
public String doc; //optional element
public String getName()
{
return "Plugin";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "type", type, _indent+1);
displayAttribute(_out, "class", _class, _indent+1);
displayString(_out, "doc", doc, _indent+1);
displayElementArray(_out, "attributes", attributes, _indent+1);
displayString(_out, "code", code, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Plugin", new org.eigenbase.xom.XMLAttrVector()
.add("type", type)
.add("class", _class)
);
displayXMLString(_out, "Doc", doc);
displayXMLElementArray(_out, attributes);
displayXMLString(_out, "Code", code);
_out.endTag("Plugin");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Plugin _cother = (Plugin)_other;
boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayAttributeDiff("class", _class, _cother._class, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
_diff = _diff && displayElementArrayDiff("attributes", attributes, _cother.attributes, _out, _indent+1);
_diff = _diff && displayStringDiff("code", code, _cother.code, _out, _indent+1);
return _diff;
}
}
/**
* An Import as a special type of element that represents another element
* stored in an external model. The model to use is specified by the
* defPackage and defClass attributes of the import.
* An Import may not be derived from any class.
*/
public static class Import extends org.eigenbase.xom.ElementDef implements Definition
{
public Import()
{
}
public Import(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
type = (String)_parser.getAttribute("type", "String", null, null, true);
defPackage = (String)_parser.getAttribute("defPackage", "String", null, null, true);
defClass = (String)_parser.getAttribute("defClass", "String", null, null, true);
dtdName = (String)_parser.getAttribute("dtdName", "String", null, null, false);
doc = _parser.getString(Doc, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String type; // required attribute
public String defPackage; // required attribute
public String defClass; // required attribute
public String dtdName; // optional attribute
public org.eigenbase.xom.DOMWrapper _def;
/**
* Doc tags allow documentation to be added to any definition. The
* documentation will automatically appear in all physical forms
* of this model, including dtds, java classes, and the xsl
* transformation.
*/
public String doc; //optional element
public String getName()
{
return "Import";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "type", type, _indent+1);
displayAttribute(_out, "defPackage", defPackage, _indent+1);
displayAttribute(_out, "defClass", defClass, _indent+1);
displayAttribute(_out, "dtdName", dtdName, _indent+1);
displayString(_out, "doc", doc, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Import", new org.eigenbase.xom.XMLAttrVector()
.add("type", type)
.add("defPackage", defPackage)
.add("defClass", defClass)
.add("dtdName", dtdName)
);
displayXMLString(_out, "Doc", doc);
_out.endTag("Import");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Import _cother = (Import)_other;
boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayAttributeDiff("defPackage", defPackage, _cother.defPackage, _out, _indent+1);
_diff = _diff && displayAttributeDiff("defClass", defClass, _cother.defClass, _out, _indent+1);
_diff = _diff && displayAttributeDiff("dtdName", dtdName, _cother.dtdName, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
return _diff;
}
}
/**
* The Doc entity specifies a documentation section. The text contained
* in this element should be raw text or HTML used to document the object
* in which the Doc section appears.
*/
public static final String Doc = "Doc";
/**
* The Code entity specifies a raw block of Java code. Each Class/Element
* becomes represented by a Java Class. Including a Code block inside
* a Class or Element will insert the code directly into the corresponding
* class. No checking is done on the code until it is complied later.
*/
public static final String Code = "Code";
/**
* The Attribute entity appears within any Element definition. It defines
* an Attribute, which is a name/value pair used to hold data inside of an
* Element. The Attribute's definition includes its name, type, and
* usage information (default value and whether or not it is required).
* An Attribute definition may limit its values by specifying Value
* objects.
*/
public static class Attribute extends org.eigenbase.xom.ElementDef
{
public Attribute()
{
}
public Attribute(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
org.eigenbase.xom.NodeDef[] _tempArray;
name = (String)_parser.getAttribute("name", "String", null, null, true);
type = (String)_parser.getAttribute("type", "String", "String", null, false);
required = (Boolean)_parser.getAttribute("required", "Boolean", "false", null, false);
_default = (String)_parser.getAttribute("default", "String", null, null, false);
doc = _parser.getString(Doc, false);
values = _parser.getStringArray("Value", 0, 0);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String name; // required attribute
public String type; // attribute default: String
public Boolean required; // attribute default: false
public String _default; // optional attribute
public org.eigenbase.xom.DOMWrapper _def;
public String doc; //optional element
public String[] values; //optional array
public String getName()
{
return "Attribute";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "name", name, _indent+1);
displayAttribute(_out, "type", type, _indent+1);
displayAttribute(_out, "required", required, _indent+1);
displayAttribute(_out, "default", _default, _indent+1);
displayString(_out, "doc", doc, _indent+1);
displayStringArray(_out, "values", values, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Attribute", new org.eigenbase.xom.XMLAttrVector()
.add("name", name)
.add("type", type)
.add("required", required)
.add("default", _default)
);
displayXMLString(_out, "Doc", doc);
displayXMLStringArray(_out, "Value", values);
_out.endTag("Attribute");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Attribute _cother = (Attribute)_other;
boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1);
_diff = _diff && displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayAttributeDiff("required", required, _cother.required, _out, _indent+1);
_diff = _diff && displayAttributeDiff("default", _default, _cother._default, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
_diff = _diff && displayStringArrayDiff("values", values, _cother.values, _out, _indent+1);
return _diff;
}
}
/**
* The Value entity specifies a single value in the set of allowed values
* for an Attribute. The value is specifies as text so that any special
* characters may appear.
*/
public static final String Value = "Value";
/**
* The Content class contains all entities which represent types of
* content which may appear within an Element. Content includes
* Objects, Arrays, Strings, and special markers such as Any.
*/
public interface Content extends org.eigenbase.xom.NodeDef
{
}
/**
* An Object is a single instance of an Element type. Objects have an
* identifying name and a type. The name identifies the object within
* its Element and must be unique within the Element. The object is itself
* an instance of an Element, and this Element is identified by the type.
* The type may be the type name of an Element or the class name of a Class.
*/
public static class Object extends org.eigenbase.xom.ElementDef implements Content
{
public Object()
{
}
public Object(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
name = (String)_parser.getAttribute("name", "String", null, null, true);
type = (String)_parser.getAttribute("type", "String", null, null, true);
required = (Boolean)_parser.getAttribute("required", "Boolean", "false", null, false);
doc = _parser.getString(Doc, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String name; // required attribute
public String type; // required attribute
public Boolean required; // attribute default: false
public org.eigenbase.xom.DOMWrapper _def;
public String doc; //optional element
public String getName()
{
return "Object";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "name", name, _indent+1);
displayAttribute(_out, "type", type, _indent+1);
displayAttribute(_out, "required", required, _indent+1);
displayString(_out, "doc", doc, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Object", new org.eigenbase.xom.XMLAttrVector()
.add("name", name)
.add("type", type)
.add("required", required)
);
displayXMLString(_out, "Doc", doc);
_out.endTag("Object");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Object _cother = (Object)_other;
boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1);
_diff = _diff && displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayAttributeDiff("required", required, _cother.required, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
return _diff;
}
}
/**
* An Array is a set of multiple instances of Elements. The Array
* has an identifying name and a base type. The name identifies the array
* within its Element and must be unique within the Element. Each object
* in the array is an instance of the Element identified by the type.
* The type may be the type name of an Element or the class name of a Class.
*/
public static class Array extends org.eigenbase.xom.ElementDef implements Content
{
public Array()
{
}
public Array(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
this._def = _def;
try {
org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class);
name = (String)_parser.getAttribute("name", "String", null, null, true);
type = (String)_parser.getAttribute("type", "String", null, null, true);
min = (Integer)_parser.getAttribute("min", "Integer", "0", null, false);
max = (Integer)_parser.getAttribute("max", "Integer", "0", null, false);
doc = _parser.getString(Doc, false);
} catch(org.eigenbase.xom.XOMException _ex) {
throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage());
}
}
public String name; // required attribute
public String type; // required attribute
public Integer min; // attribute default: 0
public Integer max; // attribute default: 0
public org.eigenbase.xom.DOMWrapper _def;
public String doc; //optional element
public String getName()
{
return "Array";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
displayAttribute(_out, "name", name, _indent+1);
displayAttribute(_out, "type", type, _indent+1);
displayAttribute(_out, "min", min, _indent+1);
displayAttribute(_out, "max", max, _indent+1);
displayString(_out, "doc", doc, _indent+1);
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Array", new org.eigenbase.xom.XMLAttrVector()
.add("name", name)
.add("type", type)
.add("min", min)
.add("max", max)
);
displayXMLString(_out, "Doc", doc);
_out.endTag("Array");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
Array _cother = (Array)_other;
boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1);
_diff = _diff && displayAttributeDiff("type", type, _cother.type, _out, _indent+1);
_diff = _diff && displayAttributeDiff("min", min, _cother.min, _out, _indent+1);
_diff = _diff && displayAttributeDiff("max", max, _cother.max, _out, _indent+1);
_diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1);
return _diff;
}
}
/**
* The Any content is a special marker which allows an Element to
* contain any type of data. The data will appear in a single
* array called "children". The data will contain all kinds of
* node (elements, comments, text) if the content model is
* "mixed", otherwise just elements. If an Any marker appears, no other
* content may appear in the element.
*/
public static class Any extends org.eigenbase.xom.ElementDef implements Content
{
public Any()
{
}
public Any(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
}
public org.eigenbase.xom.DOMWrapper _def;
public String getName()
{
return "Any";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("Any", new org.eigenbase.xom.XMLAttrVector()
);
_out.endTag("Any");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
return true;
}
}
/**
* The CData content is a special marker which allows an Element to
* contain a single CDATA section as its only content, yet still
* have attributes. The data will appear in a single String
* called "cdata". If a CData marker appears, no other
* content may appear in the element.
*/
public static class CData extends org.eigenbase.xom.ElementDef implements Content
{
public CData()
{
}
public CData(org.eigenbase.xom.DOMWrapper _def)
throws org.eigenbase.xom.XOMException
{
}
public org.eigenbase.xom.DOMWrapper _def;
public String getName()
{
return "CData";
}
public void display(java.io.PrintWriter _out, int _indent)
{
_out.println(getName());
}
public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent)
{
_out.beginTag("CData", new org.eigenbase.xom.XMLAttrVector()
);
_out.endTag("CData");
}
public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent)
{
return true;
}
}
}