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