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<com.sun.mirror.type.TypeMirror,com.sun.mirror.declaration.TypeDeclaration,com.sun.mirror.declaration.FieldDeclaration,com.sun.mirror.declaration.MethodDeclaration>

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

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


Nested Class Summary
(package private)  class APTNavigator.APTTypeVisitor<ParamT>
          Visitor that works on APT TypeMirror and computes a value.
 
Field Summary
 
Fields inherited from interface com.sun.xml.bind.v2.model.nav.Navigator
REFLECTION
 
Constructor Summary
APTNavigator(com.sun.mirror.apt.AnnotationProcessorEnvironment env)
           
 
Method Summary
 com.sun.mirror.declaration.TypeDeclaration asDecl(java.lang.Class c)
           
 com.sun.mirror.declaration.TypeDeclaration asDecl(com.sun.mirror.type.TypeMirror m)
           
<T> com.sun.mirror.type.TypeMirror
erasure(com.sun.mirror.type.TypeMirror t)
           
 com.sun.mirror.declaration.TypeDeclaration findClass(java.lang.String className, com.sun.mirror.declaration.TypeDeclaration referencePoint)
           
 com.sun.mirror.type.TypeMirror getBaseClass(com.sun.mirror.type.TypeMirror type, com.sun.mirror.declaration.TypeDeclaration sup)
           
 com.sun.xml.bind.v2.runtime.Location getClassLocation(com.sun.mirror.declaration.TypeDeclaration decl)
           
 java.lang.String getClassName(com.sun.mirror.declaration.TypeDeclaration t)
           
 java.lang.String getClassShortName(com.sun.mirror.declaration.TypeDeclaration t)
           
 com.sun.mirror.type.TypeMirror getComponentType(com.sun.mirror.type.TypeMirror t)
           
 java.util.Collection<com.sun.mirror.declaration.FieldDeclaration> getDeclaredFields(com.sun.mirror.declaration.TypeDeclaration c)
           
 java.util.Collection<com.sun.mirror.declaration.MethodDeclaration> getDeclaredMethods(com.sun.mirror.declaration.TypeDeclaration c)
           
 com.sun.mirror.declaration.ClassDeclaration getDeclaringClassForField(com.sun.mirror.declaration.FieldDeclaration f)
           
 com.sun.mirror.declaration.ClassDeclaration getDeclaringClassForMethod(com.sun.mirror.declaration.MethodDeclaration m)
           
 com.sun.mirror.declaration.FieldDeclaration[] getEnumConstants(com.sun.mirror.declaration.TypeDeclaration clazz)
           
 com.sun.xml.bind.v2.runtime.Location getFieldLocation(com.sun.mirror.declaration.FieldDeclaration decl)
           
 java.lang.String getFieldName(com.sun.mirror.declaration.FieldDeclaration f)
           
 com.sun.mirror.type.TypeMirror getFieldType(com.sun.mirror.declaration.FieldDeclaration f)
           
 com.sun.xml.bind.v2.runtime.Location getMethodLocation(com.sun.mirror.declaration.MethodDeclaration decl)
           
 java.lang.String getMethodName(com.sun.mirror.declaration.MethodDeclaration m)
           
 com.sun.mirror.type.TypeMirror[] getMethodParameters(com.sun.mirror.declaration.MethodDeclaration m)
           
 java.lang.String getPackageName(com.sun.mirror.declaration.TypeDeclaration clazz)
           
 com.sun.mirror.type.TypeMirror getPrimitive(java.lang.Class primitiveType)
           
 com.sun.mirror.type.TypeMirror getReturnType(com.sun.mirror.declaration.MethodDeclaration m)
           
 com.sun.mirror.declaration.TypeDeclaration getSuperClass(com.sun.mirror.declaration.TypeDeclaration t)
           
 com.sun.mirror.type.TypeMirror getTypeArgument(com.sun.mirror.type.TypeMirror typeMirror, int i)
           
 java.lang.String getTypeName(com.sun.mirror.type.TypeMirror typeMirror)
           
 com.sun.mirror.type.TypeMirror getVoidType()
           
 boolean hasDefaultConstructor(com.sun.mirror.declaration.TypeDeclaration t)
           
 boolean isAbstract(com.sun.mirror.declaration.TypeDeclaration clazz)
           
 boolean isArray(com.sun.mirror.type.TypeMirror t)
           
 boolean isArrayButNotByteArray(com.sun.mirror.type.TypeMirror t)
           
 boolean isBridgeMethod(com.sun.mirror.declaration.MethodDeclaration method)
           
 boolean isEnum(com.sun.mirror.declaration.TypeDeclaration t)
           
 boolean isFinal(com.sun.mirror.declaration.TypeDeclaration clazz)
           
 boolean isParameterizedType(com.sun.mirror.type.TypeMirror t)
           
 boolean isPrimitive(com.sun.mirror.type.TypeMirror t)
           
 boolean isPublicField(com.sun.mirror.declaration.FieldDeclaration f)
           
 boolean isPublicMethod(com.sun.mirror.declaration.MethodDeclaration m)
           
 boolean isStaticField(com.sun.mirror.declaration.FieldDeclaration f)
           
 boolean isStaticMethod(com.sun.mirror.declaration.MethodDeclaration m)
           
 boolean isSubClassOf(com.sun.mirror.type.TypeMirror sub, com.sun.mirror.type.TypeMirror sup)
           
 com.sun.mirror.type.TypeMirror ref(java.lang.Class c)
           
 com.sun.mirror.type.TypeMirror use(com.sun.mirror.declaration.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(com.sun.mirror.apt.AnnotationProcessorEnvironment env)
Method Detail

getSuperClass

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

getBaseClass

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

getClassName

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

getTypeName

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

getClassShortName

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

getDeclaredFields

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

getDeclaredMethods

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

getDeclaringClassForField

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

getDeclaringClassForMethod

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

getFieldType

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

getFieldName

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

getMethodName

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

getReturnType

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

getMethodParameters

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

isStaticMethod

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

isSubClassOf

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

ref

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

use

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

asDecl

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

asDecl

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

erasure

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

isAbstract

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

isFinal

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

getEnumConstants

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

getVoidType

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

getPackageName

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

findClass

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

isBridgeMethod

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

isArray

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

isArrayButNotByteArray

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

getComponentType

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

getTypeArgument

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

isParameterizedType

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

isPrimitive

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

getPrimitive

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

getClassLocation

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

getFieldLocation

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

getMethodLocation

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

hasDefaultConstructor

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

isStaticField

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

isPublicMethod

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

isPublicField

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

isEnum

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