/* --------------------------------------------------------------------------
* XmlDisplayer.java
* --------------------------------------------------------------------------
*
* Producer : com.parse2.aparse.Parser 0.5
* Produced : Sun Dec 09 19:28:03 GMT 2007
*
* --------------------------------------------------------------------------
*/
import java.util.ArrayList;
public class XmlDisplayer implements Visitor
{
public void visit(Rule rule)
{
rule.visit(this);
}
public Object visit_Clock(Parser.Clock rule)
{
System.out.println("<Clock>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Clock>");
return Boolean.FALSE;
}
public Object visit_Hours(Parser.Hours rule)
{
System.out.println("<Hours>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Hours>");
return Boolean.FALSE;
}
public Object visit_Minutes(Parser.Minutes rule)
{
System.out.println("<Minutes>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Minutes>");
return Boolean.FALSE;
}
public Object visit_Seconds(Parser.Seconds rule)
{
System.out.println("<Seconds>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Seconds>");
return Boolean.FALSE;
}
public Object visit_Separator(Parser.Separator rule)
{
System.out.println("<Separator>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Separator>");
return Boolean.FALSE;
}
public Object visit_StringValue(Parser.StringValue value)
{
System.out.print(value.spelling);
return Boolean.TRUE;
}
public Object visit_NumericValue(Parser.NumericValue value)
{
System.out.print(value.spelling);
return Boolean.TRUE;
}
private Boolean visitRules(ArrayList<Rule> rules)
{
Boolean terminal = Boolean.FALSE;
for (Rule rule : rules)
terminal = (Boolean)rule.visit(this);
return terminal;
}
}
/* --------------------------------------------------------------------------
* eof
* --------------------------------------------------------------------------
*/