This page is a draft. It still needs to be completed.


The user needs to search data among a myriad possible results. The filter provides a criteria to reduce the quantity of information and to narrow and keep the focus into the needed data.


Search, Focus.



A filter is a criteria useful for searching for objects. Given a certain class, the user needs to search for objects satisfying a given condition. E.g. searching customer by name or surname in a the system.

A condition must be formulated in terms of the object properties. This condition can be checked again each object belonging to that class. All objects satisfying such condition conforms the subset to be shown to the user.


Providing methods to constrains the amount of data. Keeping the focus.



A filter for a class can be viewed as a query method in such class. The filter has a unique name in the class and a list of parameters to concrete the searching criteria. The filter method returns, as a result, a collection of objects. The filter is expressed in a formula using filter parameters, attributes of the class, constants, literals and operators. The formula is always evaluated to a boolean type. The semantic of the formula is the following: the result returned by the filter is a collection of objects that satisfies (makes true) the formula.

Related patterns

Query By Example (QBE) techniques (Zloof, 1977) where the user can create on the fly the criteria could be also applied, but previous experiences reveal that, in general, users do not need a powerful search engine. On the contrary, users usually employ few filters for a given scenario and prefer easy to use specific tailored filters for the current tasks. In this way, usability is increased.

Root CUIP Metalevel

Valid XHTML 1.0 Strict Valid CSS