Class 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.

See Also:
Serialized Form

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

All Methods Instance Methods Concrete Methods
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