/******************************************************************************************************************* * * Creates a {@link Provider} that can be used to find a service registered in the global {@link Lookup} or a * {@link TopComponent}. Please look at the class javadoc for more information. * * @param serviceClass the service class * @return the {@code Provider} * ******************************************************************************************************************/ @Nonnull public static <T> T find (final @Nonnull Class<T> serviceClass) { Class<? extends T> serviceClass2 = serviceClass; final ImplementedBy implementedBy = serviceClass.getAnnotation(ImplementedBy.class); if (implementedBy != null) { serviceClass2 = (Class<? extends T>)implementedBy.value(); } if ((TOP_COMPONENT_CLASS != null) && TOP_COMPONENT_CLASS.isAssignableFrom(serviceClass2)) { return topComponentFind(serviceClass2); } else { return simpleFind(serviceClass2); } }
/******************************************************************************************************************* * * Creates a {@link Provider} that can be used to find a service registered in the global {@link Lookup} or a * {@link TopComponent}. Please look at the class javadoc for more information. * * @param serviceClass the service class * @return the {@code Provider} * ******************************************************************************************************************/ @Nonnull public static <T> T find (final @Nonnull Class<T> serviceClass) { Class<? extends T> serviceClass2 = serviceClass; final ImplementedBy implementedBy = serviceClass.getAnnotation(ImplementedBy.class); if (implementedBy != null) { serviceClass2 = (Class<? extends T>)implementedBy.value(); } if ((TOP_COMPONENT_CLASS != null) && TOP_COMPONENT_CLASS.isAssignableFrom(serviceClass2)) { return topComponentFind(serviceClass2); } else { return simpleFind(serviceClass2); } }