Package org.eigenbase.xom

# Class MetaDef.Attribute

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `NodeDef`

Enclosing class:
  `MetaDef`

public static class MetaDef.Attribute extends ElementDef
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.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`DOMWrapper`
`_def`
`String`
`_default`
`String`
`doc`
`String`
`name`
`Boolean`
`required`
`String`
`type`
`String[]`
`values`

## Constructor Summary

Constructors
Constructor
Description
`Attribute()`
`Attribute(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`

## Field Details

### name

public String name

### type

public String type

### required

public Boolean required

### _default

public String _default

### _def

public DOMWrapper _def

### doc

public String doc

### values

public String[] values

## Constructor Details

### Attribute

public Attribute()

### Attribute

public Attribute(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.

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.