001/* 002// This java file was automatically generated 003// from XOM model 'meta' 004// on Fri Mar 21 16:55:44 UTC 2014 005// Do not edit this file by hand. 006*/ 007 008package org.eigenbase.xom; 009/** 010 * This model is the XOM Meta Model. It is the specification of the model used 011 * to define new XML-based models. It is also an instance of itself. 012 * <p>This class was generated from XOM model 'meta' on Fri Mar 21 16:55:44 UTC 2014 013 */ 014public class MetaDef { 015 016 public static java.lang.Class getXMLDefClass() 017 { 018 return MetaDef.class; 019 } 020 021 public static String[] _elements = { 022 "Model", 023 "Definition", 024 "FullDefinition", 025 "Element", 026 "Class", 027 "StringElement", 028 "Plugin", 029 "Import", 030 "Doc", 031 "Code", 032 "Attribute", 033 "Value", 034 "Content", 035 "Object", 036 "Array", 037 "Any", 038 "CData" 039 }; 040 041 /** 042 * Model is the top-level element for a model description. The model element 043 * contains all other elements in the model and also defines the model's 044 * basic attributes, such as its name and version number. 045 */ 046 public static class Model extends org.eigenbase.xom.ElementDef 047 { 048 public Model() 049 { 050 } 051 052 public Model(org.eigenbase.xom.DOMWrapper _def) 053 throws org.eigenbase.xom.XOMException 054 { 055 this._def = _def; 056 try { 057 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 058 org.eigenbase.xom.NodeDef[] _tempArray; 059 name = (String)_parser.getAttribute("name", "String", null, null, true); 060 dtdName = (String)_parser.getAttribute("dtdName", "String", null, null, false); 061 className = (String)_parser.getAttribute("className", "String", null, null, false); 062 packageName = (String)_parser.getAttribute("packageName", "String", null, null, false); 063 importName = (String)_parser.getAttribute("importName", "String", null, null, false); 064 root = (String)_parser.getAttribute("root", "String", null, null, true); 065 prefix = (String)_parser.getAttribute("prefix", "String", null, null, false); 066 version = (Double)_parser.getAttribute("version", "Double", null, null, true); 067 defaultKeepDef = (Boolean)_parser.getAttribute("defaultKeepDef", "Boolean", "false", null, false); 068 doc = _parser.getString(Doc, false); 069 _tempArray = _parser.getArray(Definition.class, 1, 0); 070 elements = new Definition[_tempArray.length]; 071 for (int _i = 0; _i < elements.length; _i++) 072 elements[_i] = (Definition)_tempArray[_i]; 073 } catch(org.eigenbase.xom.XOMException _ex) { 074 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 075 } 076 } 077 078 public String name; // required attribute 079 public String dtdName; // optional attribute 080 public String className; // optional attribute 081 public String packageName; // optional attribute 082 public String importName; // optional attribute 083 public String root; // required attribute 084 public String prefix; // optional attribute 085 public Double version; // required attribute 086 public Boolean defaultKeepDef; // attribute default: false 087 public org.eigenbase.xom.DOMWrapper _def; 088 089 public String doc; //optional element 090 /** 091 * The elements array contains a definition for each element within the 092 * model. Elements include Class, Element, and String definitions. 093 */ 094 public Definition[] elements; //min 1 095 096 public String getName() 097 { 098 return "Model"; 099 } 100 101 public void display(java.io.PrintWriter _out, int _indent) 102 { 103 _out.println(getName()); 104 displayAttribute(_out, "name", name, _indent+1); 105 displayAttribute(_out, "dtdName", dtdName, _indent+1); 106 displayAttribute(_out, "className", className, _indent+1); 107 displayAttribute(_out, "packageName", packageName, _indent+1); 108 displayAttribute(_out, "importName", importName, _indent+1); 109 displayAttribute(_out, "root", root, _indent+1); 110 displayAttribute(_out, "prefix", prefix, _indent+1); 111 displayAttribute(_out, "version", version, _indent+1); 112 displayAttribute(_out, "defaultKeepDef", defaultKeepDef, _indent+1); 113 displayString(_out, "doc", doc, _indent+1); 114 displayElementArray(_out, "elements", elements, _indent+1); 115 } 116 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 117 { 118 _out.beginTag("Model", new org.eigenbase.xom.XMLAttrVector() 119 .add("name", name) 120 .add("dtdName", dtdName) 121 .add("className", className) 122 .add("packageName", packageName) 123 .add("importName", importName) 124 .add("root", root) 125 .add("prefix", prefix) 126 .add("version", version) 127 .add("defaultKeepDef", defaultKeepDef) 128 ); 129 displayXMLString(_out, "Doc", doc); 130 displayXMLElementArray(_out, elements); 131 _out.endTag("Model"); 132 } 133 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 134 { 135 Model _cother = (Model)_other; 136 boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1); 137 _diff = _diff && displayAttributeDiff("dtdName", dtdName, _cother.dtdName, _out, _indent+1); 138 _diff = _diff && displayAttributeDiff("className", className, _cother.className, _out, _indent+1); 139 _diff = _diff && displayAttributeDiff("packageName", packageName, _cother.packageName, _out, _indent+1); 140 _diff = _diff && displayAttributeDiff("importName", importName, _cother.importName, _out, _indent+1); 141 _diff = _diff && displayAttributeDiff("root", root, _cother.root, _out, _indent+1); 142 _diff = _diff && displayAttributeDiff("prefix", prefix, _cother.prefix, _out, _indent+1); 143 _diff = _diff && displayAttributeDiff("version", version, _cother.version, _out, _indent+1); 144 _diff = _diff && displayAttributeDiff("defaultKeepDef", defaultKeepDef, _cother.defaultKeepDef, _out, _indent+1); 145 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 146 _diff = _diff && displayElementArrayDiff("elements", elements, _cother.elements, _out, _indent+1); 147 return _diff; 148 } 149 } 150 151 /** 152 * The Definition class represents a generic type of element definition. 153 * The actual definition may be of a Class, Element, or String. 154 * Definitions are the basic building blocks of a model. 155 */ 156 public interface Definition extends org.eigenbase.xom.NodeDef 157 { 158 } 159 160 /** 161 * The FullDefinition class represents a fully-specified definition 162 * that may include content. 163 */ 164 public interface FullDefinition extends Definition 165 { 166 } 167 168 /** 169 * An Element Definition defines a basic entity of the meta model. Elements 170 * are containers for two types of data: attributes and content. Attributes 171 * are simple name/value pairs which may take on the full range of Java 172 * types. Content consists of other Elements and Strings, either 173 * appearing alone or as arrays. 174 */ 175 public static class Element extends org.eigenbase.xom.ElementDef implements FullDefinition 176 { 177 public Element() 178 { 179 } 180 181 public Element(org.eigenbase.xom.DOMWrapper _def) 182 throws org.eigenbase.xom.XOMException 183 { 184 this._def = _def; 185 try { 186 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 187 org.eigenbase.xom.NodeDef[] _tempArray; 188 type = (String)_parser.getAttribute("type", "String", null, null, true); 189 _class = (String)_parser.getAttribute("class", "String", null, null, false); 190 dtdName = (String)_parser.getAttribute("dtdName", "String", null, null, false); 191 _abstract = (Boolean)_parser.getAttribute("abstract", "Boolean", "false", null, false); 192 contentModel = (String)_parser.getAttribute("contentModel", "String", "sequential", _contentModel_values, false); 193 keepDef = (Boolean)_parser.getAttribute("keepDef", "Boolean", null, null, false); 194 doc = _parser.getString(Doc, false); 195 _tempArray = _parser.getArray(Attribute.class, 0, 0); 196 attributes = new Attribute[_tempArray.length]; 197 for (int _i = 0; _i < attributes.length; _i++) 198 attributes[_i] = (Attribute)_tempArray[_i]; 199 _tempArray = _parser.getArray(Content.class, 0, 0); 200 content = new Content[_tempArray.length]; 201 for (int _i = 0; _i < content.length; _i++) 202 content[_i] = (Content)_tempArray[_i]; 203 any = (Any)_parser.getElement(Any.class, false); 204 cdata = (CData)_parser.getElement(CData.class, false); 205 code = _parser.getString(Code, false); 206 } catch(org.eigenbase.xom.XOMException _ex) { 207 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 208 } 209 } 210 211 /** Allowable values for {@link #contentModel}. */ 212 public static final String[] _contentModel_values = {"sequential", "random", "mixed", "any", "cdata"}; 213 public String contentModel; // attribute default: sequential 214 public Boolean keepDef; // optional attribute 215 public String type; // required attribute 216 public String _class; // optional attribute 217 public String dtdName; // optional attribute 218 public Boolean _abstract; // attribute default: false 219 public org.eigenbase.xom.DOMWrapper _def; 220 221 /** 222 * Doc tags allow documentation to be added to any definition. The 223 * documentation will automatically appear in all physical forms 224 * of this model, including dtds, java classes, and the xsl 225 * transformation. 226 */ 227 public String doc; //optional element 228 /** 229 * This array defines all attributes to appear within this class or 230 * element. 231 */ 232 public Attribute[] attributes; //optional array 233 /** 234 * This array defines all content (objects and arrays) to appear within 235 * this class or element. The interpretation of this array depends 236 * on the element's defined content model. 237 */ 238 public Content[] content; //optional array 239 public Any any; //optional element 240 public CData cdata; //optional element 241 /** 242 * This element allows arbitrary Java Code to be attached to any 243 * class or element. Code sections are not verified until the final 244 * .java class is compiled and should be used sparingly. 245 */ 246 public String code; //optional element 247 248 public String getName() 249 { 250 return "Element"; 251 } 252 253 public void display(java.io.PrintWriter _out, int _indent) 254 { 255 _out.println(getName()); 256 displayAttribute(_out, "type", type, _indent+1); 257 displayAttribute(_out, "class", _class, _indent+1); 258 displayAttribute(_out, "dtdName", dtdName, _indent+1); 259 displayAttribute(_out, "abstract", _abstract, _indent+1); 260 displayAttribute(_out, "contentModel", contentModel, _indent+1); 261 displayAttribute(_out, "keepDef", keepDef, _indent+1); 262 displayString(_out, "doc", doc, _indent+1); 263 displayElementArray(_out, "attributes", attributes, _indent+1); 264 displayElementArray(_out, "content", content, _indent+1); 265 displayElement(_out, "any", (org.eigenbase.xom.ElementDef) any, _indent+1); 266 displayElement(_out, "cdata", (org.eigenbase.xom.ElementDef) cdata, _indent+1); 267 displayString(_out, "code", code, _indent+1); 268 } 269 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 270 { 271 _out.beginTag("Element", new org.eigenbase.xom.XMLAttrVector() 272 .add("type", type) 273 .add("class", _class) 274 .add("dtdName", dtdName) 275 .add("abstract", _abstract) 276 .add("contentModel", contentModel) 277 .add("keepDef", keepDef) 278 ); 279 displayXMLString(_out, "Doc", doc); 280 displayXMLElementArray(_out, attributes); 281 displayXMLElementArray(_out, content); 282 displayXMLElement(_out, (org.eigenbase.xom.ElementDef) any); 283 displayXMLElement(_out, (org.eigenbase.xom.ElementDef) cdata); 284 displayXMLString(_out, "Code", code); 285 _out.endTag("Element"); 286 } 287 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 288 { 289 Element _cother = (Element)_other; 290 boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 291 _diff = _diff && displayAttributeDiff("class", _class, _cother._class, _out, _indent+1); 292 _diff = _diff && displayAttributeDiff("dtdName", dtdName, _cother.dtdName, _out, _indent+1); 293 _diff = _diff && displayAttributeDiff("abstract", _abstract, _cother._abstract, _out, _indent+1); 294 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 295 _diff = _diff && displayElementArrayDiff("attributes", attributes, _cother.attributes, _out, _indent+1); 296 _diff = _diff && displayElementArrayDiff("content", content, _cother.content, _out, _indent+1); 297 _diff = _diff && displayElementDiff("any", any, _cother.any, _out, _indent+1); 298 _diff = _diff && displayElementDiff("cdata", cdata, _cother.cdata, _out, _indent+1); 299 _diff = _diff && displayStringDiff("code", code, _cother.code, _out, _indent+1); 300 return _diff; 301 } 302 } 303 304 /** 305 * A Class Definition defines a class of entities. A class specifies a group 306 * of entities with similar properties. Full inheritence is supported, 307 * although there are limits on what can be overridden. 308 */ 309 public static class Class extends org.eigenbase.xom.ElementDef implements FullDefinition 310 { 311 public Class() 312 { 313 } 314 315 public Class(org.eigenbase.xom.DOMWrapper _def) 316 throws org.eigenbase.xom.XOMException 317 { 318 this._def = _def; 319 try { 320 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 321 org.eigenbase.xom.NodeDef[] _tempArray; 322 _class = (String)_parser.getAttribute("class", "String", null, null, true); 323 superclass = (String)_parser.getAttribute("superclass", "String", null, null, false); 324 contentModel = (String)_parser.getAttribute("contentModel", "String", "sequential", _contentModel_values, false); 325 keepDef = (Boolean)_parser.getAttribute("keepDef", "Boolean", null, null, false); 326 doc = _parser.getString(Doc, false); 327 _tempArray = _parser.getArray(Attribute.class, 0, 0); 328 attributes = new Attribute[_tempArray.length]; 329 for (int _i = 0; _i < attributes.length; _i++) 330 attributes[_i] = (Attribute)_tempArray[_i]; 331 _tempArray = _parser.getArray(Content.class, 0, 0); 332 content = new Content[_tempArray.length]; 333 for (int _i = 0; _i < content.length; _i++) 334 content[_i] = (Content)_tempArray[_i]; 335 any = (Any)_parser.getElement(Any.class, false); 336 cdata = (CData)_parser.getElement(CData.class, false); 337 code = _parser.getString(Code, false); 338 } catch(org.eigenbase.xom.XOMException _ex) { 339 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 340 } 341 } 342 343 /** Allowable values for {@link #contentModel}. */ 344 public static final String[] _contentModel_values = {"sequential", "random", "mixed", "any", "cdata"}; 345 public String contentModel; // attribute default: sequential 346 public Boolean keepDef; // optional attribute 347 public String _class; // required attribute 348 public String superclass; // optional attribute 349 public org.eigenbase.xom.DOMWrapper _def; 350 351 /** 352 * Doc tags allow documentation to be added to any definition. The 353 * documentation will automatically appear in all physical forms 354 * of this model, including dtds, java classes, and the xsl 355 * transformation. 356 */ 357 public String doc; //optional element 358 /** 359 * This array defines all attributes to appear within this class or 360 * element. 361 */ 362 public Attribute[] attributes; //optional array 363 /** 364 * This array defines all content (objects and arrays) to appear within 365 * this class or element. The interpretation of this array depends 366 * on the element's defined content model. 367 */ 368 public Content[] content; //optional array 369 public Any any; //optional element 370 public CData cdata; //optional element 371 /** 372 * This element allows arbitrary Java Code to be attached to any 373 * class or element. Code sections are not verified until the final 374 * .java class is compiled and should be used sparingly. 375 */ 376 public String code; //optional element 377 378 public String getName() 379 { 380 return "Class"; 381 } 382 383 public void display(java.io.PrintWriter _out, int _indent) 384 { 385 _out.println(getName()); 386 displayAttribute(_out, "class", _class, _indent+1); 387 displayAttribute(_out, "superclass", superclass, _indent+1); 388 displayAttribute(_out, "contentModel", contentModel, _indent+1); 389 displayAttribute(_out, "keepDef", keepDef, _indent+1); 390 displayString(_out, "doc", doc, _indent+1); 391 displayElementArray(_out, "attributes", attributes, _indent+1); 392 displayElementArray(_out, "content", content, _indent+1); 393 displayElement(_out, "any", (org.eigenbase.xom.ElementDef) any, _indent+1); 394 displayElement(_out, "cdata", (org.eigenbase.xom.ElementDef) cdata, _indent+1); 395 displayString(_out, "code", code, _indent+1); 396 } 397 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 398 { 399 _out.beginTag("Class", new org.eigenbase.xom.XMLAttrVector() 400 .add("class", _class) 401 .add("superclass", superclass) 402 .add("contentModel", contentModel) 403 .add("keepDef", keepDef) 404 ); 405 displayXMLString(_out, "Doc", doc); 406 displayXMLElementArray(_out, attributes); 407 displayXMLElementArray(_out, content); 408 displayXMLElement(_out, (org.eigenbase.xom.ElementDef) any); 409 displayXMLElement(_out, (org.eigenbase.xom.ElementDef) cdata); 410 displayXMLString(_out, "Code", code); 411 _out.endTag("Class"); 412 } 413 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 414 { 415 Class _cother = (Class)_other; 416 boolean _diff = displayAttributeDiff("class", _class, _cother._class, _out, _indent+1); 417 _diff = _diff && displayAttributeDiff("superclass", superclass, _cother.superclass, _out, _indent+1); 418 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 419 _diff = _diff && displayElementArrayDiff("attributes", attributes, _cother.attributes, _out, _indent+1); 420 _diff = _diff && displayElementArrayDiff("content", content, _cother.content, _out, _indent+1); 421 _diff = _diff && displayElementDiff("any", any, _cother.any, _out, _indent+1); 422 _diff = _diff && displayElementDiff("cdata", cdata, _cother.cdata, _out, _indent+1); 423 _diff = _diff && displayStringDiff("code", code, _cother.code, _out, _indent+1); 424 return _diff; 425 } 426 } 427 428 /** 429 * A StringElement is a simple type of element which has no attributes and 430 * whose content is a single String (usually represented as a CDATA section). 431 * StringElements are used when raw text must be included in a model, such 432 * as raw Java code, or SQL statements, or HTML documentation. 433 */ 434 public static class StringElement extends org.eigenbase.xom.ElementDef implements Definition 435 { 436 public StringElement() 437 { 438 } 439 440 public StringElement(org.eigenbase.xom.DOMWrapper _def) 441 throws org.eigenbase.xom.XOMException 442 { 443 this._def = _def; 444 try { 445 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 446 type = (String)_parser.getAttribute("type", "String", null, null, true); 447 doc = _parser.getString(Doc, false); 448 } catch(org.eigenbase.xom.XOMException _ex) { 449 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 450 } 451 } 452 453 public String type; // required attribute 454 public org.eigenbase.xom.DOMWrapper _def; 455 456 /** 457 * Doc tags allow documentation to be added to any definition. The 458 * documentation will automatically appear in all physical forms 459 * of this model, including dtds, java classes, and the xsl 460 * transformation. 461 */ 462 public String doc; //optional element 463 464 public String getName() 465 { 466 return "StringElement"; 467 } 468 469 public void display(java.io.PrintWriter _out, int _indent) 470 { 471 _out.println(getName()); 472 displayAttribute(_out, "type", type, _indent+1); 473 displayString(_out, "doc", doc, _indent+1); 474 } 475 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 476 { 477 _out.beginTag("StringElement", new org.eigenbase.xom.XMLAttrVector() 478 .add("type", type) 479 ); 480 displayXMLString(_out, "Doc", doc); 481 _out.endTag("StringElement"); 482 } 483 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 484 { 485 StringElement _cother = (StringElement)_other; 486 boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 487 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 488 return _diff; 489 } 490 } 491 492 /** 493 * A Plugin in a special type of element whose content may be derived from 494 * a different model. The exact model to use is specified by the 495 * individual XML file, allowing a Plugin element to link to another 496 * model dynamically. The Plugin element automatically defines the 497 * defPackage and defClass attributes. Other attributes may be added 498 * as needed. Code and documentation sections are supported as well. 499 */ 500 public static class Plugin extends org.eigenbase.xom.ElementDef implements Definition 501 { 502 public Plugin() 503 { 504 } 505 506 public Plugin(org.eigenbase.xom.DOMWrapper _def) 507 throws org.eigenbase.xom.XOMException 508 { 509 this._def = _def; 510 try { 511 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 512 org.eigenbase.xom.NodeDef[] _tempArray; 513 type = (String)_parser.getAttribute("type", "String", null, null, true); 514 _class = (String)_parser.getAttribute("class", "String", null, null, false); 515 doc = _parser.getString(Doc, false); 516 _tempArray = _parser.getArray(Attribute.class, 0, 0); 517 attributes = new Attribute[_tempArray.length]; 518 for (int _i = 0; _i < attributes.length; _i++) 519 attributes[_i] = (Attribute)_tempArray[_i]; 520 code = _parser.getString(Code, false); 521 } catch(org.eigenbase.xom.XOMException _ex) { 522 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 523 } 524 } 525 526 public String type; // required attribute 527 public String _class; // optional attribute 528 public org.eigenbase.xom.DOMWrapper _def; 529 530 public Attribute[] attributes; //optional array 531 public String code; //optional element 532 /** 533 * Doc tags allow documentation to be added to any definition. The 534 * documentation will automatically appear in all physical forms 535 * of this model, including dtds, java classes, and the xsl 536 * transformation. 537 */ 538 public String doc; //optional element 539 540 public String getName() 541 { 542 return "Plugin"; 543 } 544 545 public void display(java.io.PrintWriter _out, int _indent) 546 { 547 _out.println(getName()); 548 displayAttribute(_out, "type", type, _indent+1); 549 displayAttribute(_out, "class", _class, _indent+1); 550 displayString(_out, "doc", doc, _indent+1); 551 displayElementArray(_out, "attributes", attributes, _indent+1); 552 displayString(_out, "code", code, _indent+1); 553 } 554 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 555 { 556 _out.beginTag("Plugin", new org.eigenbase.xom.XMLAttrVector() 557 .add("type", type) 558 .add("class", _class) 559 ); 560 displayXMLString(_out, "Doc", doc); 561 displayXMLElementArray(_out, attributes); 562 displayXMLString(_out, "Code", code); 563 _out.endTag("Plugin"); 564 } 565 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 566 { 567 Plugin _cother = (Plugin)_other; 568 boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 569 _diff = _diff && displayAttributeDiff("class", _class, _cother._class, _out, _indent+1); 570 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 571 _diff = _diff && displayElementArrayDiff("attributes", attributes, _cother.attributes, _out, _indent+1); 572 _diff = _diff && displayStringDiff("code", code, _cother.code, _out, _indent+1); 573 return _diff; 574 } 575 } 576 577 /** 578 * An Import as a special type of element that represents another element 579 * stored in an external model. The model to use is specified by the 580 * defPackage and defClass attributes of the import. 581 * An Import may not be derived from any class. 582 */ 583 public static class Import extends org.eigenbase.xom.ElementDef implements Definition 584 { 585 public Import() 586 { 587 } 588 589 public Import(org.eigenbase.xom.DOMWrapper _def) 590 throws org.eigenbase.xom.XOMException 591 { 592 this._def = _def; 593 try { 594 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 595 type = (String)_parser.getAttribute("type", "String", null, null, true); 596 defPackage = (String)_parser.getAttribute("defPackage", "String", null, null, true); 597 defClass = (String)_parser.getAttribute("defClass", "String", null, null, true); 598 dtdName = (String)_parser.getAttribute("dtdName", "String", null, null, false); 599 doc = _parser.getString(Doc, false); 600 } catch(org.eigenbase.xom.XOMException _ex) { 601 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 602 } 603 } 604 605 public String type; // required attribute 606 public String defPackage; // required attribute 607 public String defClass; // required attribute 608 public String dtdName; // optional attribute 609 public org.eigenbase.xom.DOMWrapper _def; 610 611 /** 612 * Doc tags allow documentation to be added to any definition. The 613 * documentation will automatically appear in all physical forms 614 * of this model, including dtds, java classes, and the xsl 615 * transformation. 616 */ 617 public String doc; //optional element 618 619 public String getName() 620 { 621 return "Import"; 622 } 623 624 public void display(java.io.PrintWriter _out, int _indent) 625 { 626 _out.println(getName()); 627 displayAttribute(_out, "type", type, _indent+1); 628 displayAttribute(_out, "defPackage", defPackage, _indent+1); 629 displayAttribute(_out, "defClass", defClass, _indent+1); 630 displayAttribute(_out, "dtdName", dtdName, _indent+1); 631 displayString(_out, "doc", doc, _indent+1); 632 } 633 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 634 { 635 _out.beginTag("Import", new org.eigenbase.xom.XMLAttrVector() 636 .add("type", type) 637 .add("defPackage", defPackage) 638 .add("defClass", defClass) 639 .add("dtdName", dtdName) 640 ); 641 displayXMLString(_out, "Doc", doc); 642 _out.endTag("Import"); 643 } 644 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 645 { 646 Import _cother = (Import)_other; 647 boolean _diff = displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 648 _diff = _diff && displayAttributeDiff("defPackage", defPackage, _cother.defPackage, _out, _indent+1); 649 _diff = _diff && displayAttributeDiff("defClass", defClass, _cother.defClass, _out, _indent+1); 650 _diff = _diff && displayAttributeDiff("dtdName", dtdName, _cother.dtdName, _out, _indent+1); 651 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 652 return _diff; 653 } 654 } 655 656 /** 657 * The Doc entity specifies a documentation section. The text contained 658 * in this element should be raw text or HTML used to document the object 659 * in which the Doc section appears. 660 */ 661 public static final String Doc = "Doc"; 662 663 /** 664 * The Code entity specifies a raw block of Java code. Each Class/Element 665 * becomes represented by a Java Class. Including a Code block inside 666 * a Class or Element will insert the code directly into the corresponding 667 * class. No checking is done on the code until it is complied later. 668 */ 669 public static final String Code = "Code"; 670 671 /** 672 * The Attribute entity appears within any Element definition. It defines 673 * an Attribute, which is a name/value pair used to hold data inside of an 674 * Element. The Attribute's definition includes its name, type, and 675 * usage information (default value and whether or not it is required). 676 * An Attribute definition may limit its values by specifying Value 677 * objects. 678 */ 679 public static class Attribute extends org.eigenbase.xom.ElementDef 680 { 681 public Attribute() 682 { 683 } 684 685 public Attribute(org.eigenbase.xom.DOMWrapper _def) 686 throws org.eigenbase.xom.XOMException 687 { 688 this._def = _def; 689 try { 690 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 691 org.eigenbase.xom.NodeDef[] _tempArray; 692 name = (String)_parser.getAttribute("name", "String", null, null, true); 693 type = (String)_parser.getAttribute("type", "String", "String", null, false); 694 required = (Boolean)_parser.getAttribute("required", "Boolean", "false", null, false); 695 _default = (String)_parser.getAttribute("default", "String", null, null, false); 696 doc = _parser.getString(Doc, false); 697 values = _parser.getStringArray("Value", 0, 0); 698 } catch(org.eigenbase.xom.XOMException _ex) { 699 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 700 } 701 } 702 703 public String name; // required attribute 704 public String type; // attribute default: String 705 public Boolean required; // attribute default: false 706 public String _default; // optional attribute 707 public org.eigenbase.xom.DOMWrapper _def; 708 709 public String doc; //optional element 710 public String[] values; //optional array 711 712 public String getName() 713 { 714 return "Attribute"; 715 } 716 717 public void display(java.io.PrintWriter _out, int _indent) 718 { 719 _out.println(getName()); 720 displayAttribute(_out, "name", name, _indent+1); 721 displayAttribute(_out, "type", type, _indent+1); 722 displayAttribute(_out, "required", required, _indent+1); 723 displayAttribute(_out, "default", _default, _indent+1); 724 displayString(_out, "doc", doc, _indent+1); 725 displayStringArray(_out, "values", values, _indent+1); 726 } 727 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 728 { 729 _out.beginTag("Attribute", new org.eigenbase.xom.XMLAttrVector() 730 .add("name", name) 731 .add("type", type) 732 .add("required", required) 733 .add("default", _default) 734 ); 735 displayXMLString(_out, "Doc", doc); 736 displayXMLStringArray(_out, "Value", values); 737 _out.endTag("Attribute"); 738 } 739 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 740 { 741 Attribute _cother = (Attribute)_other; 742 boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1); 743 _diff = _diff && displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 744 _diff = _diff && displayAttributeDiff("required", required, _cother.required, _out, _indent+1); 745 _diff = _diff && displayAttributeDiff("default", _default, _cother._default, _out, _indent+1); 746 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 747 _diff = _diff && displayStringArrayDiff("values", values, _cother.values, _out, _indent+1); 748 return _diff; 749 } 750 } 751 752 /** 753 * The Value entity specifies a single value in the set of allowed values 754 * for an Attribute. The value is specifies as text so that any special 755 * characters may appear. 756 */ 757 public static final String Value = "Value"; 758 759 /** 760 * The Content class contains all entities which represent types of 761 * content which may appear within an Element. Content includes 762 * Objects, Arrays, Strings, and special markers such as Any. 763 */ 764 public interface Content extends org.eigenbase.xom.NodeDef 765 { 766 } 767 768 /** 769 * An Object is a single instance of an Element type. Objects have an 770 * identifying name and a type. The name identifies the object within 771 * its Element and must be unique within the Element. The object is itself 772 * an instance of an Element, and this Element is identified by the type. 773 * The type may be the type name of an Element or the class name of a Class. 774 */ 775 public static class Object extends org.eigenbase.xom.ElementDef implements Content 776 { 777 public Object() 778 { 779 } 780 781 public Object(org.eigenbase.xom.DOMWrapper _def) 782 throws org.eigenbase.xom.XOMException 783 { 784 this._def = _def; 785 try { 786 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 787 name = (String)_parser.getAttribute("name", "String", null, null, true); 788 type = (String)_parser.getAttribute("type", "String", null, null, true); 789 required = (Boolean)_parser.getAttribute("required", "Boolean", "false", null, false); 790 doc = _parser.getString(Doc, false); 791 } catch(org.eigenbase.xom.XOMException _ex) { 792 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 793 } 794 } 795 796 public String name; // required attribute 797 public String type; // required attribute 798 public Boolean required; // attribute default: false 799 public org.eigenbase.xom.DOMWrapper _def; 800 801 public String doc; //optional element 802 803 public String getName() 804 { 805 return "Object"; 806 } 807 808 public void display(java.io.PrintWriter _out, int _indent) 809 { 810 _out.println(getName()); 811 displayAttribute(_out, "name", name, _indent+1); 812 displayAttribute(_out, "type", type, _indent+1); 813 displayAttribute(_out, "required", required, _indent+1); 814 displayString(_out, "doc", doc, _indent+1); 815 } 816 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 817 { 818 _out.beginTag("Object", new org.eigenbase.xom.XMLAttrVector() 819 .add("name", name) 820 .add("type", type) 821 .add("required", required) 822 ); 823 displayXMLString(_out, "Doc", doc); 824 _out.endTag("Object"); 825 } 826 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 827 { 828 Object _cother = (Object)_other; 829 boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1); 830 _diff = _diff && displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 831 _diff = _diff && displayAttributeDiff("required", required, _cother.required, _out, _indent+1); 832 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 833 return _diff; 834 } 835 } 836 837 /** 838 * An Array is a set of multiple instances of Elements. The Array 839 * has an identifying name and a base type. The name identifies the array 840 * within its Element and must be unique within the Element. Each object 841 * in the array is an instance of the Element identified by the type. 842 * The type may be the type name of an Element or the class name of a Class. 843 */ 844 public static class Array extends org.eigenbase.xom.ElementDef implements Content 845 { 846 public Array() 847 { 848 } 849 850 public Array(org.eigenbase.xom.DOMWrapper _def) 851 throws org.eigenbase.xom.XOMException 852 { 853 this._def = _def; 854 try { 855 org.eigenbase.xom.DOMElementParser _parser = new org.eigenbase.xom.DOMElementParser(_def, "", MetaDef.class); 856 name = (String)_parser.getAttribute("name", "String", null, null, true); 857 type = (String)_parser.getAttribute("type", "String", null, null, true); 858 min = (Integer)_parser.getAttribute("min", "Integer", "0", null, false); 859 max = (Integer)_parser.getAttribute("max", "Integer", "0", null, false); 860 doc = _parser.getString(Doc, false); 861 } catch(org.eigenbase.xom.XOMException _ex) { 862 throw new org.eigenbase.xom.XOMException("In " + getName() + ": " + _ex.getMessage()); 863 } 864 } 865 866 public String name; // required attribute 867 public String type; // required attribute 868 public Integer min; // attribute default: 0 869 public Integer max; // attribute default: 0 870 public org.eigenbase.xom.DOMWrapper _def; 871 872 public String doc; //optional element 873 874 public String getName() 875 { 876 return "Array"; 877 } 878 879 public void display(java.io.PrintWriter _out, int _indent) 880 { 881 _out.println(getName()); 882 displayAttribute(_out, "name", name, _indent+1); 883 displayAttribute(_out, "type", type, _indent+1); 884 displayAttribute(_out, "min", min, _indent+1); 885 displayAttribute(_out, "max", max, _indent+1); 886 displayString(_out, "doc", doc, _indent+1); 887 } 888 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 889 { 890 _out.beginTag("Array", new org.eigenbase.xom.XMLAttrVector() 891 .add("name", name) 892 .add("type", type) 893 .add("min", min) 894 .add("max", max) 895 ); 896 displayXMLString(_out, "Doc", doc); 897 _out.endTag("Array"); 898 } 899 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 900 { 901 Array _cother = (Array)_other; 902 boolean _diff = displayAttributeDiff("name", name, _cother.name, _out, _indent+1); 903 _diff = _diff && displayAttributeDiff("type", type, _cother.type, _out, _indent+1); 904 _diff = _diff && displayAttributeDiff("min", min, _cother.min, _out, _indent+1); 905 _diff = _diff && displayAttributeDiff("max", max, _cother.max, _out, _indent+1); 906 _diff = _diff && displayStringDiff("doc", doc, _cother.doc, _out, _indent+1); 907 return _diff; 908 } 909 } 910 911 /** 912 * The Any content is a special marker which allows an Element to 913 * contain any type of data. The data will appear in a single 914 * array called "children". The data will contain all kinds of 915 * node (elements, comments, text) if the content model is 916 * "mixed", otherwise just elements. If an Any marker appears, no other 917 * content may appear in the element. 918 */ 919 public static class Any extends org.eigenbase.xom.ElementDef implements Content 920 { 921 public Any() 922 { 923 } 924 925 public Any(org.eigenbase.xom.DOMWrapper _def) 926 throws org.eigenbase.xom.XOMException 927 { 928 } 929 930 public org.eigenbase.xom.DOMWrapper _def; 931 932 933 public String getName() 934 { 935 return "Any"; 936 } 937 938 public void display(java.io.PrintWriter _out, int _indent) 939 { 940 _out.println(getName()); 941 } 942 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 943 { 944 _out.beginTag("Any", new org.eigenbase.xom.XMLAttrVector() 945 ); 946 _out.endTag("Any"); 947 } 948 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 949 { 950 return true; 951 } 952 } 953 954 /** 955 * The CData content is a special marker which allows an Element to 956 * contain a single CDATA section as its only content, yet still 957 * have attributes. The data will appear in a single String 958 * called "cdata". If a CData marker appears, no other 959 * content may appear in the element. 960 */ 961 public static class CData extends org.eigenbase.xom.ElementDef implements Content 962 { 963 public CData() 964 { 965 } 966 967 public CData(org.eigenbase.xom.DOMWrapper _def) 968 throws org.eigenbase.xom.XOMException 969 { 970 } 971 972 public org.eigenbase.xom.DOMWrapper _def; 973 974 975 public String getName() 976 { 977 return "CData"; 978 } 979 980 public void display(java.io.PrintWriter _out, int _indent) 981 { 982 _out.println(getName()); 983 } 984 public void displayXML(org.eigenbase.xom.XMLOutput _out, int _indent) 985 { 986 _out.beginTag("CData", new org.eigenbase.xom.XMLAttrVector() 987 ); 988 _out.endTag("CData"); 989 } 990 public boolean displayDiff(org.eigenbase.xom.ElementDef _other, java.io.PrintWriter _out, int _indent) 991 { 992 return true; 993 } 994 } 995 996 997}