Module java.desktop
Package javax.swing.text.html.parser

## Class ContentModel

- java.lang.Object
- - javax.swing.text.html.parser.ContentModel

- All Implemented Interfaces:
    `Serializable`

      public final class ContentModel
      extends Object
      implements Serializable

  A representation of a content model. A content model is basically a restricted BNF expression. It is restricted in the sense that it must be deterministic. This means that you don't have to represent it as a finite state automaton.

  See Annex H on page 556 of the SGML handbook for more information.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `Object` | `content` | The content.
    `ContentModel` | `next` | The next content model (in a ',', '|' or '&' expression).
    `int` | `type` | Type.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ContentModel()` | Creates `ContentModel`
    `ContentModel​(int type, Object content, ContentModel next)` | Create a content model of a particular type.
    `ContentModel​(int type, ContentModel content)` | Create a content model of a particular type.
    `ContentModel​(Element content)` | Create a content model for an element.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `empty()` | Return true if the content model could match an empty input stream.
    `Element` | `first()` | Return the element that must be next.
    `boolean` | `first​(Object token)` | Return true if the token could potentially be the first token in the input stream.
    `void` | `getElements​(Vector<Element> elemVec)` | Update elemVec with the list of elements that are part of the this contentModel.
    `String` | `toString()` | Convert to a string.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### type

          public int type

      Type. Either '*', '?', '+', ',', '|', '&'.

    - #### content

          public Object content

      The content. Either an Element or a ContentModel.

    - #### next

          public ContentModel next

      The next content model (in a ',', '|' or '&' expression).

  - ### Constructor Detail

    - #### ContentModel

          public ContentModel()

      Creates `ContentModel`

    - #### ContentModel

          public ContentModel​(Element content)

      Create a content model for an element.
      Parameters:
        `content` - the element

    - #### ContentModel

          public ContentModel​(int type,
                              ContentModel content)

      Create a content model of a particular type.
      Parameters:
        `type` - the type
        `content` - the content

    - #### ContentModel

          public ContentModel​(int type,
                              Object content,
                              ContentModel next)

      Create a content model of a particular type.
      Parameters:
        `type` - the type
        `content` - the content
        `next` - the next content model

  - ### Method Detail

    - #### empty

          public boolean empty()

      Return true if the content model could match an empty input stream.
      Returns:
        `true` if the content model could match an empty input stream

    - #### getElements

          public void getElements​(Vector<Element> elemVec)

      Update elemVec with the list of elements that are part of the this contentModel.
      Parameters:
        `elemVec` - the list of elements

    - #### first

          public boolean first​(Object token)

      Return true if the token could potentially be the first token in the input stream.
      Parameters:
        `token` - the token
      Returns:
        `true` if the token could potentially be the first token in the input stream

    - #### first

          public Element first()

      Return the element that must be next.
      Returns:
        the element that must be next

    - #### toString

          public String toString()

      Convert to a string.
      Overrides:
        `toString` in class `Object`
      Returns:
        the string representation of this `ContentModel`