Refine search
static ActiveDescriptor<?> translateToActiveDescriptor(InstanceBinding<?> desc, Type... contracts) { AbstractActiveDescriptor<?> binding; if (contracts.length == 0) { binding = BuilderHelper.createConstantDescriptor(desc.getService()); } else { binding = BuilderHelper.createConstantDescriptor(desc.getService(), null, contracts); } binding.setName(desc.getName()); binding.setClassAnalysisName(desc.getAnalyzer()); if (desc.getScope() != null) { binding.setScope(desc.getScope().getName()); } if (desc.getRank() != null) { binding.setRanking(desc.getRank()); } for (Annotation annotation : desc.getQualifiers()) { binding.addQualifierAnnotation(annotation); } for (Type contract : desc.getContracts()) { binding.addContractType(contract); } if (desc.isProxiable() != null) { binding.setProxiable(desc.isProxiable()); } if (desc.isProxiedForSameScope() != null) { binding.setProxyForSameScope(desc.isProxiedForSameScope()); } return binding; }
/** * Creates the constant descriptor * * @param theDom May not be null * @param advertisedContracts * @param scope * @param name * @param qualifiers */ public DomDescriptor(Dom theDom, Set<Type> advertisedContracts, Class<? extends Annotation> scope, String name, Set<Annotation> qualifiers) { super(advertisedContracts, scope, name, qualifiers, DescriptorType.CLASS, DescriptorVisibility.NORMAL, 0, null, null, null, null); super.addAdvertisedContract(ConfigBeanProxy.class.getName()); if (theDom == null) throw new IllegalArgumentException(); this.theDom = theDom; setImplementation(theDom.getClass().getName()); }
supplierBuilder.addContractType(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { supplierBuilder.addContractType(new ParameterizedTypeImpl(DisposableSupplier.class, contract)); supplierBuilder.setName(binding.getName()); binding.getQualifiers().forEach(supplierBuilder::addQualifierAnnotation); binder.bind(supplierBuilder);
private ActiveDescriptor<Dom> addWithAlias(ServiceLocator locator, AbstractActiveDescriptor<?> descriptor, Class<?> contract, String name) { ActiveDescriptor<Dom> added = ServiceLocatorUtilities.findOneDescriptor(locator, descriptor); if (added == null) { if (ConfigBean.class.isAssignableFrom(this.getClass())) { if (!descriptor.getAdvertisedContracts().contains(ConfigBean.class.getName())) { descriptor.addContractType(ConfigBean.class); } } added = ServiceLocatorUtilities.addOneDescriptor(locator, descriptor); } AliasDescriptor<Dom> alias = new AliasDescriptor<Dom>(locator, added, contract.getName(), name); ServiceLocatorUtilities.addOneDescriptor(locator, alias); return added; }
/** * Sets the name of this descriptor. Will remove any existing Named * qualifier and add a Named qualifier for this name */ @Override public void setName(String name) { try { wLock.lock(); super.setName(name); removeNamedQualifier(); if (name == null) return; addQualifierAnnotation(new NamedImpl(name)); } finally { wLock.unlock(); } }
/** * Adds an advertised contract to the set of contracts advertised by this descriptor * @param addMe The contract to add. May not be null */ public void addContractType(Type addMe) { try { wLock.lock(); if (addMe == null) { return; } advertisedContracts.add(addMe); Class<?> rawClass = ReflectionHelper.getRawClass(addMe); if (rawClass == null) { return; } addAdvertisedContract(rawClass.getName()); } finally { wLock.unlock(); } }
setRanking(ranking); setDescriptorType(descriptorType); setDescriptorVisibility(descriptorVisibility); setName(name); // This MUST be called after the qualifiers have already been set setProxiable(proxy); setProxyForSameScope(proxyForSameScope); setScope(scope.getName()); if (raw == null) continue; addAdvertisedContract(raw.getName()); addQualifier(q.annotationType().getName()); setClassAnalysisName(analyzerName); addMetadata(key, value);
factoryContractDescriptor.addContractType(factory.getClass()); factoryContractDescriptor.setLoader(this.loader); factoryContractDescriptor.addQualifierAnnotation(qualifier); descriptorBuilder.qualifiedBy(qualifier); factoryContractDescriptor.addContractType(new ParameterizedTypeImpl(Factory.class, contract)); descriptorBuilder.to(contract); List<String> values = metadata.get(key); for (String value : values) { factoryContractDescriptor.addMetadata(key, value); descriptorBuilder.has(key, value);
metadata); super.setReified(false); super.setLoader(loader); super.setScopeAsAnnotation(scopeAnnotation); super.setImplementation(implementationClass.getName());
super.addContractType(contractType);
this.contract = contract; addAdvertisedContract(contract); super.setScope(descriptor.getScope()); super.addMetadata(ALIAS_METADATA_MARKER, getAliasMetadataValue(descriptor));
/** * Sets the scope annotation for this descriptor * * @param scopeAnnotation The non-null scope annotation for this service */ public void setScopeAnnotation(Class<? extends Annotation> scopeAnnotation) { this.scope = scopeAnnotation; setScope(this.scope.getName()); }
/* package */ SpringServiceHK2Bean( String name, Set<Type> contracts, Set<Annotation> qualifiers, Class<?> byType, BeanFactory factory) { super(contracts, SpringScope.class, name, qualifiers, DescriptorType.CLASS, DescriptorVisibility.NORMAL, 0, false, null, (String) null, new HashMap<String, List<String>>() ); this.byType = byType; super.setImplementation(byType.getName()); this.factory = factory; }
/** * Sets the name of this descriptor. Will remove any existing Named * qualifier and add a Named qualifier for this name */ @Override public void setName(String name) { try { wLock.lock(); super.setName(name); removeNamedQualifier(); if (name == null) return; addQualifierAnnotation(new NamedImpl(name)); } finally { wLock.unlock(); } }
/** * Adds an advertised contract to the set of contracts advertised by this descriptor * @param addMe The contract to add. May not be null */ public void addContractType(Type addMe) { try { wLock.lock(); if (addMe == null) { return; } advertisedContracts.add(addMe); Class<?> rawClass = ReflectionHelper.getRawClass(addMe); if (rawClass == null) { return; } addAdvertisedContract(rawClass.getName()); } finally { wLock.unlock(); } }
setRanking(ranking); setDescriptorType(descriptorType); setDescriptorVisibility(descriptorVisibility); setName(name); // This MUST be called after the qualifiers have already been set setProxiable(proxy); setProxyForSameScope(proxyForSameScope); setScope(scope.getName()); if (raw == null) continue; addAdvertisedContract(raw.getName()); addQualifier(q.annotationType().getName()); setClassAnalysisName(analyzerName); addMetadata(key, value);
factoryContractDescriptor.addContractType(factory.getClass()); factoryContractDescriptor.setLoader(this.loader); factoryContractDescriptor.addQualifierAnnotation(qualifier); descriptorBuilder.qualifiedBy(qualifier); factoryContractDescriptor.addContractType(new ParameterizedTypeImpl(Factory.class, contract)); descriptorBuilder.to(contract); List<String> values = metadata.get(key); for (String value : values) { factoryContractDescriptor.addMetadata(key, value); descriptorBuilder.has(key, value);
supplierBuilder.addContractType(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { supplierBuilder.addContractType(new ParameterizedTypeImpl(DisposableSupplier.class, contract)); supplierBuilder.setName(binding.getName()); binding.getQualifiers().forEach(supplierBuilder::addQualifierAnnotation); binder.bind(supplierBuilder);
metadata); super.setReified(false); super.setLoader(loader); super.setScopeAsAnnotation(scopeAnnotation); super.setImplementation(implementationClass.getName());
private ActiveDescriptor<Dom> addWithAlias(ServiceLocator locator, AbstractActiveDescriptor<?> descriptor, Class<?> contract, String name) { ActiveDescriptor<Dom> added = ServiceLocatorUtilities.findOneDescriptor(locator, descriptor); if (added == null) { if (ConfigBean.class.isAssignableFrom(this.getClass())) { if (!descriptor.getAdvertisedContracts().contains(ConfigBean.class.getName())) { descriptor.addContractType(ConfigBean.class); } } added = ServiceLocatorUtilities.addOneDescriptor(locator, descriptor); } AliasDescriptor<Dom> alias = new AliasDescriptor<Dom>(locator, added, contract.getName(), name); ServiceLocatorUtilities.addOneDescriptor(locator, alias); return added; }