Interface SourceProcessor
-
public interface SourceProcessorПроцессор исходных метаданных
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <T extends SourceMetadata>
voidcheckForExists(String id, Class<T> metadataClass, String errorMessage)Проверить метаданную на существованиеvoidcheckId(IdAware metadata, String errorMessage)Проверить идентификатор метаданной по соглашениям об именованииdefault voidcheckIdExistence(IdAware metadata, String errorMessage)Проверка, что у метаданной задан идентификаторdefault <T extends IdAware>
voidcheckIdsUnique(Collection<T> list, String errorMessage)Проверить уникальность идентификаторов в коллекцииdefault <T extends IdAware>
voidcheckIdsUnique(T[] list, String errorMessage)Проверить уникальность идентификаторов в массивеdefault voidcheckNotNull(Object something, String errorMessage)Проверить, что объект не nullStringgetMessage(String messageCode, Object... arguments)Получить локализованное сообщение по коду и аргументам<T extends SourceMetadata>
TgetOrThrow(String id, Class<T> metadataClass)Получить исходную метаданную по идентификатору или бросить исключение, если метаданная невалидна<D> DgetScope(Class<D> scopeClass)Получить метаданную, оказывающую влияние на валидацию<S extends SourceMetadata>
SgetSource(String id, Class<S> sourceClass)Получить исходный объект по идентификатору<S extends Source>
Smerge(S source, S override)Заменить свойства исходной метаданной значениями перекрывающей метаданной, если они не пустыObjectresolve(String placeholder)Заменить плейсхолдер на значение и конвертировать с автоподбором типа<T> Tresolve(String placeholder, Class<T> clazz)Заменить плейсхолдер на значение и конвертировать в классObjectresolve(String placeholder, String domain)Заменить плейсхолдер на значение конвертировать по доменуdefault <T> Stream<T>safeStreamOf(Collection<T> values)Получить поток значений из коллекцииdefault <T> Stream<T>safeStreamOf(T[] values)Получить поток значений из массива<T extends Source>
voidvalidate(T metadata, Object... scope)Провалидировать вложенную метаданную
-
-
-
Method Detail
-
validate
<T extends Source> void validate(T metadata, Object... scope)
Провалидировать вложенную метаданную- Type Parameters:
T- Тип метаданной- Parameters:
metadata- Исходная метаданнаяscope- Объекты, влияющие на внутренние валидации. Должны быть разных классов.
-
merge
<S extends Source> S merge(S source, S override)
Заменить свойства исходной метаданной значениями перекрывающей метаданной, если они не пусты- Type Parameters:
S- Тип значения- Parameters:
source- Исходная метаданнаяoverride- Перекрывающая метаданная- Returns:
- Исходная метаданная с перекрытыми свойствами
-
getSource
<S extends SourceMetadata> S getSource(String id, Class<S> sourceClass)
Получить исходный объект по идентификатору- Type Parameters:
S- Тип исходного объекта- Parameters:
id- ИдентификаторsourceClass- Класс исходного объекта- Returns:
- Исходный объект
-
getOrThrow
<T extends SourceMetadata> T getOrThrow(String id, Class<T> metadataClass)
Получить исходную метаданную по идентификатору или бросить исключение, если метаданная невалидна- Type Parameters:
T- Тип метаданной- Parameters:
id- ИдентификаторmetadataClass- Класс метаданной- Returns:
- Метаданная или null
-
getScope
<D> D getScope(Class<D> scopeClass)
Получить метаданную, оказывающую влияние на валидацию- Type Parameters:
D- Тип скоупа- Parameters:
scopeClass- Класс метаданной- Returns:
- Метаданная, оказывающая влияние на валидацию, или null
-
resolve
<T> T resolve(String placeholder, Class<T> clazz)
Заменить плейсхолдер на значение и конвертировать в класс- Type Parameters:
T- Тип значения- Parameters:
placeholder- Плейсхолдер- Returns:
- Значение
-
resolve
Object resolve(String placeholder, String domain)
Заменить плейсхолдер на значение конвертировать по домену- Parameters:
placeholder- значение для конвертацииdomain- Домен значения- Returns:
- значение
-
resolve
Object resolve(String placeholder)
Заменить плейсхолдер на значение и конвертировать с автоподбором типа- Parameters:
placeholder- значение для конвертации- Returns:
- значение
-
getMessage
String getMessage(String messageCode, Object... arguments)
Получить локализованное сообщение по коду и аргументам- Parameters:
messageCode- Код сообщенияarguments- Аргументы сообщения- Returns:
- Локализованное сообщение
-
checkNotNull
default void checkNotNull(Object something, String errorMessage)
Проверить, что объект не null- Parameters:
something- ОбъектerrorMessage- Сообщение о том, какой объект не должен быть null
-
checkForExists
<T extends SourceMetadata> void checkForExists(String id, Class<T> metadataClass, String errorMessage)
Проверить метаданную на существование- Type Parameters:
T- Тип метаданной- Parameters:
id- Идентификатор метаданнойmetadataClass- Класс метаданнойerrorMessage- Сообщение о том, какой метаданной не существует
-
checkId
void checkId(IdAware metadata, String errorMessage)
Проверить идентификатор метаданной по соглашениям об именовании- Parameters:
metadata- МетаданнаяerrorMessage- Сообщение о том, какой идентификатор не соответствует соглашениям об именовании
-
safeStreamOf
default <T> Stream<T> safeStreamOf(T[] values)
Получить поток значений из массива- Type Parameters:
T- Тип значений- Parameters:
values- Массив значений- Returns:
- Поток значений или пустой поток, если массив null
-
safeStreamOf
default <T> Stream<T> safeStreamOf(Collection<T> values)
Получить поток значений из коллекции- Type Parameters:
T- Тип значений- Parameters:
values- Коллекция значений- Returns:
- Поток значений или пустой поток, если коллекция null
-
checkIdExistence
default void checkIdExistence(IdAware metadata, String errorMessage)
Проверка, что у метаданной задан идентификатор- Parameters:
metadata- Валидируемая метаданнаяerrorMessage- Сообщение об ошибке
-
checkIdsUnique
default <T extends IdAware> void checkIdsUnique(T[] list, String errorMessage)
Проверить уникальность идентификаторов в массиве- Type Parameters:
T- Тип значений- Parameters:
list- Массив значенийerrorMessage- Сообщение в случае не уникальности
-
checkIdsUnique
default <T extends IdAware> void checkIdsUnique(Collection<T> list, String errorMessage)
Проверить уникальность идентификаторов в коллекции- Type Parameters:
T- Тип значений- Parameters:
list- Коллекция значенийerrorMessage- Сообщение в случае не уникальности
-
-