net.sourceforge.pbeans
Class Criteria

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap
          extended by net.sourceforge.pbeans.Criteria
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map

public class Criteria
extends java.util.HashMap

Criteria is a simple HashMap with additional bells and whistles. When using criteria instead of simple map, you can use any operator for identifying needed objects in the database. Example of using Criteria.

        Criteria criteria = new Criteria();
        criteria.put("userName", "joe");
        criteria.put("age", "30", Operator.LESS_THAN);
        criteria.put("description", "%book%", new SimpleOperator(" LIKE "));
        
        ResultsIterator iterator = store.select(User.class, criteria);
 

Author:
Marius Siegas
See Also:
Serialized Form

Constructor Summary
Criteria()
          Creates new criteria.
Criteria(java.util.Map comparisonoperatorMap)
          Creates new criteria using specified operator mapping.
Criteria(java.util.Map logicaloperatorMap, LogicalOperator defaultLogicalOperator)
          Creates new criteria using specified operator mapping and default logical operator.
Criteria(java.util.Map comparisonoperatorMap, Operator defaultComparisonOperator)
          Creates new criteria using specified operator mapping and default operator.
Criteria(java.util.Map comparisonoperatorMap, Operator defaultcomparisonOperator, LogicalOperator defaultLogicalOperator)
          Creates new criteria using specified operator mapping and default logical operator.
Criteria(java.util.Map comparisonoperatorMap, Operator defaultComparisonOperator, java.util.Map logicalOperatorMap, LogicalOperator defaultLogicalOperator)
          Creates new criteria using specified operator mapping and default comparison operator and default logical operator.
 
Method Summary
 Operator getDefaultComparisonOperator()
           
 LogicalOperator getDefaultLogicalOperator()
           
 LogicalOperator getLogicalOperator(java.lang.Object key)
          Returns logical operator associated with specified key.
 java.util.Map getLogicalOperatorMap()
           
 Operator getOperator(java.lang.Object key)
          Returns operator associated with specified key.
 java.util.Map getOperatorMap()
          Returns internal operator map.
 java.lang.Object put(java.lang.Object key, java.lang.Object value, LogicalOperator logicalOperator)
          Same as HashMap.put(java.lang.Object, java.lang.Object), but also associates specified logical operator with the key.
 java.lang.Object put(java.lang.Object key, java.lang.Object value, Operator operator)
          Same as HashMap.put(java.lang.Object, java.lang.Object), but also associates specified comparison operator with the key.
 java.lang.Object put(java.lang.Object key, java.lang.Object value, Operator operator, LogicalOperator logicalOperator)
          Same as HashMap.put(java.lang.Object, java.lang.Object), but also associates specified logical and comparison operator with the key.
 LogicalOperator putLogicalOperator(java.lang.Object key, LogicalOperator operator)
          Specifies logical operator to use on the key.
 Operator putOperator(java.lang.Object key, Operator operator)
          Specifies operator to use on the key.
 java.lang.Object remove(java.lang.Object key)
          Removes the mapping for the specified key from this criteria if present.
 LogicalOperator removeLogicalOperator(java.lang.Object key)
          Removes logical operator used for the specified key.
 Operator removeOperator(java.lang.Object key)
          Removes operator used for the specified key.
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

Criteria

public Criteria(java.util.Map comparisonoperatorMap,
                Operator defaultComparisonOperator)
Creates new criteria using specified operator mapping and default operator.

Parameters:
comparisonoperatorMap - operator mapping for this criteria.
defaultComparisonOperator - default operator to use when no operator mapping exists for a key.

Criteria

public Criteria(java.util.Map logicaloperatorMap,
                LogicalOperator defaultLogicalOperator)
Creates new criteria using specified operator mapping and default logical operator.

Parameters:
logicaloperatorMap - operator mapping for this criteria.
defaultLogicalOperator - default operator to use when no operator mapping exists for a key.

Criteria

