Package org.eigenbase.xom

## Class MetaDef.Attribute

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

All Implemented Interfaces:
  `java.io.Serializable`, `java.lang.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
`DOMWrapper` `_def`
`java.lang.String` `_default`
`java.lang.String` `doc`
`java.lang.String` `name`
`java.lang.Boolean` `required`
`java.lang.String` `type`
`java.lang.String[]` `values`

### Constructor Summary

Constructors
`Attribute()`
`Attribute​(DOMWrapper _def)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `display​(java.io.PrintWriter _out, int _indent)` Outputs this node to any PrintWriter, in a formatted fashion with automatic indenting.
`boolean` `displayDiff​(ElementDef _other, java.io.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.
`java.lang.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 Detail

#### name

    public java.lang.String name

#### type

    public java.lang.String type

#### required

    public java.lang.Boolean required

#### _default

    public java.lang.String _default

#### _def

    public DOMWrapper _def

#### doc

    public java.lang.String doc

#### values

    public java.lang.String[] values

### Constructor Detail

#### Attribute

    public Attribute()

#### Attribute

    public Attribute​(DOMWrapper _def)
              throws XOMException

Throws:
  `XOMException`

### Method Detail

#### getName

    public java.lang.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​(java.io.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,
                               java.io.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.