Class ContextQueryFilter

java.lang.Object
de.hybris.platform.jalo.flexiblesearch.AbstractQueryFilter
de.hybris.platform.jalo.flexiblesearch.ContextQueryFilter

public class ContextQueryFilter extends AbstractQueryFilter
Context query filter to be used for defining dynamic search restrictions.

Example:

 // 1. We want to limit Medias to *.jpg just for this session.
 ComposedType ct = TypeManager.getInstance().getComposedType(Media.class);
 ContextQueryFilter filter = new ContextQueryFilter("jpgOnly", ct, "{item.code} LIKE '%.jpg'");
 try
 {
        FlexibleSearch.getInstance().addContextQueryFilter(filter);

        // ... business code goes here now ...
 }
 finally
 {
        // clear all dynamic restrictions
        FlexibleSearch.getInstance().removeContextQueryFilter(filter);
 }

 // 2. We want to do the same but for local thread only
 SessionContext localCtx = JaloSession.getCurrentSession().createLocalSessionContext();
 try
 {
        FlexibleSearch.getInstance().addContextQueryFilter(filter);

        // ... business code goes here now ...
 }
 finally
 {
        JaloSession.getCurrentSession().removeLocalSessionContext();
        // no need to remove filter since whole ctx has been removed
 }