public Criteria(java.util.Map comparisonoperatorMap,
                Operator defaultcomparisonOperator,
                LogicalOperator defaultLogicalOperator)
Creates new criteria using specified operator mapping and default logical operator.

Parameters:
comparisonoperatorMap - operator mapping for this criteria.
defaultcomparisonOperator - default operator to use when no operator mapping exists for a key.

Criteria

public Criteria(java.util.Map comparisonoperatorMap,
                Operator defaultComparisonOperator,
                java.util.Map logicalOperatorMap,
                LogicalOperator defaultLogicalOperator)
Creates new criteria using specified operator mapping and default comparison operator and default logical operator.

Parameters:
comparisonoperatorMap - Comparison operator mapping for this criteria.
defaultComparisonOperator - Comparison operator to use when no comparison operator mapping exists for a key.
logicalOperatorMap -
defaultLogicalOperator -

Criteria

public Criteria(java.util.Map comparisonoperatorMap)
Creates new criteria using specified operator mapping. Uses Operator.EQUALS for default comparison operator.

Parameters:
comparisonoperatorMap - operator mapping for this criteria.

Criteria

public Criteria()
Creates new criteria. Uses new HashMap for operators and equality operator for default operator.

Method Detail

getOperatorMap

public java.util.Map getOperatorMap()
Returns internal operator map. This is used internally when recreating Criteria with modified values.

Returns:
key-operator mapping.

getLogicalOperatorMap

public java.util.Map getLogicalOperatorMap()

getOperator

public Operator getOperator(java.lang.Object key)
Returns operator associated with specified key.

Parameters:
key - key whose operator is to be returned.
Returns:
Operator for the key. Returns default operator if the key has none or null operator associated with it. Should never return null.

putOperator

public Operator putOperator(java.lang.Object key,
                            Operator operator)
Specifies operator to use on the key.

Parameters:
key - the key.
operator - the new operator.
Returns:
previous operator used with the key.

removeOperator

public Operator removeOperator(java.lang.Object key)
Removes operator used for the specified key.

Parameters:
key - key whose operator is to be removed.
Returns:
the removed operator.

getLogicalOperator

public LogicalOperator getLogicalOperator(java.lang.Object key)
Returns logical operator associated with specified key.

Parameters:
key - key whose logical operator is to be returned.
Returns:
logical operator for the key. Returns default logical operator if the key has none or null logical operator associated with it. Should never return null.

putLogicalOperator

public LogicalOperator putLogicalOperator(java.lang.Object key,
                                          LogicalOperator operator)
Specifies logical operator to use on the key.

Parameters:
key - the key.
operator - the new operator.
Returns:
previous operator used with the key.

removeLogicalOperator

public LogicalOperator removeLogicalOperator(java.lang.Object key)
Removes logical operator used for the specified key.

Parameters:
key - key whose operator is to be removed.
Returns:
the removed operator.

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value,
                            Operator operator)
Same as HashMap.put(java.lang.Object, java.lang.Object), but also associates specified comparison operator with the key.


put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value,
                            LogicalOperator logicalOperator)
Same as HashMap.put(java.lang.Object, java.lang.Object), but also associates specified logical operator with the key.


put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value,
                            Operator operator,
                            LogicalOperator logicalOperator)
Same as HashMap.put(java.lang.Object, java.lang.Object), but also associates specified logical and comparison operator with the key.


remove

public java.lang.Object remove(java.lang.Object key)
Removes the mapping for the specified key from this criteria if present. Also removes operator associated with the key.

Specified by:
remove in interface java.util.Map
Overrides:
remove in class java.util.HashMap
Parameters:
key - key whose mapping is to be removed from the map.
Returns:
previous value associated with the key.
See Also:
HashMap.remove(java.lang.Object)

getDefaultLogicalOperator

public LogicalOperator getDefaultLogicalOperator()

getDefaultComparisonOperator

public Operator getDefaultComparisonOperator()