Top Description Inners Fields Constructors Methods
com.google.common.reflect

public abstract Class Invokable<T, R>

extends Object
implements AnnotatedElement, Member
Class Inheritance
All Implemented Interfaces
java.lang.reflect.Member, java.lang.reflect.AnnotatedElement
Known Direct Subclasses
com.google.common.reflect.Invokable.MethodInvokable, com.google.common.reflect.Invokable.ConstructorInvokable
Annotations
@ElementTypesAreNonnullByDefault
Type Parameters
<T>
the type that owns this method or constructor.
<R>
the return type of (or supertype thereof) the method or the declaring type of the constructor.
Static Imports
com.google.common.base.Preconditions.checkNotNull

Wrapper around either a Method or a Constructor. Convenience API is provided to make common reflective operation easier to deal with, such as isPublic, getParameters etc.

In addition to convenience methods, TypeToken#method and TypeToken#constructor will resolve the type parameters of the method or constructor in the context of the owner type, which may be a subtype of the declaring class. For example:

Method getMethod = List.class.getMethod("get", int.class);
Invokable<List<String>, ?> invokable = new TypeToken<List<String>>() {}.method(getMethod);
assertEquals(TypeToken.of(String.class), invokable.getReturnType()); // Not Object.class!
assertEquals(new TypeToken<List<String>>() {}, invokable.getOwnerType());

Note

earlier versions of this class inherited from AccessibleObject and GenericDeclaration. Since version 31.0 that is no longer the case. However, most methods from those types are present with the same signature in this class.

Author
Ben Yu
Since
14.0 (no longer implements AccessibleObject or GenericDeclaration since 31.0)

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
private final AccessibleObject
private static final boolean
private final Member

Constructor Summary

AccessConstructor and Description
pack-priv <M extends AccessibleObject & Member>
Invokable(M member)

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
public static Invokable<?, Object>
from(Method method)

Returns Invokable of method.

public static <T> Invokable<T, T>
from(Constructor<T> constructor)

Returns Invokable of constructor.

pack-priv abstract AnnotatedType[]
public abstract AnnotatedType
getAnnotatedReturnType()

Returns the AnnotatedType for the return type.

public final <A extends Annotation> A
getAnnotation(Class<A>
the Class object corresponding to the annotation type
annotationClass
)

Implements java.lang.reflect.AnnotatedElement.getAnnotation.

Returns this element's annotation for the specified type if such an annotation is present, else null.
public final Annotation[]
getAnnotations()

Implements java.lang.reflect.AnnotatedElement.getAnnotations.

Returns annotations that are present on this element.
public final Annotation[]
getDeclaredAnnotations()

Implements java.lang.reflect.AnnotatedElement.getDeclaredAnnotations.

Returns annotations that are directly present on this element.
public final Class<? super T>
getDeclaringClass()

Implements java.lang.reflect.Member.getDeclaringClass.

Returns the Class object representing the class or interface that declares the member or constructor represented by this Member.
public final ImmutableList<TypeToken<? extends Throwable>>
getExceptionTypes()

Returns all declared exception types of this Invokable.

pack-priv abstract Type[]
getGenericExceptionTypes()

This should never return a type that's not a subtype of Throwable.

pack-priv abstract Type[]
pack-priv abstract Type
public final int
getModifiers()

Implements java.lang.reflect.Member.getModifiers.

Returns the Java language modifiers for the member or constructor represented by this Member, as an integer.
public final String
getName()

Implements java.lang.reflect.Member.getName.

Returns the simple name of the underlying member or constructor represented by this Member.
public TypeToken<T>
getOwnerType()

Returns the type of T.

pack-priv abstract Annotation[][]
public final ImmutableList<Parameter>
getParameters()

Returns all declared parameters of this Invokable.

public final TypeToken<? extends R>
getReturnType()

Returns the return type of this Invokable.

public abstract TypeVariable<?>[]
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.
private static boolean
public final R
invoke(T receiver, @Nullable Object... args)

Invokes with receiver as 'this' and args passed to the underlying method and returns the return value; or calls the underlying constructor with args and returns the constructed instance.

