001 package org.mesopotamia.lang.java; 002 003 import org.mesopotamia.MesopotamiaException; 004 import org.mesopotamia.NodeData; 005 import org.mesopotamia.RepositoryLanguage; 006 import org.mesopotamia.Scan; 007 import org.w3c.dom.Element; 008 009 import biz.hammurapi.util.Visitable; 010 import biz.hammurapi.util.Visitor; 011 012 public class ForEachClause extends JavaLanguageElement { 013 014 public ForEachClause(NodeData xData, Class<?> context, Scan scan, 015 RepositoryLanguage language, Object environment) throws MesopotamiaException { 016 super(xData, context, scan, language, environment); 017 018 // Select attributes 019 ParameterDefinition = (ParameterDefinition) selectSingleElement(ParameterDefinition.class, "PARAMETER_DEF"); 020 Expression = selectSingleElement(Expression.class, "EXPR"); 021 022 } 023 024 public void toDom(Element holder) { 025 super.toDom(holder); 026 027 // Serialize attributes 028 setElement(holder, "ParameterDefinition", ParameterDefinition); 029 setElement(holder, "Expression", Expression); 030 } 031 032 // Attributes 033 private ParameterDefinition ParameterDefinition; 034 035 private Expression Expression; 036 037 // Accessors 038 public ParameterDefinition getParameterDefinition() { 039 return ParameterDefinition; 040 } 041 042 public Expression getExpression() { 043 return Expression; 044 } 045 046 protected void acceptChildren(Visitor visitor) { 047 super.acceptChildren(visitor); 048 // Visiting non-text attributes 049 if (ParameterDefinition instanceof Visitable) { 050 ((Visitable) ParameterDefinition).accept(visitor); 051 } 052 if (Expression instanceof Visitable) { 053 ((Visitable) Expression).accept(visitor); 054 } 055 } 056 057 }