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 Return extends JavaLanguageElement implements Statement {
013    
014            public Return(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                    Expression = (Expression) selectSingleElement(Expression.class, "EXPR");
020    
021            }
022    
023            public void toDom(Element holder) {
024                    super.toDom(holder);
025    
026                    // Serialize attributes
027                    setElement(holder, "Expression", Expression);
028            }
029    
030            // Attributes
031            private Expression Expression;
032    
033            // Accessors
034            public Expression getExpression() {
035                    return Expression;
036            }
037    
038            protected void acceptChildren(Visitor visitor) {
039                    super.acceptChildren(visitor);
040                    // Visiting non-text attributes
041                    if (Expression instanceof Visitable) {
042                            ((Visitable) Expression).accept(visitor);
043                    }
044            }
045    
046    }