com.sun.tools.jxc.model.nav
Class ApNavigator

java.lang.Object
  extended by com.sun.tools.jxc.model.nav.ApNavigator
All Implemented Interfaces:
Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

public class ApNavigator
extends Object
implements Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

Navigator implementation for annotation processing. TODO: check the spec on how generics are supposed to be handled

Author:
Kohsuke Kawaguchi (kk@kohsuke.org)

Field Summary
 
Fields inherited from interface com.sun.xml.bind.v2.model.nav.Navigator
REFLECTION
 
Constructor Summary
ApNavigator(javax.annotation.processing.ProcessingEnvironment env)
           
 
Method Summary
 javax.lang.model.element.TypeElement asDecl(Class c)
           
 javax.lang.model.element.TypeElement asDecl(javax.lang.model.type.TypeMirror m)
           
 javax.lang.model.type.TypeMirror erasure(javax.lang.model.type.TypeMirror t)
           
 javax.lang.model.element.TypeElement findClass(String className, javax.lang.model.element.TypeElement referencePoint)
           
 javax.lang.model.type.TypeMirror getBaseClass(javax.lang.model.type.TypeMirror type, javax.lang.model.element.TypeElement sup)
           
 Location getClassLocation(javax.lang.model.element.TypeElement typeElement)
           
 String getClassName(javax.lang.model.element.TypeElement t)
           
 String getClassShortName(javax.lang.model.element.TypeElement t)
           
 javax.lang.model.type.TypeMirror getComponentType(javax.lang.model.type.TypeMirror t)
           
 javax.lang.model.element.VariableElement getDeclaredField(javax.lang.model.element.TypeElement clazz, String fieldName)
           
 Collection<javax.lang.model.element.VariableElement> getDeclaredFields(javax.lang.model.element.TypeElement typeElement)
           
 Collection<javax.lang.model.element.ExecutableElement> getDeclaredMethods(javax.lang.model.element.TypeElement typeElement)
           
 javax.lang.model.element.TypeElement getDeclaringClassForField(javax.lang.model.element.VariableElement f)
           
 javax.lang.model.element.TypeElement getDeclaringClassForMethod(javax.lang.model.element.ExecutableElement m)
           
 javax.lang.model.element.VariableElement[] getEnumConstants(javax.lang.model.element.TypeElement clazz)
           
 Location getFieldLocation(javax.lang.model.element.VariableElement variableElement)
           
 String getFieldName(javax.lang.model.element.VariableElement f)
           
 javax.lang.model.type.TypeMirror getFieldType(javax.lang.model.element.VariableElement f)
           
 Location getMethodLocation(javax.lang.model.element.ExecutableElement executableElement)
           
 String getMethodName(javax.lang.model.element.ExecutableElement m)
           
 javax.lang.model.type.TypeMirror[] getMethodParameters(javax.lang.model.element.ExecutableElement m)
           
 String getPackageName(javax.lang.model.element.TypeElement clazz)
           
 javax.lang.model.type.TypeMirror getPrimitive(Class primitiveType)
           
 javax.lang.model.type.TypeMirror getReturnType(javax.lang.model.element.ExecutableElement m)
           
 javax.lang.model.element.TypeElement getSuperClass(javax.lang.model.element.TypeElement typeElement)
           
 javax.lang.model.type.TypeMirror getTypeArgument(javax.lang.model.type.TypeMirror typeMirror, int i)
           
 String getTypeName(javax.lang.model.type.TypeMirror typeMirror)
           
 javax.lang.model.type.TypeMirror getVoidType()
           
 boolean hasDefaultConstructor(javax.lang.model.element.TypeElement t)
           
 boolean isAbstract(javax.lang.model.element.TypeElement clazz)
           
 boolean isArray(javax.lang.model.type.TypeMirror type)
           
 boolean isArrayButNotByteArray(javax.lang.model.type.TypeMirror t)
           
 boolean isBridgeMethod(javax.lang.model.element.ExecutableElement method)
           
 boolean isEnum(javax.lang.model.element.TypeElement t)
           
 boolean isFinal(javax.lang.model.element.TypeElement clazz)
           
 boolean isFinalMethod(javax.lang.model.element.ExecutableElement m)
           
 boolean isInnerClass(javax.lang.model.element.TypeElement clazz)
           
 boolean isInterface(javax.lang.model.element.TypeElement clazz)
           
 boolean isOverriding(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement base)
           
 boolean isParameterizedType(javax.lang.model.type.TypeMirror typeMirror)
           
 boolean isPrimitive(javax.lang.model.type.TypeMirror t)
           
 boolean isPublicField(javax.lang.model.element.VariableElement f)
           
 boolean isPublicMethod(javax.lang.model.element.ExecutableElement m)
           
 boolean isSameType(javax.lang.model.type.TypeMirror t1, javax.lang.model.type.TypeMirror t2)
           
 boolean isStaticField(javax.lang.model.element.VariableElement f)
           
 boolean isStaticMethod(javax.lang.model.element.ExecutableElement m)
           
 boolean isSubClassOf(javax.lang.model.type.TypeMirror sub, javax.lang.model.type.TypeMirror sup)
           
 boolean isTransient(javax.lang.model.element.VariableElement f)
           
 javax.lang.model.type.TypeMirror ref(Class c)
           
 javax.lang.model.type.TypeMirror use(javax.lang.model.element.TypeElement t)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApNavigator

