com.caucho.relaxng.program
Class ChoiceItem

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

public class ChoiceItem
extends Item

Generates programs from patterns.


Field Summary
protected static L10N L
           
 
Fields inherited from class com.caucho.relaxng.program.Item
log
 
Constructor Summary
ChoiceItem()
           
 
Method Summary
 void addItem(Item item)
           
 boolean allowAttribute(QName name, java.lang.String value)
          Returns true if the attribute is allowed.
 boolean allowEmpty()
          Allows empty if any item allows 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)
           
 Item endElement()
          Returns the next item when the element closes
 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.
protected  boolean isSimpleSyntax()
          Returns true for an element with simple syntax.
 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 data)
          Returns the next item on the match.
 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, error, 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

ChoiceItem

public ChoiceItem()
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()
Allows empty if any item allows 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

attributeSet

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

Overrides:
attributeSet in class Item

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

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 data)
          throws RelaxException
Returns the next item on the match.

Overrides:
text in class Item
Throws:
RelaxException

endElement

public Item endElement()
                throws RelaxException
Returns the next item when the element closes

Overrides:
endElement in class Item
Throws:
RelaxException

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

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

isSimpleSyntax

protected boolean isSimpleSyntax()
Returns true for an element with simple syntax.

Overrides:
isSimpleSyntax in class Item

toString

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