Class RepositoryServerLoader<M,​E,​ID>

  • Type Parameters:
    M - Тип модели
    E - Тип сущности
    ID - Тип идентификатора сущности
    All Implemented Interfaces:
    LoaderDataInfo<M>, ServerLoader<M>

    public abstract class RepositoryServerLoader<M,​E,​ID>
    extends BaseServerLoader<M,​E>
    Серверный загрузчик данных через репозиторий Spring Data
    • Constructor Detail

      • RepositoryServerLoader

        public RepositoryServerLoader​(org.springframework.data.repository.CrudRepository<E,​ID> repository,
                                      LoaderMapper<M,​E> mapper,
                                      @Nullable
                                      SubjectFilter<E> filter,
                                      @Nullable
                                      EntityIdentifier<E,​ID> identifier)
        Конструктор серверного загрузчика данных с удаленим устаревших. Если передан фильтр по владельцу, то устаревшие данные этого владельца при загрузке будут удалены.
        Parameters:
        mapper - Конвертер
        repository - Репозиторий
        filter - Фильтр по владельцу
      • RepositoryServerLoader

        public RepositoryServerLoader​(org.springframework.data.repository.CrudRepository<E,​ID> repository,
                                      LoaderMapper<M,​E> mapper)
        Конструктор серверного загрузчика данных без удаления устаревших.
        Parameters:
        mapper - Конвертер
        repository - Репозиторий
    • Method Detail

      • map

        protected List<E> map​(List<M> models,
                              String subject)
        Description copied from class: BaseServerLoader
        Преобразование списка моделей в список сущностей
        Specified by:
        map in class BaseServerLoader<M,​E>
        Parameters:
        models - Список моделей
        subject - Владелец данных
        Returns:
        Список сущностей
      • findAllBySubject

        protected List<E> findAllBySubject​(String subject)
        Description copied from class: BaseServerLoader
        Найти все данные по владельцу
        Overrides:
        findAllBySubject in class BaseServerLoader<M,​E>
        Parameters:
        subject - Владелец данных
        Returns:
        Список данных
      • contains

        protected boolean contains​(List<E> entities,
                                   E candidate)
        Description copied from class: BaseServerLoader
        Содержится ли сущность в списке. Сравнивать нужно не по полной эквивалентности, а по ключевым свойствам.
        Overrides:
        contains in class BaseServerLoader<M,​E>
        Parameters:
        entities - Список
        candidate - Сущность
        Returns:
        Содержится true, не содержится false
      • create

        protected void create​(List<E> entities)
        Description copied from class: BaseServerLoader
        Сохранение записей
        Specified by:
        create in class BaseServerLoader<M,​E>
        Parameters:
        entities - Список сущностей, которые требуется создать
      • update

        protected void update​(List<E> entities)
        Description copied from class: BaseServerLoader
        Обновление записей
        Specified by:
        update in class BaseServerLoader<M,​E>
        Parameters:
        entities - Список сущностей, которые требуется обновить
      • delete

        protected void delete​(List<E> entities)
        Description copied from class: BaseServerLoader
        Удаление устаревших записей
        Specified by:
        delete in class BaseServerLoader<M,​E>
        Parameters:
        entities - Список сущностей, которые требуется удалить