public ApNavigator(javax.annotation.processing.ProcessingEnvironment env)
Method Detail

getSuperClass

public javax.lang.model.element.TypeElement getSuperClass(javax.lang.model.element.TypeElement typeElement)
Specified by:
getSuperClass in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getBaseClass

public javax.lang.model.type.TypeMirror getBaseClass(javax.lang.model.type.TypeMirror type,
                                                     javax.lang.model.element.TypeElement sup)
Specified by:
getBaseClass in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getClassName

public String getClassName(javax.lang.model.element.TypeElement t)
Specified by:
getClassName in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getTypeName

public String getTypeName(javax.lang.model.type.TypeMirror typeMirror)
Specified by:
getTypeName in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getClassShortName

public String getClassShortName(javax.lang.model.element.TypeElement t)
Specified by:
getClassShortName in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getDeclaredFields

public Collection<javax.lang.model.element.VariableElement> getDeclaredFields(javax.lang.model.element.TypeElement typeElement)
Specified by:
getDeclaredFields in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getDeclaredField

public javax.lang.model.element.VariableElement getDeclaredField(javax.lang.model.element.TypeElement clazz,
                                                                 String fieldName)
Specified by:
getDeclaredField in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getDeclaredMethods

public Collection<javax.lang.model.element.ExecutableElement> getDeclaredMethods(javax.lang.model.element.TypeElement typeElement)
Specified by:
getDeclaredMethods in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getDeclaringClassForField

public javax.lang.model.element.TypeElement getDeclaringClassForField(javax.lang.model.element.VariableElement f)
Specified by:
getDeclaringClassForField in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getDeclaringClassForMethod

public javax.lang.model.element.TypeElement getDeclaringClassForMethod(javax.lang.model.element.ExecutableElement m)
Specified by:
getDeclaringClassForMethod in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getFieldType

public javax.lang.model.type.TypeMirror getFieldType(javax.lang.model.element.VariableElement f)
Specified by:
getFieldType in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getFieldName

public String getFieldName(javax.lang.model.element.VariableElement f)
Specified by:
getFieldName in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getMethodName

public String getMethodName(javax.lang.model.element.ExecutableElement m)
Specified by:
getMethodName in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getReturnType

public javax.lang.model.type.TypeMirror getReturnType(javax.lang.model.element.ExecutableElement m)
Specified by:
getReturnType in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getMethodParameters

public javax.lang.model.type.TypeMirror[] getMethodParameters(javax.lang.model.element.ExecutableElement m)
Specified by:
getMethodParameters in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isStaticMethod

public boolean isStaticMethod(javax.lang.model.element.ExecutableElement m)
Specified by:
isStaticMethod in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isFinalMethod

public boolean isFinalMethod(javax.lang.model.element.ExecutableElement m)
Specified by:
isFinalMethod in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isSubClassOf

public boolean isSubClassOf(javax.lang.model.type.TypeMirror sub,
                            javax.lang.model.type.TypeMirror sup)
Specified by:
isSubClassOf in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

ref

public javax.lang.model.type.TypeMirror ref(Class c)
Specified by:
ref in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

use

public javax.lang.model.type.TypeMirror use(javax.lang.model.element.TypeElement t)
Specified by:
use in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

asDecl

