Package org.eigenbase.xom

# Class MetaDef.Class

java.lang.Object
org.eigenbase.xom.ElementDef
org.eigenbase.xom.MetaDef.Class

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `MetaDef.Definition`, `MetaDef.FullDefinition`, `NodeDef`

Enclosing class:
  `MetaDef`

public static class MetaDef.Class extends ElementDef implements MetaDef.FullDefinition
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.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`String`
`_class`
`static final String[]`
`_contentModel_values`
Allowable values for `contentModel`.
`DOMWrapper`
`_def`
`MetaDef.Any`
`any`
`MetaDef.Attribute[]`
`attributes`
This array defines all attributes to appear within this class or element.
`MetaDef.CData`
`cdata`
`String`
`code`
This element allows arbitrary Java Code to be attached to any class or element.
`MetaDef.Content[]`
`content`
This array defines all content (objects and arrays) to appear within this class or element.
`String`
`contentModel`
`String`
`doc`
Doc tags allow documentation to be added to any definition.
`Boolean`
`keepDef`
`String`
`superclass`

## Constructor Summary

Constructors
Constructor
Description
`Class()`
`Class(DOMWrapper _def)`

## Method Summary

Modifier and Type
Method
Description
`void`
`display(PrintWriter _out, int _indent)`
Outputs this node to any PrintWriter, in a formatted fashion with automatic indenting.
`boolean`
`displayDiff(ElementDef _other, PrintWriter _out, int _indent)`
The displayDiff function compares this element definition against another, compiling a message containing all diffs.
`void`
`displayXML(XMLOutput _out, int _indent)`
Outputs this element definition in XML to any XMLOutput.
`String`
`getName()`
Returns the name of this node's tag.

### Methods inherited from class org.eigenbase.xom.ElementDef

`addChild, addChildren, clone, constructElement, constructElement, deepCopy, diff, displayAttribute, displayAttributeDiff, displayElement, displayElementArray, displayElementArrayDiff, displayElementDiff, displayIndent, displayString, displayStringArray, displayStringArrayDiff, displayStringDiff, displayXML, displayXMLElement, displayXMLElementArray, displayXMLString, displayXMLStringArray, equals, getChildren, getElementChildren, getElementClass, getLocation, getMixedChildren, getMixedChildren_new, getText, getType, getWrapper, hashCode, toCompactXML, toString, toXML, verifyEqual`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eigenbase.xom.NodeDef

`getChildren, getLocation, getText, getType, getWrapper`

## Field Details

### _contentModel_values

public static final String[] _contentModel_values
Allowable values for `contentModel`.

### contentModel

public String contentModel

### keepDef

public Boolean keepDef

### _class

public String _class

### superclass

public String superclass

### _def

public DOMWrapper _def

### doc

public String doc
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.

### attributes

public MetaDef.Attribute[] attributes
This array defines all attributes to appear within this class or element.

### content

public MetaDef.Content[] content
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.

### any

public MetaDef.Any any

### cdata

public MetaDef.CData cdata

### code

public String code
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.

## Constructor Details

### Class

public Class()

### Class

public Class(DOMWrapper _def) throws XOMException

Throws:
  `XOMException`

## Method Details

### getName

public String getName()
Description copied from interface: `NodeDef`
Returns the name of this node's tag.

Specified by:
  `getName` in interface `NodeDef`
Overrides:
  `getName` in class `ElementDef`

### display

public void display(PrintWriter _out, int _indent)
Description copied from interface: `NodeDef`
Outputs this node to any PrintWriter, in a formatted fashion with automatic indenting.

Specified by:
  `display` in interface `NodeDef`
Parameters:
  `_out` - the PrintWriter to which to write this NodeDef.
  `_indent` - the indentation level for the printout.

### displayXML

public void displayXML(XMLOutput _out, int _indent)
Description copied from interface: `NodeDef`
Outputs this element definition in XML to any XMLOutput.

Specified by:
  `displayXML` in interface `NodeDef`
Overrides:
  `displayXML` in class `ElementDef`
Parameters:
  `_out` - the XMLOutput class to display the XML

### displayDiff

public boolean displayDiff(ElementDef _other, PrintWriter _out, int _indent)
Description copied from class: `ElementDef`
The displayDiff function compares this element definition against another, compiling a message containing all diffs. It is used internally by the equals(), diff(), and verifyEquals() functions.

Overrides:
  `displayDiff` in class `ElementDef`
Parameters:
  `_other` - the ElementDef to which to compare this element.
  `_out` - a PrintWriter to which to display any discovered differences, or null if just doing an equality check (and no diff report is needed).
  `_indent` - the current indentation level (used for nice display of diffs).
Returns:
  true if this and other match exactly, false if not.