...
Code Block |
---|
language | java |
---|
title | Przykład z grupowaniem filtrów |
---|
linenumbers | true |
---|
|
//Tworzymy grupę warunków połączonych operatorem logicznym OR
GroupHibernateFilter groupFilter = new GroupHibernateFilter();
groupFilter.setLogicOperator( LogicOperator.OR );
SimpleHibernateFilter filter1 = new SimpleHibernateFilter( "userName", "j%", FilterOperator.LIKE );
groupFilter.addFilter(filter1);
SimpleHibernateFilter filter2 = new SimpleHibernateFilter( "firstName", "j%", FilterOperator.LIKE );
groupFilter.addFilter(filter2);
SimpleHibernateFilter filter3 = new SimpleHibernateFilter( "lastName", "j%", FilterOperator.LIKE );
groupFilter.addFilter(filter3); |
Powyższy przykład prezentuje filtry połączone warunkiem logicznym OR. Tak skonstruowany filtr wyszuka użytkowników których login lub imię lub nazwisko zaczynają się na literę "j".
Code Block |
---|
title | Przykład złożonego grupowania filtrów |
---|
|
//Tworzymy grupę warunków połączonych operatorem logicznym OR
GroupHibernateFilter mainGroupFilter = new GroupHibernateFilter();
mainGroupFilter.setLogicOperator( LogicOperator.OR );
//Tworzymy grupę warunków połączonych operatorem logicznym AND
GroupHibernateFilter subGroupFilter = new GroupHibernateFilter();
subGroupFilter1.setLogicOperator( LogicOperator.AND );
SimpleHibernateFilter filter1 = new SimpleHibernateFilter( "userName", "j%", FilterOperator.LIKE );
subGroupFilter.addFilter(filter1);
SimpleHibernateFilter filter2 = new SimpleHibernateFilter( "firstName", "k%", FilterOperator.LIKE );
subGroupFilter.addFilter(filter2);
//Tworzymy grupę warunków połączonych operatorem logicznym AND (jeżeli nie zdefiniujemy operatora to domyślnie jest nim AND)
SimpleHibernateFilter filter3 = new SimpleHibernateFilter( "userName", "jkowalski" );
subGroupFilter2.addFilter(filter3);
mainGroupFilter.addFilter( subGroupFilter );
mainGroupFilter.addFilter( filter3 ); |
W powyższym przykładzie został zdefiniowany złożony filtr grupowy. Wynikiem takiej implementacji będzie następujący warunek:
Code Block |
---|
|
( ( userName like "j%" AND firstName like "k% ) OR userName = "jkowalski" ) |