# 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 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

### 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 Details

### 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 Details

### 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`