Interface ValidateProcessor


  • public interface ValidateProcessor
    Процессор валидации метаданных
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      <T extends SourceMetadata>
      void
      checkForExists​(java.lang.String id, java.lang.Class<T> metadataClass, java.lang.String errorMessage)
      Проверить метаданную на существование
      void checkId​(IdAware metadata, java.lang.String errorMessage)
      Проверить идентификатор метаданной по соглашениям об именовании
      default <T extends IdAware>
      void
      checkIdsUnique​(java.util.Collection<T> list, java.lang.String errorMessage)
      Проверить уникальность идентификаторов в коллекции
      default <T extends IdAware>
      void
      checkIdsUnique​(T[] list, java.lang.String errorMessage)
      Проверить уникальность идентификаторов в массиве
      default void checkNotNull​(java.lang.Object something, java.lang.String errorMessage)
      Проверить, что объект не null
      default void checkUniqueId​(IdAware metadata, java.util.Set<java.lang.String> exists, java.lang.String errorMessage)
      Проверить идентификатор метаданной на уникальность
      java.lang.String getMessage​(java.lang.String messageCode, java.lang.Object... arguments)
      Получить локализованное сообщение по коду и аргументам
      <T extends SourceMetadata>
      T
      getOrNull​(java.lang.String id, java.lang.Class<T> metadataClass)
      Получить исходную метаданную по идентификатору или вернуть null, если метаданная невалидна
      <T extends SourceMetadata>
      T
      getOrThrow​(java.lang.String id, java.lang.Class<T> metadataClass)
      Получить исходную метаданную по идентификатору или бросить исключение, если метаданная невалидна
      <D> D getScope​(java.lang.Class<D> scopeClass)
      Получить метаданную, оказывающую влияние на валидацию
      default <T> java.util.stream.Stream<T> safeStreamOf​(java.util.Collection<T> values)
      Получить поток значений из коллекции
      default <T> java.util.stream.Stream<T> safeStreamOf​(T[] values)
      Получить поток значений из массива
      <T extends Source>
      void
      validate​(T metadata, java.lang.Object... scope)
      Провалидировать вложенную метаданную
    • Method Detail

      • validate

        <T extends Source> void validate​(T metadata,
                                         java.lang.Object... scope)
        Провалидировать вложенную метаданную
        Type Parameters:
        T - Тип метаданной
        Parameters:
        metadata - Исходная метаданная
        scope - Объекты, влияющие на внутренние валдиации. Должны быть разных классов.
      • getOrNull

        <T extends SourceMetadata> T getOrNull​(java.lang.String id,
                                               java.lang.Class<T> metadataClass)
        Получить исходную метаданную по идентификатору или вернуть null, если метаданная невалидна
        Type Parameters:
        T - Тип метаданной
        Parameters:
        id - Идентификатор
        metadataClass - Класс метаданной
        Returns:
        Метаданная или null
      • getOrThrow

        <T extends SourceMetadata> T getOrThrow​(java.lang.String id,
                                                java.lang.Class<T> metadataClass)
        Получить исходную метаданную по идентификатору или бросить исключение, если метаданная невалидна
        Type Parameters:
        T - Тип метаданной
        Parameters:
        id - Идентификатор
        metadataClass - Класс метаданной
        Returns:
        Метаданная или null
      • getScope

        <D> D getScope​(java.lang.Class<D> scopeClass)
        Получить метаданную, оказывающую влияние на валидацию
        Type Parameters:
        D - Тип скоупа
        Parameters:
        scopeClass - Класс метаданной
        Returns:
        Метаданная, оказывающая влияние на валидацию, или null
      • checkNotNull

        default void checkNotNull​(java.lang.Object something,
                                  java.lang.String errorMessage)
        Проверить, что объект не null
        Parameters:
        something - Объект
        errorMessage - Сообщение о том, какой объект не должен быть null
      • checkForExists

        <T extends SourceMetadata> void checkForExists​(java.lang.String id,
                                                       java.lang.Class<T> metadataClass,
                                                       java.lang.String errorMessage)
        Проверить метаданную на существование
        Type Parameters:
        T - Тип метаданной
        Parameters:
        id - Идентификатор метаданной
        metadataClass - Класс метаданной
        errorMessage - Сообщение о том, какой метаданной не существует
      • checkId

        void checkId​(IdAware metadata,
                     java.lang.String errorMessage)
        Проверить идентификатор метаданной по соглашениям об именовании
        Parameters:
        metadata - Метаданная
        errorMessage - Сообщение о том, какой идентификатор не соответствует соглашениям об именовании
      • checkUniqueId

        default void checkUniqueId​(IdAware metadata,
                                   java.util.Set<java.lang.String> exists,
                                   java.lang.String errorMessage)
        Проверить идентификатор метаданной на уникальность
        Parameters:
        metadata - Метаданная
        errorMessage - Сообщение о том, какой идентификатор не уникален
      • safeStreamOf

        default <T> java.util.stream.Stream<T> safeStreamOf​(T[] values)
        Получить поток значений из массива
        Type Parameters:
        T - Тип значений
        Parameters:
        values - Массив значений
        Returns:
        Поток значений или пустой поток, если массив null
      • safeStreamOf

        default <T> java.util.stream.Stream<T> safeStreamOf​(java.util.Collection<T> values)
        Получить поток значений из коллекции
        Type Parameters:
        T - Тип значений
        Parameters:
        values - Коллекция значений
        Returns:
        Поток значений или пустой поток, если коллекция null
      • checkIdsUnique

        default <T extends IdAware> void checkIdsUnique​(T[] list,
                                                        java.lang.String errorMessage)
        Проверить уникальность идентификаторов в массиве
        Type Parameters:
        T - Тип значений
        Parameters:
        list - Массив значений
        errorMessage - Сообщение в случае не уникальности
      • checkIdsUnique

        default <T extends IdAware> void checkIdsUnique​(java.util.Collection<T> list,
                                                        java.lang.String errorMessage)
        Проверить уникальность идентификаторов в коллекции
        Type Parameters:
        T - Тип значений
        Parameters:
        list - Коллекция значений
        errorMessage - Сообщение в случае не уникальности
      • getMessage

        java.lang.String getMessage​(java.lang.String messageCode,
                                    java.lang.Object... arguments)
        Получить локализованное сообщение по коду и аргументам
        Parameters:
        messageCode - Код сообщения
        arguments - Аргументы сообщения
        Returns:
        Локализованное сообщение