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