pack-priv abstract Object
public final boolean
isAbstract()

Returns true if the method is abstract.

public final boolean
public final boolean
isAnnotationPresent(Class<? extends Annotation>
the Class object corresponding to the annotation type
annotationClass
)

Overrides default java.lang.reflect.AnnotatedElement.isAnnotationPresent.

Returns true if an annotation for the specified type is present on this element, else false.
public final boolean
isFinal()

Returns true if this method is final, per Modifier.isFinal(getModifiers()).

public final boolean
isNative()

Returns true if the element is native.

public abstract boolean
isOverridable()

Returns true if this is an overridable method.

public final boolean
isPackagePrivate()

Returns true if the element is package-private.

public final boolean
isPrivate()

Returns true if the element is private.

public final boolean
isProtected()

Returns true if the element is protected.

public final boolean
isPublic()

Returns true if the element is public.

public final boolean
isStatic()

Returns true if the element is static.

public final boolean
isSynchronized()

Returns true if the method is synchronized.

public final boolean
isSynthetic()

Implements java.lang.reflect.Member.isSynthetic.

Returns true if this member was introduced by the compiler; returns false otherwise.
pack-priv final boolean
isTransient()

Returns true if the field is transient.

public abstract boolean
isVarArgs()

Returns true if this was declared to take a variable number of arguments.

pack-priv final boolean
isVolatile()

Returns true if the field is volatile.

public final <R1 extends R> Invokable<T, R1>
returning(Class<R1> returnType)

Explicitly specifies the return type of this Invokable.

public final <R1 extends R> Invokable<T, R1>
returning(TypeToken<R1> returnType)

Explicitly specifies the return type of this Invokable.

public final void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public final boolean
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

accessibleObjectback to summary
private final AccessibleObject accessibleObject
ANNOTATED_TYPE_EXISTSback to summary
private static final boolean ANNOTATED_TYPE_EXISTS
memberback to summary
private final Member member

Constructor Detail

Invokableback to summary
pack-priv <M extends AccessibleObject & Member> Invokable(M member)

Method Detail

equalsback to summary
public boolean equals(Object obj)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
fromback to summary
public static Invokable<?, Object> from(Method method)

Returns Invokable of method.

fromback to summary
public static <T> Invokable<T, T> from(Constructor<T> constructor)

Returns Invokable of constructor.

getAnnotatedParameterTypesback to summary
pack-priv abstract AnnotatedType[] getAnnotatedParameterTypes()
Annotations
@SuppressWarnings:Java7ApiChecker
getAnnotatedReturnTypeback to summary
public abstract AnnotatedType getAnnotatedReturnType()

Returns the AnnotatedType for the return type.

Annotations
@SuppressWarnings:Java7ApiChecker
Since
14.0
getAnnotationback to summary
public final <A extends Annotation> A getAnnotation(Class<A> annotationClass)

Implements java.lang.reflect.AnnotatedElement.getAnnotation.

Doc from java.lang.reflect.AnnotatedElement.getAnnotation.

Returns this element's annotation for the specified type if such an annotation is present, else null.

Parameters
<A>
the type of the annotation to query for and return if present
annotationClass:Class<A>

the Class object corresponding to the annotation type

Returns:A

this element's annotation for the specified annotation type if present on this element, else null

Annotations
@Override
@CheckForNull
getAnnotationsback to summary
public final Annotation[] getAnnotations()

Implements java.lang.reflect.AnnotatedElement.getAnnotations.

Doc from java.lang.reflect.AnnotatedElement.getAnnotations.

Returns annotations that are present on this element. If there are no annotations present on this element, the return value is an array of length 0. The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.

Returns:Annotation[]

annotations present on this element

Annotations
@Override
getDeclaredAnnotationsback to summary
public final Annotation[] getDeclaredAnnotations()

Implements java.lang.reflect.AnnotatedElement.getDeclaredAnnotations.

Doc from java.lang.reflect.AnnotatedElement.getDeclaredAnnotations.

Returns annotations that are directly present on this element. This method ignores inherited annotations. If there are no annotations directly present on this element, the return value is an array of length 0. The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.

Returns:Annotation[]

annotations directly present on this element

Annotations
@Override
getDeclaringClassback to summary
public final Class<? super T> getDeclaringClass()

Implements java.lang.reflect.Member.getDeclaringClass.

Doc from java.lang.reflect.Member.getDeclaringClass.

Returns the Class object representing the class or interface that declares the member or constructor represented by this Member.

Returns:Class<? super T>

an object representing the declaring class of the underlying member

Annotations
@SuppressWarnings:unchecked
@Override
getExceptionTypesback to summary
public final ImmutableList<TypeToken<? extends Throwable>> getExceptionTypes()

Returns all declared exception types of this Invokable.

getGenericExceptionTypesback to summary
pack-priv abstract Type[] getGenericExceptionTypes()

This should never return a type that's not a subtype of Throwable.

getGenericParameterTypesback to summary
pack-priv abstract Type[] getGenericParameterTypes()
getGenericReturnTypeback to summary
pack-priv abstract Type getGenericReturnType()
getModifiersback to summary
public final int getModifiers()

Implements java.lang.reflect.Member.getModifiers.

Doc from java.lang.reflect.Member.getModifiers.

Returns the Java language modifiers for the member or constructor represented by this Member, as an integer. The Modifier class should be used to decode the modifiers in the integer.

Returns:int

the Java language modifiers for the underlying member

Annotations
@Override
getNameback to summary
public final String getName()

Implements java.lang.reflect.Member.getName.

Doc from java.lang.reflect.Member.getName.

Returns the simple name of the underlying member or constructor represented by this Member.

Returns:String

the simple name of the underlying member

Annotations
@Override
getOwnerTypeback to summary
public TypeToken<T> getOwnerType()

Returns the type of T.

Annotations
@SuppressWarnings:unchecked
getParameterAnnotationsback to summary
pack-priv abstract Annotation[][] getParameterAnnotations()
getParametersback to summary
public final ImmutableList<Parameter> getParameters()

Returns all declared parameters of this Invokable. Note that if this is a constructor of a non-static inner class, unlike Constructor#getParameterTypes, the hidden this parameter of the enclosing class is excluded from the returned parameters.

Annotations
@IgnoreJRERequirement
getReturnTypeback to summary
public final TypeToken<? extends R> getReturnType()

Returns the return type of this Invokable.

Annotations
@SuppressWarnings:unchecked
getTypeParametersback to summary
public abstract TypeVariable<?>[] getTypeParameters()

See java.lang.reflect.GenericDeclaration#getTypeParameters().

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
initAnnotatedTypeExistsback to summary
private static boolean initAnnotatedTypeExists()
invokeback to summary
public final R invoke(T receiver, @Nullable Object... args) throws InvocationTargetException, IllegalAccessException

Invokes with receiver as 'this' and args passed to the underlying method and returns the return value; or calls the underlying constructor with args and returns the constructed instance.

Annotations
@SuppressWarnings:unchecked, nullness
@CanIgnoreReturnValue
@CheckForNull
Exceptions
InvocationTargetException:
if the underlying method or constructor throws an exception.
IllegalAccessException:
if this Constructor object enforces Java language access control and the underlying method or constructor is inaccessible.
IllegalArgumentException:
if the number of actual and formal parameters differ; if an unwrapping conversion for primitive arguments fails; or if, after possible unwrapping, a parameter value cannot be converted to the corresponding formal parameter type by a method invocation conversion.
invokeInternalback to summary
pack-priv abstract Object invokeInternal(Object receiver, @Nullable Object[] args) throws InvocationTargetException, IllegalAccessException
Annotations
@CheckForNull
isAbstractback to summary
public final boolean isAbstract()

Returns true if the method is abstract.

isAccessibleback to summary
public final boolean isAccessible()

See java.lang.reflect.AccessibleObject#isAccessible().

isAnnotationPresentback to summary
public final boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)

Overrides default java.lang.reflect.AnnotatedElement.isAnnotationPresent.

