public Object postProcessBeforeInitialization()

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;
  }