Package com.thoughtworks.qdox.model
Class JavaMethodDelegate
- java.lang.Object
-
- com.thoughtworks.qdox.model.AbstractBaseJavaEntity
-
- com.thoughtworks.qdox.model.AbstractJavaEntity
-
- com.thoughtworks.qdox.model.AbstractInheritableJavaEntity
-
- com.thoughtworks.qdox.model.JavaMethod
-
- com.thoughtworks.qdox.model.JavaMethodDelegate
-
- All Implemented Interfaces:
Member,java.io.Serializable,java.lang.Comparable
public class JavaMethodDelegate extends JavaMethod
This class can be used to access overridden methods while keeping a reference to the original class. This is especially useful when trying to resolve generics- Since:
- 1.12
- Author:
- Robert Scholte
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.thoughtworks.qdox.model.AbstractJavaEntity
modifiers
-
Fields inherited from class com.thoughtworks.qdox.model.AbstractBaseJavaEntity
name, parent
-
-
Constructor Summary
Constructors Constructor Description JavaMethodDelegate(JavaClass callingClass, JavaMethod originalMethod)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddParameter(JavaParameter javaParameter)intcompareTo(java.lang.Object o)booleanequals(java.lang.Object obj)Annotation[]getAnnotations()java.lang.StringgetCallSignature()java.lang.StringgetCodeBlock()java.lang.StringgetComment()java.lang.StringgetDeclarationSignature(boolean withModifiers)Type[]getExceptions()TypegetGenericReturnType()Equivalent of java.lang.reflect.Method.getGenericReturnType()intgetLineNumber()java.lang.String[]getModifiers()Return list of modifiers as Strings.java.lang.StringgetName()java.lang.StringgetNamedParameter(java.lang.String tagName, java.lang.String parameterName)Convenience method forgetTagByName(String).getNamedParameter(String)that also checks for null tag.JavaParametergetParameterByName(java.lang.String name)JavaParameter[]getParameters()Type[]getParameterTypes()Type[]getParameterTypes(boolean resolve)If a class inherits this method from a generic class or interface, you can use this method to get the resolved parameter typesprotected Type[]getParameterTypes(boolean resolve, JavaClass _callingClass)JavaClassParentgetParent()JavaClassgetParentClass()Not every entity has a parentClass, but AnnotationFieldRef requires access to it.java.lang.StringgetPropertyName()TypegetPropertyType()TypegetReturns()TypegetReturnType()Equivalent of java.lang.reflect.Method.getReturnType()TypegetReturnType(boolean resolve)If a class inherits this method from a generic class or interface, you can use this method to get the resolved return typeprotected TypegetReturnType(boolean resolve, JavaClass _callingClass)JavaSourcegetSource()java.lang.StringgetSourceCode()Get the original source code of the body of this method.DocletTaggetTagByName(java.lang.String name)DocletTaggetTagByName(java.lang.String name, boolean inherited)DocletTag[]getTags()DocletTag[]getTagsByName(java.lang.String name)DocletTag[]getTagsByName(java.lang.String name, boolean inherited)TypeVariable[]getTypeParameters()inthashCode()booleanisAbstract()booleanisConstructor()booleanisFinal()booleanisNative()booleanisPrivate()booleanisPropertyAccessor()booleanisPropertyMutator()booleanisProtected()booleanisPublic()booleanisStatic()booleanisStrictfp()booleanisSynchronized()booleanisTransient()booleanisVarArgs()booleanisVolatile()voidsetAnnotations(Annotation[] annotations)voidsetComment(java.lang.String comment)voidsetConstructor(boolean constructor)voidsetExceptions(Type[] exceptions)voidsetLineNumber(int lineNumber)voidsetModifiers(java.lang.String[] modifiers)voidsetName(java.lang.String name)voidsetParent(JavaClassParent parent)voidsetParentClass(JavaClass parentClass)voidsetReturns(Type returns)Define the return type of this methodvoidsetSourceCode(java.lang.String sourceCode)voidsetTags(java.util.List tagList)voidsetTypeParameters(TypeVariable[] typeParameters)booleansignatureMatches(java.lang.String name, Type[] parameterTypes)This method is NOT varArg aware.booleansignatureMatches(java.lang.String name, Type[] parameterTypes, boolean varArg)java.lang.StringtoString()-
Methods inherited from class com.thoughtworks.qdox.model.JavaMethod
writeBody, writeBody
-
Methods inherited from class com.thoughtworks.qdox.model.AbstractJavaEntity
write, writeAccessibilityModifier, writeAllModifiers, writeNonAccessibilityModifiers
-
-
-
-
Constructor Detail
-
JavaMethodDelegate
public JavaMethodDelegate(JavaClass callingClass, JavaMethod originalMethod)
-
-
Method Detail
-
getReturnType
public Type getReturnType(boolean resolve)
Description copied from class:JavaMethodIf a class inherits this method from a generic class or interface, you can use this method to get the resolved return type- Overrides:
getReturnTypein classJavaMethod- Returns:
-
getReturnType
protected Type getReturnType(boolean resolve, JavaClass _callingClass)
- Overrides:
getReturnTypein classJavaMethod- Returns:
-
getParameterTypes
public Type[] getParameterTypes(boolean resolve)
Description copied from class:JavaMethodIf a class inherits this method from a generic class or interface, you can use this method to get the resolved parameter types- Overrides:
getParameterTypesin classJavaMethod- Returns:
- the parameter types as array
-
getParameterTypes
protected Type[] getParameterTypes(boolean resolve, JavaClass _callingClass)
- Overrides:
getParameterTypesin classJavaMethod
-
addParameter
public void addParameter(JavaParameter javaParameter)
- Overrides:
addParameterin classJavaMethod
-
compareTo
public int compareTo(java.lang.Object o)
- Specified by:
compareToin interfacejava.lang.Comparable- Overrides:
compareToin classJavaMethod
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classJavaMethod
-
getAnnotations
public Annotation[] getAnnotations()
- Overrides:
getAnnotationsin classAbstractBaseJavaEntity
-
getCallSignature
public java.lang.String getCallSignature()
- Specified by:
getCallSignaturein interfaceMember- Overrides:
getCallSignaturein classJavaMethod
-
getCodeBlock
public java.lang.String getCodeBlock()
- Overrides:
getCodeBlockin classAbstractJavaEntity
-
getComment
public java.lang.String getComment()
- Overrides:
getCommentin classAbstractJavaEntity
-
getDeclarationSignature
public java.lang.String getDeclarationSignature(boolean withModifiers)
- Specified by:
getDeclarationSignaturein interfaceMember- Overrides:
getDeclarationSignaturein classJavaMethod
-
getExceptions
public Type[] getExceptions()
- Overrides:
getExceptionsin classJavaMethod
-
getGenericReturnType
public Type getGenericReturnType()
Description copied from class:JavaMethodEquivalent of java.lang.reflect.Method.getGenericReturnType()- Overrides:
getGenericReturnTypein classJavaMethod- Returns:
- the generic returntype
-
getLineNumber
public int getLineNumber()
- Overrides:
getLineNumberin classAbstractBaseJavaEntity
-
getModifiers
public java.lang.String[] getModifiers()
Description copied from class:AbstractJavaEntityReturn list of modifiers as Strings. (public, private, protected, final, abstract, static)- Overrides:
getModifiersin classAbstractJavaEntity
-
getName
public java.lang.String getName()
- Overrides:
getNamein classAbstractBaseJavaEntity
-
getNamedParameter
public java.lang.String getNamedParameter(java.lang.String tagName, java.lang.String parameterName)Description copied from class:AbstractJavaEntityConvenience method forgetTagByName(String).getNamedParameter(String)that also checks for null tag.- Overrides:
getNamedParameterin classAbstractJavaEntity
-
getParameterByName
public JavaParameter getParameterByName(java.lang.String name)
- Overrides:
getParameterByNamein classJavaMethod
-
getParameters
public JavaParameter[] getParameters()
- Overrides:
getParametersin classJavaMethod
-
getParameterTypes
public Type[] getParameterTypes()
- Overrides:
getParameterTypesin classJavaMethod- Returns:
- the parameter types as array
-
getParent
public JavaClassParent getParent()
- Overrides:
getParentin classAbstractBaseJavaEntity- Returns:
-
getParentClass
public JavaClass getParentClass()
Description copied from class:AbstractBaseJavaEntityNot every entity has a parentClass, but AnnotationFieldRef requires access to it. When used with JavaClass, don't confuse this with getSuperClass()- Overrides:
getParentClassin classAbstractJavaEntity- Returns:
- the surrounding class
-
getPropertyName
public java.lang.String getPropertyName()
- Overrides:
getPropertyNamein classJavaMethod- Returns:
- the name of the property this method represents, or null if this method is not a property mutator or property accessor.
-
getPropertyType
public Type getPropertyType()
- Overrides:
getPropertyTypein classJavaMethod- Returns:
- the type of the property this method represents, or null if this method is not a property mutator or property accessor.
-
getReturns
public Type getReturns()
- Overrides:
getReturnsin classJavaMethod- Returns:
- the return type
-
getReturnType
public Type getReturnType()
Description copied from class:JavaMethodEquivalent of java.lang.reflect.Method.getReturnType()- Overrides:
getReturnTypein classJavaMethod- Returns:
-
getSource
public JavaSource getSource()
- Overrides:
getSourcein classAbstractJavaEntity
-
getSourceCode
public java.lang.String getSourceCode()
Description copied from class:JavaMethodGet the original source code of the body of this method.- Overrides:
getSourceCodein classJavaMethod- Returns:
- Code as string.
-
getTagByName
public DocletTag getTagByName(java.lang.String name, boolean inherited)
- Overrides:
getTagByNamein classAbstractInheritableJavaEntity
-
getTagByName
public DocletTag getTagByName(java.lang.String name)
- Overrides:
getTagByNamein classAbstractJavaEntity
-
getTags
public DocletTag[] getTags()
- Overrides:
getTagsin classAbstractJavaEntity
-
getTagsByName
public DocletTag[] getTagsByName(java.lang.String name, boolean inherited)
- Overrides:
getTagsByNamein classJavaMethod
-
getTagsByName
public DocletTag[] getTagsByName(java.lang.String name)
- Overrides:
getTagsByNamein classAbstractJavaEntity
-
getTypeParameters
public TypeVariable[] getTypeParameters()
- Overrides:
getTypeParametersin classJavaMethod
-
hashCode
public int hashCode()
- Overrides:
hashCodein classJavaMethod
-
isAbstract
public boolean isAbstract()
- Overrides:
isAbstractin classAbstractJavaEntity
-
isConstructor
public boolean isConstructor()
- Overrides:
isConstructorin classJavaMethod- Returns:
- true is this method is a constructor
-
isFinal
public boolean isFinal()
- Overrides:
isFinalin classAbstractJavaEntity
-
isNative
public boolean isNative()
- Overrides:
isNativein classAbstractJavaEntity
-
isPrivate
public boolean isPrivate()
- Overrides:
isPrivatein classAbstractJavaEntity
-
isPropertyAccessor
public boolean isPropertyAccessor()
- Overrides:
isPropertyAccessorin classJavaMethod- Returns:
- true if this method is a Java Bean accessor
-
isPropertyMutator
public boolean isPropertyMutator()
- Overrides:
isPropertyMutatorin classJavaMethod- Returns:
- true if this method is a Java Bean accessor
-
isProtected
public boolean isProtected()
- Overrides:
isProtectedin classAbstractJavaEntity
-
isPublic
public boolean isPublic()
- Overrides:
isPublicin classJavaMethod
-
isStatic
public boolean isStatic()
- Overrides:
isStaticin classAbstractJavaEntity
-
isStrictfp
public boolean isStrictfp()
- Overrides:
isStrictfpin classAbstractJavaEntity
-
isSynchronized
public boolean isSynchronized()
- Overrides:
isSynchronizedin classAbstractJavaEntity
-
isTransient
public boolean isTransient()
- Overrides:
isTransientin classAbstractJavaEntity
-
isVarArgs
public boolean isVarArgs()
- Overrides:
isVarArgsin classJavaMethod- Returns:
- true is this method conains varArgs
-
isVolatile
public boolean isVolatile()
- Overrides:
isVolatilein classAbstractJavaEntity
-
setAnnotations
public void setAnnotations(Annotation[] annotations)
- Overrides:
setAnnotationsin classAbstractBaseJavaEntity
-
setComment
public void setComment(java.lang.String comment)
- Overrides:
setCommentin classAbstractJavaEntity
-
setConstructor
public void setConstructor(boolean constructor)
- Overrides:
setConstructorin classJavaMethod
-
setExceptions
public void setExceptions(Type[] exceptions)
- Overrides:
setExceptionsin classJavaMethod
-
setLineNumber
public void setLineNumber(int lineNumber)
- Overrides:
setLineNumberin classAbstractBaseJavaEntity
-
setModifiers
public void setModifiers(java.lang.String[] modifiers)
- Overrides:
setModifiersin classAbstractJavaEntity
-
setName
public void setName(java.lang.String name)
- Overrides:
setNamein classAbstractBaseJavaEntity
-
setParent
public void setParent(JavaClassParent parent)
- Overrides:
setParentin classAbstractBaseJavaEntity
-
setParentClass
public void setParentClass(JavaClass parentClass)
- Overrides:
setParentClassin classAbstractJavaEntity
-
setReturns
public void setReturns(Type returns)
Description copied from class:JavaMethodDefine the return type of this method- Overrides:
setReturnsin classJavaMethod- Parameters:
returns- the return type
-
setSourceCode
public void setSourceCode(java.lang.String sourceCode)
- Overrides:
setSourceCodein classJavaMethod
-
setTags
public void setTags(java.util.List tagList)
- Overrides:
setTagsin classAbstractJavaEntity
-
setTypeParameters
public void setTypeParameters(TypeVariable[] typeParameters)
- Overrides:
setTypeParametersin classJavaMethod
-
signatureMatches
public boolean signatureMatches(java.lang.String name, Type[] parameterTypes, boolean varArg)- Overrides:
signatureMatchesin classJavaMethod- Parameters:
name- method nameparameterTypes- parameter types or null if there are no parameters.- Returns:
- true if the signature and parameters match.
-
signatureMatches
public boolean signatureMatches(java.lang.String name, Type[] parameterTypes)Description copied from class:JavaMethodThis method is NOT varArg aware. The overloaded method is.- Overrides:
signatureMatchesin classJavaMethod- Returns:
-
toString
public java.lang.String toString()
- Overrides:
toStringin classJavaMethod
-
-