in ddm-bpm-data-accessor/src/main/java/com/epam/digital/data/platform/dataaccessor/annotation/SystemVariableBeanPostProcessor.java [44:64]
public Object postProcessBeforeInitialization(@NonNull Object bean, @NonNull String beanName)
throws BeansException {
var beanFields = getAllAnnotatedDeclaredFields(bean);
for (var field : beanFields) {
ReflectionUtils.makeAccessible(field);
var value = ReflectionUtils.getField(field, bean);
if (value != null) {
continue;
}
var annotation = field.getAnnotation(SystemVariable.class);
var name = annotation.name();
var isTransient = annotation.isTransient();
var fixedVariable = namedVariableAccessorFactory.variableAccessor(name, isTransient);
ReflectionUtils.setField(field, bean, fixedVariable);
}
return bean;
}