Criterion is a special group of interfaces that define search criteria when looking for a persistent object. A criterion instance is obtained through the corresponding manager interface. Methods from the criterion interface are used to place conditions to determine the objects that should be returned. Each method invocation places a condition on a particular field of the object. the object must match the conditions on all fields. Placing a condition on the same field twice adds another condition to that field; it does not replace the previous condition. A manager interface has methods that return the list of objects matching the criterion. Typically, there is an option to retrieve a certain number of matching objects starting from a given offset to allow processing of a large number of matched objects. The criterion interfaces available in the API are: