Top Description Inners Fields Constructors Methods
org.apache.avro.reflect

public Class ReflectionUtil

extends Object
Class Inheritance
Imports
org.apache.avro.AvroRuntimeException, java.lang.invoke.CallSite, .LambdaMetafactory, .MethodHandle, .MethodHandles, .MethodType, java.lang.reflect.ParameterizedType, .Type, .TypeVariable, java.util.IdentityHashMap, .Map, java.util.function.Function, .Supplier

A few utility methods for using @link{java.misc.Unsafe}, mostly for private use. Use of Unsafe on Android is forbidden, as Android provides only a very limited functionality for this class compared to the JDK version. InterfaceAudience.Private

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private static FieldAccess

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static <V, R> Function<V, R>
getConstructorAsFunction(Class<V> parameterClass, Class<R> clazz)

private static <D> Supplier<D>
public static FieldAccess
private static <V, R> Supplier<R>
getOneArgConstructorAsSupplier(Class<R> clazz, Class<V> argumentClass, V argument)

private static <T> T
load(String name, Class<T> type)

pack-priv static void
protected static Map<TypeVariable<?>, Type>

Returns:

a map of TypeVariables to actual types.
resolveTypeVariables
(Class<?>
interface to resolve types for.
iface
)

For an interface, get a map of any TypeVariables to their actual types.

private static Map<TypeVariable<?>, Type>
private static boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fieldAccessback to summary
private static FieldAccess fieldAccess

Constructor Detail

ReflectionUtilback to summary
private ReflectionUtil()

Method Detail

getConstructorAsFunctionback to summary
public static <V, R> Function<V, R> getConstructorAsFunction(Class<V> parameterClass, Class<R> clazz)
getConstructorAsSupplierback to summary
private static <D> Supplier<D> getConstructorAsSupplier(Class<D> clazz)
getFieldAccessback to summary
public static FieldAccess getFieldAccess()
getOneArgConstructorAsSupplierback to summary
private static <V, R> Supplier<R> getOneArgConstructorAsSupplier(Class<R> clazz, Class<V> argumentClass, V argument)
loadback to summary
private static <T> T load(String name, Class<T> type) throws Exception
resetFieldAccessback to summary
pack-priv static void resetFieldAccess()
resolveTypeVariablesback to summary
protected static Map<TypeVariable<?>, Type> resolveTypeVariables(Class<?> iface)

For an interface, get a map of any TypeVariables to their actual types.

Parameters
iface:Class<?>

interface to resolve types for.

Returns:Map<TypeVariable<?>, Type>

a map of TypeVariables to actual types.

resolveTypeVariablesback to summary
private static Map<TypeVariable<?>, Type> resolveTypeVariables(Class<?> iface, Map<TypeVariable<?>, Type> reuse)
validateback to summary
private static boolean validate(FieldAccess access) throws Exception
org.apache.avro.reflect back to summary

private final Class ReflectionUtil.AccessorTestClass

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private boolean
b

protected byte
public char
c

pack-priv double
d

pack-priv float
f

pack-priv int
i

pack-priv Integer
pack-priv long
l

pack-priv Object
o

pack-priv short
s

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private FieldAccessor
accessor(FieldAccess access, String name)

private boolean
private boolean
validField(FieldAccess access, String name, Object original, Object toSet)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

bback to summary
private boolean b
byback to summary
protected byte by
cback to summary
public char c
dback to summary
pack-priv double d
fback to summary
pack-priv float f
iback to summary
pack-priv int i
i2back to summary
pack-priv Integer i2
lback to summary
pack-priv long l
oback to summary
pack-priv Object o
sback to summary
pack-priv short s

Constructor Detail

AccessorTestClassback to summary
private AccessorTestClass()

Method Detail

accessorback to summary
private FieldAccessor accessor(FieldAccess access, String name) throws Exception
validateback to summary
private boolean validate(FieldAccess access) throws Exception
validFieldback to summary
private boolean validField(FieldAccess access, String name, Object original, Object toSet) throws Exception