# Class Element

java.lang.Object
javax.swing.text.html.parser.Element

All Implemented Interfaces:
  `Serializable, DTDConstants`

public final class Element extends Object implements DTDConstants, Serializable
An element as described in a DTD using the ELEMENT construct. This is essential the description of a tag. It describes the type, content model, attributes, attribute types etc. It is used to correctly parse a document by the Parser.

See Also:
  - `DTD`
  - `AttributeList`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `AttributeList`
  `atts`
  The attributes
  `ContentModel`
  `content`
  The content model
  `Object`
  `data`
  A field to store user data.
  `BitSet`
  `exclusions`
  The set of elements that must not occur inside the element
  `BitSet`
  `inclusions`
  The set of elements that can occur inside the element
  `int`
  `index`
  The element index
  `String`
  `name`
  The name of the element
  `boolean`
  `oEnd`
  `true` if the end tag can be omitted
  `boolean`
  `oStart`
  `true` if the start tag can be omitted
  `int`
  `type`
  The element type

  ### Fields declared in interface DTDConstants

  `ANY, CDATA, CONREF, CURRENT, DEFAULT, EMPTY, ENDTAG, ENTITIES, ENTITY, FIXED, GENERAL, ID, IDREF, IDREFS, IMPLIED, MD, MODEL, MS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, PARAMETER, PI, PUBLIC, RCDATA, REQUIRED, SDATA, STARTTAG, SYSTEM`
  Modifier and Type
  Field
  Description
  `static final int`
  `ANY`
  The DTD constant corresponds to ANY
  `static final int`
  `CDATA`
  The DTD constant corresponds to CDATA
  `static final int`
  `CONREF`
  The DTD constant corresponds to CONREF
  `static final int`
  `CURRENT`
  The DTD constant corresponds to CURRENT
  `static final int`
  `DEFAULT`
  The DTD constant corresponds to DEFAULT
  `static final int`
  `EMPTY`
  The DTD constant corresponds to EMPTY
  `static final int`
  `ENDTAG`
  The DTD constant corresponds to ENDTAG
  `static final int`
  `ENTITIES`
  The DTD constant corresponds to ENTITIES
  `static final int`
  `ENTITY`
  The DTD constant corresponds to ENTITY
  `static final int`
  `FIXED`
  The DTD constant corresponds to FIXED
  `static final int`
  `GENERAL`
  The DTD constant corresponds to GENERAL
  `static final int`
  `ID`
  The DTD constant corresponds to ID
  `static final int`
  `IDREF`
  The DTD constant corresponds to IDREF
  `static final int`
  `IDREFS`
  The DTD constant corresponds to IDREFS
  `static final int`
  `IMPLIED`
  The DTD constant corresponds to IMPLIED
  `static final int`
  `MD`
  The DTD constant corresponds to MD
  `static final int`
  `MODEL`
  The DTD constant corresponds to MODEL
  `static final int`
  `MS`
  The DTD constant corresponds to MS
  `static final int`
  `NAME`
  The DTD constant corresponds to NAME
  `static final int`
  `NAMES`
  The DTD constant corresponds to NAMES
  `static final int`
  `NMTOKEN`
  The DTD constant corresponds to NMTOKEN
  `static final int`
  `NMTOKENS`
  The DTD constant corresponds to NMTOKENS
  `static final int`
  `NOTATION`
  The DTD constant corresponds to NOTATION
  `static final int`
  `NUMBER`
  The DTD constant corresponds to NUMBER
  `static final int`
  `NUMBERS`
  The DTD constant corresponds to NUMBERS
  `static final int`
  `NUTOKEN`
  The DTD constant corresponds to NUTOKEN
  `static final int`
  `NUTOKENS`
  The DTD constant corresponds to NUTOKENS
  `static final int`
  `PARAMETER`
  The DTD constant corresponds to PARAMETER
  `static final int`
  `PI`
  The DTD constant corresponds to PI
  `static final int`
  `PUBLIC`
  The DTD constant corresponds to PUBLIC
  `static final int`
  `RCDATA`
  The DTD constant corresponds to RCDATA
  `static final int`
  `REQUIRED`
  The DTD constant corresponds to REQUIRED
  `static final int`
  `SDATA`
  The DTD constant corresponds to SDATA
  `static final int`
  `STARTTAG`
  The DTD constant corresponds to STARTTAG
  `static final int`
  `SYSTEM`
  The DTD constant corresponds to SYSTEM

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AttributeList`
  `getAttribute(String name)`
  Get an attribute by name.
  `AttributeList`
  `getAttributeByValue(String value)`
  Get an attribute by value.
  `AttributeList`
  `getAttributes()`
  Get the attributes.
  `ContentModel`
  `getContent()`
  Get content model
  `int`
  `getIndex()`
  Get index.
  `String`
  `getName()`
  Get the name of the element.
  `int`
  `getType()`
  Get type.
  `boolean`
  `isEmpty()`
  Check if empty
  `static int`
  `name2type(String nm)`
  Converts `nm` to type.
  `boolean`
  `omitEnd()`
  Return true if the end tag can be omitted.
  `boolean`
  `omitStart()`
  Return true if the start tag can be omitted.
  `String`
  `toString()`
  Convert to a string.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### index

    public int index
    The element index

  - ### name

    public String name
    The name of the element

  - ### oStart

    public boolean oStart
    `true` if the start tag can be omitted

  - ### oEnd

    public boolean oEnd
    `true` if the end tag can be omitted

  - ### inclusions

    public BitSet inclusions
    The set of elements that can occur inside the element

  - ### exclusions

    public BitSet exclusions
    The set of elements that must not occur inside the element

  - ### type

    public int type
    The element type

  - ### content

    public ContentModel content
    The content model

  - ### atts

    public AttributeList atts
    The attributes

  - ### data

    public Object data
    A field to store user data. Mostly used to store style sheets.

- ## Method Details

  - ### getName

    public String getName()
    Get the name of the element.
    Returns:
      the name of the element

  - ### omitStart

    public boolean omitStart()
    Return true if the start tag can be omitted.
    Returns:
      `true` if the start tag can be omitted

  - ### omitEnd

    public boolean omitEnd()
    Return true if the end tag can be omitted.
    Returns:
      `true` if the end tag can be omitted

  - ### getType

    public int getType()
    Get type.
    Returns:
      the type of the element

  - ### getContent

    public ContentModel getContent()
    Get content model
    Returns:
      the content model

  - ### getAttributes

    public AttributeList getAttributes()
    Get the attributes.
    Returns:
      the `AttributeList` specifying the element

  - ### getIndex

    public int getIndex()
    Get index.
    Returns:
      the element index

  - ### isEmpty

    public boolean isEmpty()
    Check if empty
    Returns:
      true if the current element is empty

  - ### toString

    public String toString()
    Convert to a string.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation for the given `Element` instance

  - ### getAttribute

    public AttributeList getAttribute(String name)
    Get an attribute by name.
    Parameters:
      `name` - the attribute name
    Returns:
      the `AttributeList` for the given `name`

  - ### getAttributeByValue

    public AttributeList getAttributeByValue(String value)
    Get an attribute by value.
    Parameters:
      `value` - the string representation of value
    Returns:
      the `AttributeList` for the given `value`

  - ### name2type

    public static int name2type(String nm)
    Converts `nm` to type. Returns appropriate DTDConstants if the `nm` is equal to CDATA, RCDATA, EMPTY or ANY, 0 otherwise.
    Parameters:
      `nm` - a name
    Returns:
      appropriate DTDConstants if the `nm` is equal to CDATA, RCDATA, EMPTY or ANY, 0 otherwise.