package sharpen.xobotos.api.templates; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamOmitField; import org.eclipse.jdt.core.dom.AnonymousClassDeclaration; import org.eclipse.jdt.core.dom.EnumDeclaration; import org.eclipse.jdt.core.dom.FieldDeclaration; import org.eclipse.jdt.core.dom.MethodDeclaration; import org.eclipse.jdt.core.dom.TypeDeclaration; import sharpen.core.csharp.ast.CSAnonymousClass; @XStreamAlias(value = "anonymous-class") public class AnonymousClassTemplate extends AbstractMemberTemplate<AnonymousClassDeclaration, CSAnonymousClass> implements IMemberContainer { @XStreamOmitField public final static AnonymousClassTemplate DEFAULT = new AnonymousClassTemplate(); @XStreamAlias("type") private TypeTemplate _type; public TypeTemplate getTypeTemplate() { return _type != null ? _type : TypeTemplate.DEFAULT; } @Override public TypeTemplate findTypeTemplate(TypeDeclaration node) { return getTypeTemplate().findTypeTemplate(node); } @Override public EnumTemplate findEnumTemplate(EnumDeclaration node) { return getTypeTemplate().findEnumTemplate(node); } @Override public FieldTemplate findFieldTemplate(FieldDeclaration node) { return getTypeTemplate().findFieldTemplate(node); } @Override public AbstractMethodTemplate<?> findMethodTemplate(MethodDeclaration node) { return getTypeTemplate().findMethodTemplate(node); } @Override public AnonymousClassTemplate findAnonymousClassTemplate(AnonymousClassDeclaration node) { return getTypeTemplate().findAnonymousClassTemplate(node); } }