package com.webcohesion.enunciate.modules.jackson1.javac; import com.webcohesion.enunciate.javac.decorations.DecoratedProcessingEnvironment; import com.webcohesion.enunciate.javac.decorations.type.DecoratedDeclaredType; import javax.lang.model.element.Element; import javax.lang.model.type.DeclaredType; import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; import javax.lang.model.type.TypeVisitor; import java.util.Collections; import java.util.List; /** * @author Ryan Heaton */ public class ParameterizedJackson1DeclaredType extends DecoratedDeclaredType { private final DeclaredType root; private final DecoratedProcessingEnvironment env; private final ParameterizedJackson1TypeElement element; public ParameterizedJackson1DeclaredType(DeclaredType root, DecoratedProcessingEnvironment env) { super(root, env); this.root = root; this.env = env; this.element = new ParameterizedJackson1TypeElement(this.root, this.env); } @Override public Element asElement() { return this.element; } @Override public TypeMirror getEnclosingType() { return root.getEnclosingType(); } @Override public List<? extends TypeMirror> getTypeArguments() { return Collections.emptyList(); } @Override public TypeKind getKind() { return TypeKind.DECLARED; } @Override public <R, P> R accept(TypeVisitor<R, P> v, P p) { return v.visitDeclared(this, p); } }