Doc from java.lang.reflect.AnnotatedElement.isAnnotationPresent.

Returns true if an annotation for the specified type is present on this element, else false. This method is designed primarily for convenient access to marker annotations.

The truth value returned by this method is equivalent to: getAnnotation(annotationClass) != null

Parameters
annotationClass:Class<? extends Annotation>

the Class object corresponding to the annotation type

Returns:boolean

true if an annotation for the specified annotation type is present on this element, else false

Annotations
@Override
isFinalback to summary
public final boolean isFinal()

Returns true if this method is final, per Modifier.isFinal(getModifiers()).

Note that a method may still be effectively "final", or non-overridable when it has no final keyword. For example, it could be private, or it could be declared by a final class. To tell whether a method is overridable, use Invokable#isOverridable.

isNativeback to summary
public final boolean isNative()

Returns true if the element is native.

isOverridableback to summary
public abstract boolean isOverridable()

Returns true if this is an overridable method. Constructors, private, static or final methods, or methods declared by final classes are not overridable.

isPackagePrivateback to summary
public final boolean isPackagePrivate()

Returns true if the element is package-private.

isPrivateback to summary
public final boolean isPrivate()

Returns true if the element is private.

isProtectedback to summary
public final boolean isProtected()

Returns true if the element is protected.

isPublicback to summary
public final boolean isPublic()

Returns true if the element is public.

isStaticback to summary
public final boolean isStatic()

Returns true if the element is static.

isSynchronizedback to summary
public final boolean isSynchronized()

Returns true if the method is synchronized.

isSyntheticback to summary
public final boolean isSynthetic()

Implements java.lang.reflect.Member.isSynthetic.

Doc from java.lang.reflect.Member.isSynthetic.

Returns true if this member was introduced by the compiler; returns false otherwise.

Returns:boolean

true if and only if this member was introduced by the compiler.

Annotations
@Override
isTransientback to summary
pack-priv final boolean isTransient()

Returns true if the field is transient.

isVarArgsback to summary
public abstract boolean isVarArgs()

Returns true if this was declared to take a variable number of arguments.

isVolatileback to summary
pack-priv final boolean isVolatile()

Returns true if the field is volatile.

returningback to summary
public final <R1 extends R> Invokable<T, R1> returning(Class<R1> returnType)

Explicitly specifies the return type of this Invokable. For example:

Method factoryMethod = Person.class.getMethod("create");
Invokable<?, Person> factory = Invokable.of(getNameMethod).returning(Person.class);
returningback to summary
public final <R1 extends R> Invokable<T, R1> returning(TypeToken<R1> returnType)

Explicitly specifies the return type of this Invokable.

setAccessibleback to summary
public final void setAccessible(boolean flag)

See java.lang.reflect.AccessibleObject#setAccessible(boolean).

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override
trySetAccessibleback to summary
public final boolean trySetAccessible()

See java.lang.reflect.AccessibleObject#trySetAccessible().

Annotations
@SuppressWarnings:CatchingUnchecked
com.google.common.reflect back to summary

pack-priv Class Invokable.ConstructorInvokable<T>

extends Invokable<T, T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final Constructor<?>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv AnnotatedType[]
public AnnotatedType
pack-priv Type[]
getGenericExceptionTypes()

Implements abstract com.google.common.reflect.Invokable.getGenericExceptionTypes.

This should never return a type that's not a subtype of Throwable.
pack-priv Type[]
pack-priv Type
getGenericReturnType()

Implements abstract com.google.common.reflect.Invokable.getGenericReturnType.

If the class is parameterized, such as ArrayList, this returns ArrayList<E>.
pack-priv final Annotation[][]
public final TypeVariable<?>[]
pack-priv final Object
public final boolean
isOverridable()

Implements abstract com.google.common.reflect.Invokable.isOverridable.

Returns true if this is an overridable method.
public final boolean
isVarArgs()

Implements abstract com.google.common.reflect.Invokable.isVarArgs.

