Package io.jmix.flowui.sys
Class ViewControllerReflectionInspector
java.lang.Object
io.jmix.flowui.sys.ViewControllerReflectionInspector
@Component("flowui_ViewControllerReflectionInspector")
public class ViewControllerReflectionInspector
extends Object
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic class - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Function<Class,MethodHandles.Lookup> protected final com.google.common.cache.Cache<MethodHandle,MethodHandle> protected final com.google.common.cache.LoadingCache<Class<?>,ViewControllerReflectionInspector.TargetIntrospectionData> protected final com.google.common.cache.LoadingCache<Class<?>,ViewControllerReflectionInspector.ViewIntrospectionData>  - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidClear underlying reflection caches.protected intcompareSubscribeMethods(ViewControllerReflectionInspector.AnnotatedMethod<Subscribe> am1, ViewControllerReflectionInspector.AnnotatedMethod<Subscribe> am2) protected <A extends Annotation>
ViewControllerReflectionInspector.AnnotatedMethod<A>createAnnotatedMethod(Class<A> annotationClass, Method method) getAddListenerMethod(Class<?> clazz, Class<?> eventType) protected Map<Class,MethodHandle> getAddListenerMethodsNotCached(Class<?> clazz, Method[] uniqueDeclaredMethods) getAllFields(List<Class<?>> classes) getAnnotatedInjectElementsNotCached(Class<?> clazz) getAnnotatedInstallMethodsNotCached(Method[] uniqueDeclaredMethods) getAnnotatedListenerMethodsNotCached(Class<?> clazz, Method[] uniqueDeclaredMethods) getAnnotatedSubscribeMethodsNotCached(Method[] uniqueDeclaredMethods) getComponentEventListenerMethodFactory(Class<?> ownerClass, ViewControllerReflectionInspector.AnnotatedMethod annotatedMethod, Class<?> eventClass) getConsumerMethodFactory(Class<?> ownerClass, ViewControllerReflectionInspector.AnnotatedMethod annotatedMethod, Class<?> eventClass) protected Class<?>getDeclaringClass(Method method) getInstallTargetMethod(Class<?> clazz, String methodName) protected Map<String,MethodHandle> getInstallTargetMethodsNotCached(Class<?> clazz, Method[] uniqueDeclaredMethods) getOverrideHierarchy(Method method) getTargetIntrospectionDataNotCached(Class<?> concreteClass) getValueChangeEventMethodFactory(Class<?> ownerClass, ViewControllerReflectionInspector.AnnotatedMethod annotatedMethod, Class<?> eventClass) getViewIntrospectionData(Class<?> clazz) Introspects view class and finds annotated fields and methods for dependency injection.getViewIntrospectionDataNotCached(Class<?> concreteClass) protected ClassinjectionAnnotation(AnnotatedElement element)  
- 
Field Details
- 
viewIntrospectionCache
protected final com.google.common.cache.LoadingCache<Class<?>,ViewControllerReflectionInspector.ViewIntrospectionData> viewIntrospectionCache - 
targetIntrospectionCache
protected final com.google.common.cache.LoadingCache<Class<?>,ViewControllerReflectionInspector.TargetIntrospectionData> targetIntrospectionCache - 
lambdaMethodsCache
 - 
lambdaLookupProvider
 
 - 
 - 
Constructor Details
- 
ViewControllerReflectionInspector
public ViewControllerReflectionInspector() 
 - 
 - 
Method Details
- 
getViewIntrospectionData
public ViewControllerReflectionInspector.ViewIntrospectionData getViewIntrospectionData(Class<?> clazz) Introspects view class and finds annotated fields and methods for dependency injection.- Parameters:
 clazz- view class- Returns:
 - view data
 
 - 
getAddListenerMethod
 - 
getInstallTargetMethod
 - 
getConsumerMethodFactory
public MethodHandle getConsumerMethodFactory(Class<?> ownerClass, ViewControllerReflectionInspector.AnnotatedMethod annotatedMethod, Class<?> eventClass)  - 
getValueChangeEventMethodFactory
public MethodHandle getValueChangeEventMethodFactory(Class<?> ownerClass, ViewControllerReflectionInspector.AnnotatedMethod annotatedMethod, Class<?> eventClass)  - 
getComponentEventListenerMethodFactory
public MethodHandle getComponentEventListenerMethodFactory(Class<?> ownerClass, ViewControllerReflectionInspector.AnnotatedMethod annotatedMethod, Class<?> eventClass)  - 
clearCache
public void clearCache()Clear underlying reflection caches. - 
getViewIntrospectionDataNotCached
protected ViewControllerReflectionInspector.ViewIntrospectionData getViewIntrospectionDataNotCached(Class<?> concreteClass)  - 
getTargetIntrospectionDataNotCached
protected ViewControllerReflectionInspector.TargetIntrospectionData getTargetIntrospectionDataNotCached(Class<?> concreteClass)  - 
getAnnotatedInjectElementsNotCached
protected List<ViewControllerReflectionInspector.InjectElement> getAnnotatedInjectElementsNotCached(Class<?> clazz)  - 
getAllFields
 - 
injectionAnnotation
 - 
getAnnotatedListenerMethodsNotCached
 - 
getAnnotatedInstallMethodsNotCached
protected List<ViewControllerReflectionInspector.AnnotatedMethod<Install>> getAnnotatedInstallMethodsNotCached(Method[] uniqueDeclaredMethods)  - 
getAnnotatedSubscribeMethodsNotCached
protected List<ViewControllerReflectionInspector.AnnotatedMethod<Subscribe>> getAnnotatedSubscribeMethodsNotCached(Method[] uniqueDeclaredMethods)  - 
createAnnotatedMethod
@Nullable protected <A extends Annotation> ViewControllerReflectionInspector.AnnotatedMethod<A> createAnnotatedMethod(Class<A> annotationClass, Method method)  - 
compareSubscribeMethods
protected int compareSubscribeMethods(ViewControllerReflectionInspector.AnnotatedMethod<Subscribe> am1, ViewControllerReflectionInspector.AnnotatedMethod<Subscribe> am2)  - 
getDeclaringClass
 - 
getOverrideHierarchy
 - 
getAddListenerMethodsNotCached
protected Map<Class,MethodHandle> getAddListenerMethodsNotCached(Class<?> clazz, Method[] uniqueDeclaredMethods)  - 
getInstallTargetMethodsNotCached
protected Map<String,MethodHandle> getInstallTargetMethodsNotCached(Class<?> clazz, Method[] uniqueDeclaredMethods)  
 -