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 TypeBound extends JavaLanguageElement { 013 014 public TypeBound( 015 NodeData xData, 016 Class<?> context, 017 Scan scan, 018 RepositoryLanguage language, 019 Object environment) throws MesopotamiaException { 020 021 super(xData, context, scan, language, environment); 022 023 // Select attributes 024 Type = (Identifier) selectSingleElement(Identifier.class, "#org.mesopotamia.lang.java.ClassOrInterfaceType"); 025 026 } 027 028 public void toDom(Element holder) { 029 super.toDom(holder); 030 031 // Serialize attributes 032 setElement(holder, "Type", Type); 033 } 034 035 // Attributes 036 private Identifier Type; 037 038 // Accessors 039 public Identifier getBoundType() { 040 return Type; 041 } 042 043 protected void acceptChildren(Visitor visitor) { 044 super.acceptChildren(visitor); 045 // Visiting non-text attributes 046 if (Type instanceof Visitable) { 047 ((Visitable) Type).accept(visitor); 048 } 049 } 050 051 }