com.caucho.relaxng.program
Class InterleaveItem

java.lang.Object
  extended by com.caucho.relaxng.program.Item
      extended by com.caucho.relaxng.program.InterleaveItem

public class InterleaveItem
extends Item

Generates programs from patterns.


Field Summary
protected static L10N L
           
 
Fields inherited from class com.caucho.relaxng.program.Item
log
 
Constructor Summary
InterleaveItem()
           
 
Method Summary
 void addItem(Item item)
           
 boolean allowAttribute(QName name, java.lang.String value)
          Returns true if the attribute is allowed.
 boolean allowEmpty()
          Only allow empty if all allow empty.
 boolean allowsElement(QName name)
          Returns true if the element is allowed somewhere in the item.
 Item attributeEnd()
          Returns true if the item can match empty.
 void attributeSet(java.util.HashSet<QName> set)
          Returns the first set, the set of attribute names possible.
static Item create(Item left, Item right)
           
 boolean equals(java.lang.Object o)
          Returns true if the object is an empty item.
 void firstSet(java.util.HashSet<QName> set)
          Returns the first set, the set of element names possible.
 java.util.Iterator<Item> getItemsIterator()
          Return all possible child items or null
 Item getMin()
           
 Item groupContinuation(Item cont)
          Adds a group continuation.
 int hashCode()
          Returns the hash code for the empty item.
 Item inElementContinuation(Item cont)
          Adds an inElement continuation.
 Item interleaveContinuation(Item cont)
          Interleaves a continuation.
 void requiredFirstSet(java.util.HashSet<QName> set)
          Returns the first set, the set of element names possible.
 Item setAttribute(QName name, java.lang.String value)
          Sets an attribute.
 Item startElement(QName name)
          Returns the next item on the match.
 Item text(java.lang.CharSequence string)
          Returns the next item on some text
 java.lang.String toString()
           
 java.lang.String toSyntaxDescription(int depth)
          Returns the pretty printed syntax.
 
Methods inherited from class com.caucho.relaxng.program.Item
addSyntaxNewline, emptyItemIterator, endElement, error, isSimpleSyntax, itemIterator
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

L

protected static final L10N L
Constructor Detail

InterleaveItem

public InterleaveItem()
Method Detail

create

public static Item create(Item left,
                          Item right)

addItem

public void addItem(Item item)

getMin

public Item getMin()

firstSet

public void firstSet(java.util.HashSet<QName> set)
Returns the first set, the set of element names possible.

Overrides:
firstSet in class Item

requiredFirstSet

public void requiredFirstSet(java.util.HashSet<QName> set)
Returns the first set, the set of element names possible.

Overrides:
requiredFirstSet in class Item

allowEmpty

public boolean allowEmpty()
Only allow empty if all allow empty.

Overrides:
allowEmpty in class Item

interleaveContinuation

public Item interleaveContinuation(Item cont)
Interleaves a continuation.

Overrides:
interleaveContinuation in class Item

inElementContinuation

public Item inElementContinuation(Item cont)
Adds an inElement continuation.

Overrides:
inElementContinuation in class Item

groupContinuation

public Item groupContinuation(Item cont)
Adds a group continuation.

Overrides:
groupContinuation in class Item

getItemsIterator

public java.util.Iterator<Item> getItemsIterator()
Return all possible child items or null

Overrides:
getItemsIterator in class Item

startElement

public Item startElement(QName name)
                  throws RelaxException
Returns the next item on the match.

Overrides:
startElement in class Item
Parameters:
name - the name of the element
Returns:
the program for handling the element
Throws:
RelaxException

allowAttribute

public boolean allowAttribute(QName name,
                              java.lang.String value)
                       throws RelaxException
Returns true if the attribute is allowed.

Overrides:
allowAttribute in class Item
Parameters:
name - the name of the attribute
value - the value of the attribute
Returns:
true if the attribute is allowed
Throws:
RelaxException

attributeSet

public void attributeSet(java.util.HashSet<QName> set)
Returns the first set, the set of attribute names possible.

Overrides:
attributeSet in class Item

setAttribute

public Item setAttribute(QName name,
                         java.lang.String value)
                  throws RelaxException
Sets an attribute.

Overrides:
setAttribute in class Item
Parameters:
name - the name of the attribute
value - the value of the attribute
Returns:
the program for handling the element
Throws:
RelaxException

attributeEnd

public Item attributeEnd()
Returns true if the item can match empty.

Overrides:
attributeEnd in class Item

text

public Item text(java.lang.CharSequence string)
          throws RelaxException
Returns the next item on some text

Overrides:
text in class Item
Throws:
RelaxException

allowsElement

public boolean allowsElement(QName name)
Returns true if the element is allowed somewhere in the item. allowsElement is used for error messages to give more information in cases of order dependency.

Overrides:
allowsElement in class Item
Parameters:
name - the name of the element
Returns:
true if the element is allowed somewhere

toSyntaxDescription

public java.lang.String toSyntaxDescription(int depth)
Returns the pretty printed syntax.

Overrides:
toSyntaxDescription in class Item

hashCode

public int hashCode()
Returns the hash code for the empty item.

Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Returns true if the object is an empty item.

Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object