protected static void validateResourceInjectionPointType(Class<?> resourceType, InjectionPoint injectionPoint) { Class<?> injectionPointRawType = Reflections.getRawType(injectionPoint.getType()); HierarchyDiscovery discovery = new HierarchyDiscovery(resourceType); for (Type type : discovery.getTypeClosure()) { if (Reflections.getRawType(type).equals(injectionPointRawType)) { return; } } // type autoboxing if (resourceType.isPrimitive() && BOXED_TYPES.get(resourceType).equals(injectionPointRawType)) { return; } else if (injectionPointRawType.isPrimitive() && BOXED_TYPES.get(injectionPointRawType).equals(resourceType)) { return; } throw BeanLogger.LOG.invalidResourceProducerType(injectionPoint.getAnnotated(), resourceType.getName()); }
private EventImpl(InjectionPoint injectionPoint, BeanManagerImpl beanManager) { super(injectionPoint, null, beanManager); this.injectionPointTypeHierarchy = new HierarchyDiscovery(getType()); this.cachedObservers = new ConcurrentHashMap<Class<?>, CachedObservers>(DEFAULT_CACHE_CAPACITY); }
private EventImpl(InjectionPoint injectionPoint, BeanManagerImpl beanManager) { super(injectionPoint, null, beanManager); this.injectionPointTypeHierarchy = new HierarchyDiscovery(getType()); this.cachedObservers = new ConcurrentHashMap<Class<?>, CachedObservers>(DEFAULT_CACHE_CAPACITY); }
private EventImpl(InjectionPoint injectionPoint, BeanManagerImpl beanManager) { super(injectionPoint, null, beanManager); this.injectionPointTypeHierarchy = new HierarchyDiscovery(getType()); this.cachedObservers = new ConcurrentHashMap<Class<?>, CachedObservers>(DEFAULT_CACHE_CAPACITY); }
@Override protected Set<Type> computeValue() { return new HierarchyDiscovery(type).getTypeClosure(); }
@Override protected Set<Type> computeValue() { return new HierarchyDiscovery(type).getTypeClosure(); }
private EventImpl(InjectionPoint injectionPoint, BeanManagerImpl beanManager) { super(injectionPoint, null, beanManager); this.injectionPointTypeHierarchy = new HierarchyDiscovery(getType()); this.cachedObservers = new ConcurrentHashMap<Class<?>, CachedObservers>(DEFAULT_CACHE_CAPACITY); }
@Override public BeanAttributesConfigurator<T> addTransitiveTypeClosure(Type type) { checkArgumentNotNull(type); this.types.addAll(Beans.getLegalBeanTypes(new HierarchyDiscovery(type).getTypeClosure(), type)); return this; }
@Override public BeanAttributesConfigurator<T> addTransitiveTypeClosure(Type type) { checkArgumentNotNull(type); this.types.addAll(Beans.getLegalBeanTypes(new HierarchyDiscovery(type).getTypeClosure(), type)); return this; }
@Override public BeanAttributesConfigurator<T> addTransitiveTypeClosure(Type type) { checkArgumentNotNull(type); this.types.addAll(Beans.getLegalBeanTypes(new HierarchyDiscovery(type).getTypeClosure(), type)); return this; }
@Override public BeanAttributesConfigurator<T> addTransitiveTypeClosure(Type type) { checkArgumentNotNull(type); this.types.addAll(Beans.getLegalBeanTypes(new HierarchyDiscovery(type).getTypeClosure(), type)); return this; }
private static boolean isAssignableFrom(ParameterizedType type1, Class<?> type2) { Class<?> rawType1 = Reflections.getRawType(type1); // raw types have to be assignable if (!isAssignableFrom(rawType1, type2)) { return false; } // this is a raw type with missing type arguments if (!Types.getCanonicalType(type2).equals(type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, Class<?> type2) { Class<?> rawType1 = Reflections.getRawType(type1); // raw types have to be assignable if (!isAssignableFrom(rawType1, type2)) { return false; } // this is a raw type with missing type arguments if (!Types.getCanonicalType(type2).equals(type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, Class<?> type2) { Class<?> rawType1 = Reflections.getRawType(type1); // raw types have to be assignable if (!isAssignableFrom(rawType1, type2)) { return false; } // this is a raw type with missing type arguments if (!Types.getCanonicalType(type2).equals(type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, Class<?> type2) { Class<?> rawType1 = Reflections.getRawType(type1); // raw types have to be assignable if (!isAssignableFrom(rawType1, type2)) { return false; } // this is a raw type with missing type arguments if (!Types.getCanonicalType(type2).equals(type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, Class<?> type2) { Class<?> rawType1 = Reflections.getRawType(type1); // raw types have to be assignable if (!isAssignableFrom(rawType1, type2)) { return false; } // this is a raw type with missing type arguments if (!Types.getCanonicalType(type2).equals(type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be assignable if (!isAssignableFrom(Reflections.getRawType(type1), Reflections.getRawType(type2))) { return false; } if (matches(type1, type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be assignable if (!isAssignableFrom(Reflections.getRawType(type1), Reflections.getRawType(type2))) { return false; } if (matches(type1, type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be assignable if (!isAssignableFrom(Reflections.getRawType(type1), Reflections.getRawType(type2))) { return false; } if (matches(type1, type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }
private static boolean isAssignableFrom(ParameterizedType type1, ParameterizedType type2) { // first, raw types have to be assignable if (!isAssignableFrom(Reflections.getRawType(type1), Reflections.getRawType(type2))) { return false; } if (matches(type1, type2)) { return true; } return matches(type1, new HierarchyDiscovery(type2)); }