public javax.lang.model.element.TypeElement asDecl(javax.lang.model.type.TypeMirror m)
Specified by:
asDecl in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

asDecl

public javax.lang.model.element.TypeElement asDecl(Class c)
Specified by:
asDecl in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

erasure

public javax.lang.model.type.TypeMirror erasure(javax.lang.model.type.TypeMirror t)
Specified by:
erasure in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isAbstract

public boolean isAbstract(javax.lang.model.element.TypeElement clazz)
Specified by:
isAbstract in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isFinal

public boolean isFinal(javax.lang.model.element.TypeElement clazz)
Specified by:
isFinal in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getEnumConstants

public javax.lang.model.element.VariableElement[] getEnumConstants(javax.lang.model.element.TypeElement clazz)
Specified by:
getEnumConstants in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getVoidType

public javax.lang.model.type.TypeMirror getVoidType()
Specified by:
getVoidType in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getPackageName

public String getPackageName(javax.lang.model.element.TypeElement clazz)
Specified by:
getPackageName in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

findClass

public javax.lang.model.element.TypeElement findClass(String className,
                                                      javax.lang.model.element.TypeElement referencePoint)
Specified by:
findClass in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isBridgeMethod

public boolean isBridgeMethod(javax.lang.model.element.ExecutableElement method)
Specified by:
isBridgeMethod in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isOverriding

public boolean isOverriding(javax.lang.model.element.ExecutableElement method,
                            javax.lang.model.element.TypeElement base)
Specified by:
isOverriding in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isInterface

public boolean isInterface(javax.lang.model.element.TypeElement clazz)
Specified by:
isInterface in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isTransient

public boolean isTransient(javax.lang.model.element.VariableElement f)
Specified by:
isTransient in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isInnerClass

public boolean isInnerClass(javax.lang.model.element.TypeElement clazz)
Specified by:
isInnerClass in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isSameType

public boolean isSameType(javax.lang.model.type.TypeMirror t1,
                          javax.lang.model.type.TypeMirror t2)
Specified by:
isSameType in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isArray

public boolean isArray(javax.lang.model.type.TypeMirror type)
Specified by:
isArray in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isArrayButNotByteArray

public boolean isArrayButNotByteArray(javax.lang.model.type.TypeMirror t)
Specified by:
isArrayButNotByteArray in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getComponentType

public javax.lang.model.type.TypeMirror getComponentType(javax.lang.model.type.TypeMirror t)
Specified by:
getComponentType in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getTypeArgument

public javax.lang.model.type.TypeMirror getTypeArgument(javax.lang.model.type.TypeMirror typeMirror,
                                                        int i)
Specified by:
getTypeArgument in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isParameterizedType

public boolean isParameterizedType(javax.lang.model.type.TypeMirror typeMirror)
Specified by:
isParameterizedType in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isPrimitive

public boolean isPrimitive(javax.lang.model.type.TypeMirror t)
Specified by:
isPrimitive in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getPrimitive

public javax.lang.model.type.TypeMirror getPrimitive(Class primitiveType)
Specified by:
getPrimitive in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getClassLocation

public Location getClassLocation(javax.lang.model.element.TypeElement typeElement)
Specified by:
getClassLocation in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getFieldLocation

public Location getFieldLocation(javax.lang.model.element.VariableElement variableElement)
Specified by:
getFieldLocation in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

getMethodLocation

public Location getMethodLocation(javax.lang.model.element.ExecutableElement executableElement)
Specified by:
getMethodLocation in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

hasDefaultConstructor

public boolean hasDefaultConstructor(javax.lang.model.element.TypeElement t)
Specified by:
hasDefaultConstructor in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isStaticField

public boolean isStaticField(javax.lang.model.element.VariableElement f)
Specified by:
isStaticField in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isPublicMethod

public boolean isPublicMethod(javax.lang.model.element.ExecutableElement m)
Specified by:
isPublicMethod in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isPublicField

public boolean isPublicField(javax.lang.model.element.VariableElement f)
Specified by:
isPublicField in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>

isEnum

public boolean isEnum(javax.lang.model.element.TypeElement t)
Specified by:
isEnum in interface Navigator<javax.lang.model.type.TypeMirror,javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,javax.lang.model.element.ExecutableElement>


Copyright © 2005-2011 Oracle Corporation. All Rights Reserved.