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 
     
  • Field Summary

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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected List<? extends pl.matsuo.core.model.api.Initializer<? super E>>
     
    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(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.
    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>>
    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
     

    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)