Returns true if this was declared to take a variable number of arguments.
private boolean
Inherited from com.google.common.reflect.Invokable:
equalsfromfromgetAnnotationgetAnnotationsgetDeclaredAnnotationsgetDeclaringClassgetExceptionTypesgetModifiersgetNamegetOwnerTypegetParametersgetReturnTypehashCodeinvokeinvokeInternalisAbstractisAccessibleisAnnotationPresentisFinalisNativeisPackagePrivateisPrivateisProtectedisPublicisStaticisSynchronizedisSyntheticisTransientisVolatilereturningreturningsetAccessibletoStringtrySetAccessible

Field Detail

constructorback to summary
pack-priv final Constructor<?> constructor

Constructor Detail

ConstructorInvokableback to summary
pack-priv ConstructorInvokable(Constructor<?> constructor)

Method Detail

getAnnotatedParameterTypesback to summary
pack-priv AnnotatedType[] getAnnotatedParameterTypes()

Implements abstract com.google.common.reflect.Invokable.getAnnotatedParameterTypes.

Annotations
@Override
@SuppressWarnings:Java7ApiChecker
getAnnotatedReturnTypeback to summary
public AnnotatedType getAnnotatedReturnType()

Implements abstract com.google.common.reflect.Invokable.getAnnotatedReturnType.

Doc from com.google.common.reflect.Invokable.getAnnotatedReturnType.

Returns the AnnotatedType for the return type.

Annotations
@Override
@SuppressWarnings:Java7ApiChecker
getGenericExceptionTypesback to summary
pack-priv Type[] getGenericExceptionTypes()

Implements abstract com.google.common.reflect.Invokable.getGenericExceptionTypes.

Doc from com.google.common.reflect.Invokable.getGenericExceptionTypes.

This should never return a type that's not a subtype of Throwable.

Annotations
@Override
getGenericParameterTypesback to summary
pack-priv Type[] getGenericParameterTypes()

Implements abstract com.google.common.reflect.Invokable.getGenericParameterTypes.

Annotations
@Override
getGenericReturnTypeback to summary
pack-priv Type getGenericReturnType()

Implements abstract com.google.common.reflect.Invokable.getGenericReturnType.

If the class is parameterized, such as ArrayList, this returns ArrayList<E>.

Annotations
@Override
getParameterAnnotationsback to summary
pack-priv final Annotation[][] getParameterAnnotations()

Implements abstract com.google.common.reflect.Invokable.getParameterAnnotations.

Annotations
@Override
getTypeParametersback to summary
public final TypeVariable<?>[] getTypeParameters()

Implements abstract com.google.common.reflect.Invokable.getTypeParameters.

Doc from com.google.common.reflect.Invokable.getTypeParameters.

See java.lang.reflect.GenericDeclaration#getTypeParameters().

[<E>] will be returned for ArrayList's constructor. When both the class and the constructor have type parameters, the class parameters are prepended before those of the constructor's. This is an arbitrary rule since no existing language spec mandates one way or the other. From the declaration syntax, the class type parameter appears first, but the call syntax may show up in opposite order such as new <A>Foo<B>().

Annotations
@Override
invokeInternalback to summary
pack-priv final Object invokeInternal(Object receiver, @Nullable Object[] args) throws InvocationTargetException, IllegalAccessException
Annotations
@Override
isOverridableback to summary
public final boolean isOverridable()

Implements abstract com.google.common.reflect.Invokable.isOverridable.

Doc from com.google.common.reflect.Invokable.isOverridable.

Returns true if this is an overridable method. Constructors, private, static or final methods, or methods declared by final classes are not overridable.

Annotations
@Override
isVarArgsback to summary
public final boolean isVarArgs()

Implements abstract com.google.common.reflect.Invokable.isVarArgs.

Doc from com.google.common.reflect.Invokable.isVarArgs.

Returns true if this was declared to take a variable number of arguments.

Annotations
@Override
mayNeedHiddenThisback to summary
private boolean mayNeedHiddenThis()
com.google.common.reflect back to summary

pack-priv Class Invokable.MethodInvokable<T>

extends Invokable<T, Object>
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final Method

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv AnnotatedType[]
public AnnotatedType
pack-priv Type[]
getGenericExceptionTypes()

