Class MappingProcessor


  • public class MappingProcessor
    extends Object
    Утилитный класс для маппинга данных.
    • Constructor Detail

      • MappingProcessor

        public MappingProcessor()
    • Method Detail

      • inMap

        public static void inMap​(Object target,
                                 String fieldId,
                                 String mapping,
                                 Object value)
        Входящее преобразование value согласно выражению mapping в объект target
        Parameters:
        target - результирующий объект
        mapping - выражение преобразования
        value - значение
      • inMap

        public static void inMap​(Object target,
                                 String fieldId,
                                 String mapping,
                                 Object value,
                                 String userMapping)
        Входящее преобразование value согласно выражению mapping в объект target
        Parameters:
        target - результирующий объект
        mapping - выражение преобразования
        value - значение
        userMapping - выражение преобразования, используемое для формирования сообщения об ошибке
      • outMap

        public static <T> T outMap​(Object target,
                                   String mapping,
                                   Class<T> clazz)
        Исходящее преобразование target согласно mapping выражению
        Parameters:
        target - исходное значение
        mapping - выражения преобразования
        Returns:
        результат преобразования
      • outMap

        public static void outMap​(DataSet target,
                                  Object value,
                                  String fieldId,
                                  String mapping,
                                  Object defaultValue,
                                  ContextProcessor contextProcessor)
        Исходящее преобразование value согласно mapping и в target под ключом fieldId В случае если результат после маппинга = null, в target добавляется defaultValue
        Parameters:
        target - данные результирующие
        value - исходное значение
        fieldId - идентификатор поля
        mapping - выражение преобразования
        defaultValue - значение по умолчанию
      • mapParameter

        public static void mapParameter​(ObjectReferenceField parameter,
                                        DataSet dataSet)
        Заменяет в inDataSet значение созданным объектом
        Parameters:
        parameter - параметр операции
        dataSet - исходные данные
      • mapChildParameters

        public static Object mapChildParameters​(ObjectReferenceField parameter,
                                                DataSet dataSet)
        Создает инстанс и мапит его поля из dataSet
        Parameters:
        parameter - Параметр операции
        dataSet - Исходные данные
      • extractFieldMapping

        public static Map<String,​FieldMapping> extractFieldMapping​(Collection<AbstractParameter> parameters)
        Получение структуры маппингов полей
        Parameters:
        parameters - Список полей
        Returns:
        Структура маппингов полей
      • normalizeValue

        public static Object normalizeValue​(Object value,
                                            String normalizer,
                                            DataSet allData,
                                            org.springframework.expression.ExpressionParser parser,
                                            org.springframework.beans.factory.BeanFactory beanFactory)
        Нормализация значения по SpEL выражению
        Parameters:
        value - Значение для нормализации
        normalizer - Нормализируещее выражение
        allData - Данные, используемые для нормализации (нужно для #data)
        parser - Парсер SpEL выражений
        beanFactory - Фабрика бинов спринга
        Returns:
        Нормализированное значение
      • normalizeValue

        public static Object normalizeValue​(Object value,
                                            String normalizer,
                                            DataSet allData,
                                            DataSet parentData,
                                            org.springframework.expression.ExpressionParser parser,
                                            org.springframework.beans.factory.BeanFactory beanFactory)
        Нормализация значения по SpEL выражению
        Parameters:
        value - Значение для нормализации
        normalizer - Нормализируещее выражение
        allData - Данные, используемые для нормализации
        parser - Парсер SpEL выражений
        beanFactory - Фабрика бинов спринга
        Returns:
        Нормализированное значение
      • resolveCondition

        public static Boolean resolveCondition​(String condition,
                                               Map<String,​Object> data)
        Вычисление значения условия SpEl выражения
        Parameters:
        condition - Условное SpEl выражение
        data - Исходные данные
        Returns:
        true/false
      • isMappingEnabled

        public static boolean isMappingEnabled​(String enabled,
                                               DataSet inDataSet)
        Проверка условия доступности выполнения маппинга
        Parameters:
        enabled - Условие доступности
        inDataSet - Исходные данные
        Returns:
        Возвращает true, если маппинг разрешено выполнить, иначе - false