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

java.lang.Object
  extended by com.sun.tools.jxc.model.nav.APTNavigator
All Implemented Interfaces:
com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

public class APTNavigator
extends java.lang.Object
implements com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

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


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

Constructor Detail

APTNavigator

public APTNavigator(AnnotationProcessorEnvironment env)
Method Detail

getSuperClass

public TypeDeclaration getSuperClass(TypeDeclaration t)
Specified by:
getSuperClass in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getBaseClass

public TypeMirror getBaseClass(TypeMirror type,
                               TypeDeclaration sup)
Specified by:
getBaseClass in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getClassName

public java.lang.String getClassName(TypeDeclaration t)
Specified by:
getClassName in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getTypeName

public java.lang.String getTypeName(TypeMirror typeMirror)
Specified by:
getTypeName in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getClassShortName

public java.lang.String getClassShortName(TypeDeclaration t)
Specified by:
getClassShortName in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getDeclaredFields

public java.util.Collection<FieldDeclaration> getDeclaredFields(TypeDeclaration c)
Specified by:
getDeclaredFields in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getDeclaredField

public FieldDeclaration getDeclaredField(TypeDeclaration clazz,
                                         java.lang.String fieldName)
Specified by:
getDeclaredField in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getDeclaredMethods

public java.util.Collection<MethodDeclaration> getDeclaredMethods(TypeDeclaration c)
Specified by:
getDeclaredMethods in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getDeclaringClassForField

public ClassDeclaration getDeclaringClassForField(FieldDeclaration f)
Specified by:
getDeclaringClassForField in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getDeclaringClassForMethod

public ClassDeclaration getDeclaringClassForMethod(MethodDeclaration m)
Specified by:
getDeclaringClassForMethod in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getFieldType

public TypeMirror getFieldType(FieldDeclaration f)
Specified by:
getFieldType in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getFieldName

public java.lang.String getFieldName(FieldDeclaration f)
Specified by:
getFieldName in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getMethodName

public java.lang.String getMethodName(MethodDeclaration m)
Specified by:
getMethodName in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getReturnType

public TypeMirror getReturnType(MethodDeclaration m)
Specified by:
getReturnType in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getMethodParameters

public TypeMirror[] getMethodParameters(MethodDeclaration m)
Specified by:
getMethodParameters in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isStaticMethod

public boolean isStaticMethod(MethodDeclaration m)
Specified by:
isStaticMethod in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isFinalMethod

public boolean isFinalMethod(MethodDeclaration m)
Specified by:
isFinalMethod in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isSubClassOf

public boolean isSubClassOf(TypeMirror sub,
                            TypeMirror sup)
Specified by:
isSubClassOf in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

ref

public TypeMirror ref(java.lang.Class c)
Specified by:
ref in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

use

public TypeMirror use(TypeDeclaration t)
Specified by:
use in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

asDecl

public TypeDeclaration asDecl(TypeMirror m)
Specified by:
asDecl in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

erasure

public <T> TypeMirror erasure(TypeMirror t)
Specified by:
erasure in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isAbstract

public boolean isAbstract(TypeDeclaration clazz)
Specified by:
isAbstract in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isFinal

public boolean isFinal(TypeDeclaration clazz)
Specified by:
isFinal in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getEnumConstants

public FieldDeclaration[] getEnumConstants(TypeDeclaration clazz)
Specified by:
getEnumConstants in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getVoidType

public TypeMirror getVoidType()
Specified by:
getVoidType in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getPackageName

public java.lang.String getPackageName(TypeDeclaration clazz)
Specified by:
getPackageName in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

findClass

public TypeDeclaration findClass(java.lang.String className,
                                 TypeDeclaration referencePoint)
Specified by:
findClass in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isBridgeMethod

public boolean isBridgeMethod(MethodDeclaration method)
Specified by:
isBridgeMethod in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isOverriding

public boolean isOverriding(MethodDeclaration method,
                            TypeDeclaration base)
Specified by:
isOverriding in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isInterface

public boolean isInterface(TypeDeclaration clazz)
Specified by:
isInterface in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isTransient

public boolean isTransient(FieldDeclaration f)
Specified by:
isTransient in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isInnerClass

public boolean isInnerClass(TypeDeclaration clazz)
Specified by:
isInnerClass in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isArray

public boolean isArray(TypeMirror t)
Specified by:
isArray in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isArrayButNotByteArray

public boolean isArrayButNotByteArray(TypeMirror t)
Specified by:
isArrayButNotByteArray in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getComponentType

public TypeMirror getComponentType(TypeMirror t)
Specified by:
getComponentType in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getTypeArgument

public TypeMirror getTypeArgument(TypeMirror typeMirror,
                                  int i)
Specified by:
getTypeArgument in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isParameterizedType

public boolean isParameterizedType(TypeMirror t)
Specified by:
isParameterizedType in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isPrimitive

public boolean isPrimitive(TypeMirror t)
Specified by:
isPrimitive in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getPrimitive

public TypeMirror getPrimitive(java.lang.Class primitiveType)
Specified by:
getPrimitive in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getClassLocation

public com.sun.xml.bind.v2.runtime.Location getClassLocation(TypeDeclaration decl)
Specified by:
getClassLocation in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getFieldLocation

public com.sun.xml.bind.v2.runtime.Location getFieldLocation(FieldDeclaration decl)
Specified by:
getFieldLocation in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

getMethodLocation

public com.sun.xml.bind.v2.runtime.Location getMethodLocation(MethodDeclaration decl)
Specified by:
getMethodLocation in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

hasDefaultConstructor

public boolean hasDefaultConstructor(TypeDeclaration t)
Specified by:
hasDefaultConstructor in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isStaticField

public boolean isStaticField(FieldDeclaration f)
Specified by:
isStaticField in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isPublicMethod

public boolean isPublicMethod(MethodDeclaration m)
Specified by:
isPublicMethod in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isPublicField

public boolean isPublicField(FieldDeclaration f)
Specified by:
isPublicField in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>

isEnum

public boolean isEnum(TypeDeclaration t)
Specified by:
isEnum in interface com.sun.xml.bind.v2.model.nav.Navigator<TypeMirror,TypeDeclaration,FieldDeclaration,MethodDeclaration>