Class 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
     }
     
    • Constructor Detail

      • ContextQueryFilter

        public ContextQueryFilter​(java.lang.String code,
                                  ComposedType type,
                                  java.lang.String query)