Implements abstract com.google.common.reflect.Invokable.getGenericExceptionTypes.

This should never return a type that's not a subtype of Throwable.
pack-priv Type[]
pack-priv Type
pack-priv final Annotation[][]
public final TypeVariable<?>[]
pack-priv final Object
public final boolean
isOverridable()

Implements abstract com.google.common.reflect.Invokable.isOverridable.

Returns true if this is an overridable method.
public final boolean
isVarArgs()

Implements abstract com.google.common.reflect.Invokable.isVarArgs.

Returns true if this was declared to take a variable number of arguments.
Inherited from com.google.common.reflect.Invokable:
equalsfromfromgetAnnotationgetAnnotationsgetDeclaredAnnotationsgetDeclaringClassgetExceptionTypesgetModifiersgetNamegetOwnerTypegetParametersgetReturnTypehashCodeinvokeinvokeInternalisAbstractisAccessibleisAnnotationPresentisFinalisNativeisPackagePrivateisPrivateisProtectedisPublicisStaticisSynchronizedisSyntheticisTransientisVolatilereturningreturningsetAccessibletoStringtrySetAccessible

Field Detail

methodback to summary
pack-priv final Method method

Constructor Detail

MethodInvokableback to summary
pack-priv MethodInvokable(Method method)

Method Detail

getAnnotatedParameterTypesback to summary
pack-priv AnnotatedType[] getAnnotatedParameterTypes()

Implements abstract com.google.common.reflect.Invokable.getAnnotatedParameterTypes.

Annotations
@Override
@SuppressWarnings:Java7ApiChecker
getAnnotatedReturnTypeback to summary
public AnnotatedType getAnnotatedReturnType()

Implements abstract com.google.common.reflect.Invokable.getAnnotatedReturnType.

Doc from com.google.common.reflect.Invokable.getAnnotatedReturnType.

Returns the AnnotatedType for the return type.

Annotations
@Override
@SuppressWarnings:Java7ApiChecker
getGenericExceptionTypesback to summary
pack-priv Type[] getGenericExceptionTypes()

Implements abstract com.google.common.reflect.Invokable.getGenericExceptionTypes.

Doc from com.google.common.reflect.Invokable.getGenericExceptionTypes.

This should never return a type that's not a subtype of Throwable.

Annotations
@Override
getGenericParameterTypesback to summary
pack-priv Type[] getGenericParameterTypes()

Implements abstract com.google.common.reflect.Invokable.getGenericParameterTypes.

Annotations
@Override
getGenericReturnTypeback to summary
pack-priv Type getGenericReturnType()

Implements abstract com.google.common.reflect.Invokable.getGenericReturnType.

Annotations
@Override
getParameterAnnotationsback to summary
pack-priv final Annotation[][] getParameterAnnotations()

Implements abstract com.google.common.reflect.Invokable.getParameterAnnotations.

Annotations
@Override
getTypeParametersback to summary
public final TypeVariable<?>[] getTypeParameters()

Implements abstract com.google.common.reflect.Invokable.getTypeParameters.

Doc from com.google.common.reflect.Invokable.getTypeParameters.

See java.lang.reflect.GenericDeclaration#getTypeParameters().

Annotations
@Override
invokeInternalback to summary
pack-priv final Object invokeInternal(Object receiver, @Nullable Object[] args) throws InvocationTargetException, IllegalAccessException
Annotations
@Override
@CheckForNull
isOverridableback to summary
public final boolean isOverridable()

Implements abstract com.google.common.reflect.Invokable.isOverridable.

Doc from com.google.common.reflect.Invokable.isOverridable.

Returns true if this is an overridable method. Constructors, private, static or final methods, or methods declared by final classes are not overridable.

Annotations
@Override
isVarArgsback to summary
public final boolean isVarArgs()

Implements abstract com.google.common.reflect.Invokable.isVarArgs.

Doc from com.google.common.reflect.Invokable.isVarArgs.

Returns true if this was declared to take a variable number of arguments.

Annotations
@Override