private final TypeMirror type;
public ResourceEntityParameter(ResourceMethod method, ParameterDeclaration delegate) {
super(delegate);
TypeMirror typeMirror;
TypeHint hintInfo = getAnnotation(TypeHint.class);
if (hintInfo != null) {
try {
Class hint = hintInfo.value();
AnnotationProcessorEnvironment env = net.sf.jelly.apt.Context.getCurrentEnvironment();
if (TypeHint.NO_CONTENT.class.equals(hint)) {
typeMirror = env.getTypeUtils().getVoidType();
}
else {
String hintName = hint.getName();
if (TypeHint.NONE.class.equals(hint)) {
hintName = hintInfo.qualifiedName();
}
if (!"##NONE".equals(hintName)) {
TypeDeclaration type = env.getTypeDeclaration(hintName);
typeMirror = TypeMirrorDecorator.decorate(env.getTypeUtils().getDeclaredType(type));