Class AbstractSearchController<E extends pl.matsuo.core.model.AbstractEntity,​P extends pl.matsuo.core.params.IQueryRequestParams>

java.lang.Object
pl.matsuo.core.web.controller.AbstractSearchController<E,​P>
Direct Known Subclasses:
AbstractController, PayerController

@Transactional
public abstract class AbstractSearchController<E extends pl.matsuo.core.model.AbstractEntity,​P extends pl.matsuo.core.params.IQueryRequestParams>
extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  AbstractSearchController.EntityNotFoundException  
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected pl.matsuo.core.service.db.Database database  
    protected pl.matsuo.core.model.api.Initializer<E>[] entityInitializers  
    protected Class<E> entityType  
    protected IFacadeBuilder facadeBuilder  
  • Constructor Summary

    Constructors
    Constructor Description
    AbstractSearchController()  
  • Method Summary

    Modifier and Type Method Description
    protected List<? extends pl.matsuo.core.model.api.Initializer<? super E>> entityInitializers()  
    protected <F extends pl.matsuo.core.model.AbstractEntity>
    pl.matsuo.core.model.query.AbstractQuery<F>
    entityQuery​(Class<F> entity, pl.matsuo.core.model.query.condition.Condition... conditions)
    Pomocnicza metoda wyszukiwania gdy zapytanie wymaga jedynie przekazania kryteriów.
    org.springframework.http.HttpEntity<E> find​(Long id)
    Pobiera pojedynczą encję danego typu po id.
    protected <F extends pl.matsuo.core.model.AbstractEntity>
    List<F>
    list​(Class<F> entity, P params)
    Domyślna metoda listująca elementy według zadanych parametrów.
    List<E> list​(P params)
    Domyślna metoda listująca elementy według zadanych parametrów.
    protected List<E> list​(pl.matsuo.core.model.query.condition.Condition... conditions)
    Pomocnicza metoda wyszukiwania gdy zapytanie wymaga jedynie przekazania kryteriów.
    List<E> listByIds​(List<Long> ids)
    Pobiera listę encji danego typu po kolekcji identyfikatorów.
    protected <F extends pl.matsuo.core.model.AbstractEntity>
    pl.matsuo.core.model.query.AbstractQuery<F>
    listQuery​(Class<F> entity, P params, List<Function<F,​String>> queryMatchers, pl.matsuo.core.model.query.condition.Condition... additionalConditions)
    Tworzy proste zapytanie na podstawie przekazanej mapy parametrów.
    protected <F extends pl.matsuo.core.model.AbstractEntity>
    pl.matsuo.core.model.query.AbstractQuery<F>
    listQuery​(Class<F> entity, P params, pl.matsuo.core.model.query.condition.Condition... additionalConditions)  
    protected pl.matsuo.core.model.query.AbstractQuery<E> listQuery​(P params, pl.matsuo.core.model.query.condition.Condition... additionalConditions)  
    protected List<Function<E,​String>> queryMatchers()
    Lista pól z którymi należy porównywać wartość parametru 'query' z zapytania listującego elementy.
    protected <F extends pl.matsuo.core.model.AbstractEntity>
    List<Function<F,​String>>
    queryMatchers​(Class<F> entity)
    Lista pól z którymi należy porównywać wartość parametru 'query' z zapytania listującego elementy.
    void setDatabase​(pl.matsuo.core.service.db.Database database)  
    void setFacadeBuilder​(IFacadeBuilder facadeBuilder)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • database

      @Autowired protected pl.matsuo.core.service.db.Database database
    • facadeBuilder

      @Autowired protected IFacadeBuilder facadeBuilder
    • entityType

      protected final Class<E extends pl.matsuo.core.model.AbstractEntity> entityType
    • entityInitializers

      protected final pl.matsuo.core.model.api.Initializer<E extends pl.matsuo.core.model.AbstractEntity>[] entityInitializers
  • Constructor Details

    • AbstractSearchController

      public AbstractSearchController()
  • Method Details

    • queryMatchers

      protected <F extends pl.matsuo.core.model.AbstractEntity> List<Function<F,​String>> queryMatchers​(Class<F> entity)
      Lista pól z którymi należy porównywać wartość parametru 'query' z zapytania listującego elementy.
    • queryMatchers

      protected List<Function<E,​String>> queryMatchers()
      Lista pól z którymi należy porównywać wartość parametru 'query' z zapytania listującego elementy.
    • listQuery

      protected <F extends pl.matsuo.core.model.AbstractEntity> pl.matsuo.core.model.query.AbstractQuery<F> listQuery​(Class<F> entity, P params, List<Function<F,​String>> queryMatchers, pl.matsuo.core.model.query.condition.Condition... additionalConditions)
      Tworzy proste zapytanie na podstawie przekazanej mapy parametrów. Jedynym obsługiwanym parametrem jest 'query' - na podstawie listy pól zwracanych przez queryMatchers(Class) buduje zapytanie wymagające aby każde słowo z 'query' znalazło się w którymś z pól.
    • listQuery

      protected <F extends pl.matsuo.core.model.AbstractEntity> pl.matsuo.core.model.query.AbstractQuery<F> listQuery​(Class<F> entity, P params, pl.matsuo.core.model.query.condition.Condition... additionalConditions)
    • listQuery

      protected pl.matsuo.core.model.query.AbstractQuery<E> listQuery​(P params, pl.matsuo.core.model.query.condition.Condition... additionalConditions)
    • list

      protected <F extends pl.matsuo.core.model.AbstractEntity> List<F> list​(Class<F> entity, P params)
      Domyślna metoda listująca elementy według zadanych parametrów.
    • list

      @RequestMapping(method=GET) public List<E> list​(P params)
      Domyślna metoda listująca elementy według zadanych parametrów.
    • list

      protected List<E> list​(pl.matsuo.core.model.query.condition.Condition... conditions)
      Pomocnicza metoda wyszukiwania gdy zapytanie wymaga jedynie przekazania kryteriów.
    • entityQuery

      protected <F extends pl.matsuo.core.model.AbstractEntity> pl.matsuo.core.model.query.AbstractQuery<F> entityQuery​(Class<F> entity, pl.matsuo.core.model.query.condition.Condition... conditions)
      Pomocnicza metoda wyszukiwania gdy zapytanie wymaga jedynie przekazania kryteriów.
    • listByIds

      @RequestMapping(value="/list/byIds", method=GET, consumes="application/octet-stream") public List<E> listByIds​(@RequestParam("ids") List<Long> ids)
      Pobiera listę encji danego typu po kolekcji identyfikatorów.
    • find

      @RequestMapping(value="/{id}", method=GET) public org.springframework.http.HttpEntity<E> find​(@PathVariable("id") Long id)
      Pobiera pojedynczą encję danego typu po id.
    • entityInitializers

      protected List<? extends pl.matsuo.core.model.api.Initializer<? super E>> entityInitializers()
    • setDatabase

      public void setDatabase​(pl.matsuo.core.service.db.Database database)
    • setFacadeBuilder

      public void setFacadeBuilder​(IFacadeBuilder facadeBuilder)