@Override public Object resolve(Injectee injectee, ServiceHandle root) { InjecteeImpl injecteeWrapper = new InjecteeImpl(); injecteeWrapper.setRequiredType(injectee.getRequiredType()); injecteeWrapper.setParent(injectee.getParent()); injecteeWrapper.setRequiredQualifiers(injectee.getRequiredQualifiers()); injecteeWrapper.setOptional(injectee.isOptional()); injecteeWrapper.setPosition(injectee.getPosition()); injecteeWrapper.setFactory(ReflectionHelper.isSubClassOf(injectee.getRequiredType(), Factory.class)); injecteeWrapper.setInjecteeDescriptor(new ForeignDescriptorImpl(injectee.getInjecteeDescriptor())); Object instance = jerseyResolver.resolve(injecteeWrapper); if (injecteeWrapper.isFactory()) { return asFactory(instance); } else { return instance; } }
@Override public Object resolve(Injectee injectee, ServiceHandle root) { InjecteeImpl injecteeWrapper = new InjecteeImpl(); injecteeWrapper.setRequiredType(injectee.getRequiredType()); injecteeWrapper.setParent(injectee.getParent()); injecteeWrapper.setRequiredQualifiers(injectee.getRequiredQualifiers()); injecteeWrapper.setOptional(injectee.isOptional()); injecteeWrapper.setPosition(injectee.getPosition()); injecteeWrapper.setFactory(ReflectionHelper.isSubClassOf(injectee.getRequiredType(), Factory.class)); injecteeWrapper.setInjecteeDescriptor(new ForeignDescriptorImpl(injectee.getInjecteeDescriptor())); Object instance = jerseyResolver.resolve(injecteeWrapper); if (injecteeWrapper.isFactory()) { return asFactory(instance); } else { return instance; } }
@Override public boolean justInTimeResolution(Injectee injectee) { if (injectee == null || injectee.isOptional()) return false; Class configBeanType; try { configBeanType = (Class) injectee.getRequiredType(); } catch (Exception ex) { return false; } if (!ConfigExtension.class.isAssignableFrom(configBeanType) && !DomainExtension.class.isAssignableFrom(configBeanType)) { return false; } if (!isInjectionSupported(configBeanType)) return false; if (domain == null) { return false; } if (ConfigExtension.class.isAssignableFrom(configBeanType)) { if (config == null) { config = locator.getService(Config.class, ServerEnvironmentImpl.DEFAULT_INSTANCE_NAME); } ConfigBeanProxy pr = config.getExtensionByType(configBeanType); return pr != null; } else if (DomainExtension.class.isAssignableFrom(configBeanType)) { ConfigBeanProxy pr = domain.getExtensionByType(configBeanType); return pr != null; } return false; }
/** * This is the copy constructor, which will copy all the values from the incoming Injectee * @param copyMe The non-null Injectee to copy the values from */ public InjecteeImpl(Injectee copyMe) { requiredType = copyMe.getRequiredType(); position = copyMe.getPosition(); parent = copyMe.getParent(); qualifiers = Collections.unmodifiableSet(copyMe.getRequiredQualifiers()); isOptional = copyMe.isOptional(); isSelf = copyMe.isSelf(); injecteeDescriptor = copyMe.getInjecteeDescriptor(); // unqualified = copyMe.getUnqualified(); if (parent == null) { pClass = null; } else if (parent instanceof Field) { pClass = ((Field) parent).getDeclaringClass(); } else if (parent instanceof Constructor) { pClass = ((Constructor<?>) parent).getDeclaringClass(); } else if (parent instanceof Method) { pClass = ((Method) parent).getDeclaringClass(); } }
/** * This is the copy constructor, which will copy all the values from the incoming Injectee * @param copyMe The non-null Injectee to copy the values from */ public InjecteeImpl(Injectee copyMe) { requiredType = copyMe.getRequiredType(); position = copyMe.getPosition(); parent = copyMe.getParent(); qualifiers = Collections.unmodifiableSet(copyMe.getRequiredQualifiers()); isOptional = copyMe.isOptional(); isSelf = copyMe.isSelf(); injecteeDescriptor = copyMe.getInjecteeDescriptor(); // unqualified = copyMe.getUnqualified(); if (parent == null) { pClass = null; } else if (parent instanceof Field) { pClass = ((Field) parent).getDeclaringClass(); } else if (parent instanceof Constructor) { pClass = ((Constructor<?>) parent).getDeclaringClass(); } else if (parent instanceof Method) { pClass = ((Method) parent).getDeclaringClass(); } }
/** * This is the copy constructor, which will copy all the values from the incoming Injectee * @param copyMe The non-null Injectee to copy the values from */ public InjecteeImpl(Injectee copyMe) { requiredType = copyMe.getRequiredType(); position = copyMe.getPosition(); parent = copyMe.getParent(); qualifiers = Collections.unmodifiableSet(copyMe.getRequiredQualifiers()); isOptional = copyMe.isOptional(); isSelf = copyMe.isSelf(); injecteeDescriptor = copyMe.getInjecteeDescriptor(); // unqualified = copyMe.getUnqualified(); if (parent == null) { pClass = null; } else if (parent instanceof Field) { pClass = ((Field) parent).getDeclaringClass(); } else if (parent instanceof Constructor) { pClass = ((Constructor<?>) parent).getDeclaringClass(); } else if (parent instanceof Method) { pClass = ((Method) parent).getDeclaringClass(); } }
/** * This is the copy constructor, which will copy all the values from the incoming Injectee * @param copyMe The non-null Injectee to copy the values from */ public InjecteeImpl(Injectee copyMe) { requiredType = copyMe.getRequiredType(); position = copyMe.getPosition(); parent = copyMe.getParent(); qualifiers = Collections.unmodifiableSet(copyMe.getRequiredQualifiers()); isOptional = copyMe.isOptional(); isSelf = copyMe.isSelf(); injecteeDescriptor = copyMe.getInjecteeDescriptor(); // unqualified = copyMe.getUnqualified(); if (parent == null) { pClass = null; } else if (parent instanceof Field) { pClass = ((Field) parent).getDeclaringClass(); } else if (parent instanceof Constructor) { pClass = ((Constructor<?>) parent).getDeclaringClass(); } else if (parent instanceof Method) { pClass = ((Method) parent).getDeclaringClass(); } }
if (injectee.isOptional()) { collector.addThrowable(new IllegalArgumentException("Injection point " + injectee + " is marked both @Optional and @Self"));
if (injectee.isOptional()) { collector.addThrowable(new IllegalArgumentException("Injection point " + injectee + " is marked both @Optional and @Self"));
if (injectee.isOptional()) { collector.addThrowable(new IllegalArgumentException("Injection point " + injectee + " is marked both @Optional and @Self"));
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { ActiveDescriptor<?> ad = locator.getInjecteeDescriptor(injectee); if (ad == null) { if (injectee.isOptional()) return null; throw new MultiException(new UnsatisfiedDependencyException(injectee)); } return locator.getService(ad, root, injectee); }
if (injectee.isOptional()) { return true;
if (injectee.isOptional()) { return true;
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { ActiveDescriptor<?> ad = locator.getInjecteeDescriptor(injectee); if (ad == null) { if (injectee.isOptional()) return null; throw new MultiException(new UnsatisfiedDependencyException(injectee)); } return locator.getService(ad, root, injectee); }
if (injectee.isOptional()) { return true;
if (injectee.isOptional()) { return true;
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { ActiveDescriptor<?> ad = locator.getInjecteeDescriptor(injectee); if (ad == null) { if (injectee.isOptional()) return null; throw new MultiException(new UnsatisfiedDependencyException(injectee)); } return locator.getService(ad, root, injectee); }
@Override public Object resolve(Injectee injectee, ServiceHandle<?> root) { ActiveDescriptor<?> ad = locator.getInjecteeDescriptor(injectee); if (ad == null) { if (injectee.isOptional()) return null; throw new MultiException(new UnsatisfiedDependencyException(injectee)); } return locator.getService(ad, root, injectee); }
@Override public Object resolve(Injectee injectee, ServiceHandle root) { InjecteeImpl injecteeWrapper = new InjecteeImpl(); injecteeWrapper.setRequiredType(injectee.getRequiredType()); injecteeWrapper.setParent(injectee.getParent()); injecteeWrapper.setRequiredQualifiers(injectee.getRequiredQualifiers()); injecteeWrapper.setOptional(injectee.isOptional()); injecteeWrapper.setPosition(injectee.getPosition()); injecteeWrapper.setFactory(ReflectionHelper.isSubClassOf(injectee.getRequiredType(), Factory.class)); injecteeWrapper.setInjecteeDescriptor(new ForeignDescriptorImpl(injectee.getInjecteeDescriptor())); Object instance = jerseyResolver.resolve(injecteeWrapper); if (injecteeWrapper.isFactory()) { return asFactory(instance); } else { return instance; } }
@Override public Object resolve(Injectee injectee, ServiceHandle root) { InjecteeImpl injecteeWrapper = new InjecteeImpl(); injecteeWrapper.setRequiredType(injectee.getRequiredType()); injecteeWrapper.setParent(injectee.getParent()); injecteeWrapper.setRequiredQualifiers(injectee.getRequiredQualifiers()); injecteeWrapper.setOptional(injectee.isOptional()); injecteeWrapper.setPosition(injectee.getPosition()); injecteeWrapper.setFactory(ReflectionHelper.isSubClassOf(injectee.getRequiredType(), Factory.class)); injecteeWrapper.setInjecteeDescriptor(new ForeignDescriptorImpl(injectee.getInjecteeDescriptor())); Object instance = jerseyResolver.resolve(injecteeWrapper); if (injecteeWrapper.isFactory()) { return asFactory(instance); } else { return instance; } }