use of org.jboss.as.service.descriptor.JBossServiceAttributeConfig.Inject in project wildfly by wildfly.
the class ParsedServiceDeploymentProcessor method addAttributes.
private void addAttributes(final JBossServiceAttributeConfig[] attributeConfigs, final List<ClassReflectionIndex> mBeanClassHierarchy, final MBeanServices mBeanServices, final ClassLoader classLoader) throws DeploymentUnitProcessingException {
if (attributeConfigs != null) {
final Service<Object> createDestroyService = mBeanServices.getCreateDestroyService();
for (final JBossServiceAttributeConfig attributeConfig : attributeConfigs) {
final String propertyName = attributeConfig.getName();
final Inject injectConfig = attributeConfig.getInject();
final ValueFactory valueFactoryConfig = attributeConfig.getValueFactory();
if (injectConfig != null) {
final Value<?> value = getValue(injectConfig);
final Injector<Object> injector = getPropertyInjector(propertyName, mBeanClassHierarchy, createDestroyService, value);
mBeanServices.addAttribute(injectConfig.getBeanName(), injector);
} else if (valueFactoryConfig != null) {
final Value<?> value = getValue(valueFactoryConfig, classLoader);
final Injector<Object> injector = getPropertyInjector(propertyName, mBeanClassHierarchy, createDestroyService, value);
mBeanServices.addAttribute(valueFactoryConfig.getBeanName(), injector);
} else {
final Value<?> value = getValue(attributeConfig, mBeanClassHierarchy);
final Injector<Object> injector = getPropertyInjector(propertyName, mBeanClassHierarchy, createDestroyService, Values.injectedValue());
mBeanServices.addInjectionValue(injector, value);
}
}
}
}
use of org.jboss.as.service.descriptor.JBossServiceAttributeConfig.Inject in project wildfly by wildfly.
the class ParsedServiceDeploymentProcessor method addAttributes.
private void addAttributes(final JBossServiceAttributeConfig[] attributeConfigs, final List<ClassReflectionIndex> mBeanClassHierarchy, final MBeanServices mBeanServices, final ClassLoader classLoader, final Object mBeanInstance) throws DeploymentUnitProcessingException {
if (attributeConfigs != null) {
for (final JBossServiceAttributeConfig attributeConfig : attributeConfigs) {
final String propertyName = attributeConfig.getName();
final Inject injectConfig = attributeConfig.getInject();
final ValueFactory valueFactoryConfig = attributeConfig.getValueFactory();
final Method setter = ReflectionUtils.getSetter(mBeanClassHierarchy, propertyName);
if (injectConfig != null) {
final DelegatingSupplier propertySupplier = getObjectSupplier(injectConfig);
mBeanServices.addAttribute(injectConfig.getBeanName(), setter, propertySupplier);
} else if (valueFactoryConfig != null) {
final DelegatingSupplier valueFactorySupplier = getObjectSupplier(valueFactoryConfig, classLoader);
mBeanServices.addAttribute(valueFactoryConfig.getBeanName(), setter, valueFactorySupplier);
} else {
final Supplier<Object> value = getObjectSupplier(attributeConfig, mBeanClassHierarchy);
mBeanServices.addValue(setter, value);
}
}
}
}
Aggregations