public final class CriteriaUtility extends Object
Modifier and Type | Method and Description |
---|---|
static <C> Criteria |
doRemovePartitionCriteria(Criteria aCriteria,
String aKey,
Set<C> aPartitions)
Removes the criteria for the provided partitions given key.
|
static <P> Set<P> |
getPartitions(Criteria aCriteria,
String aKey,
Class<P> aType)
Tries to determine the partitions specified by the given key and type
being addressed by the query represented by the given criteria.
|
public static <P> Set<P> getPartitions(Criteria aCriteria, String aKey, Class<P> aType)
EqualCriteria
values for the partition key and type (compared to
the partition value) are determined embedded in CriteriaNode
s.
-------------------------------------------------------------------------
Caution: In order for partitioning to work, the provided key specifying
the partition must be reflected in the criteria's key. The following
rules are required in order to determine the partition from the criteria:
The provided criteria must be of type CriteriaNode
or
EqualCriteria
. The CriteriaNode
must contain one ore more
EqualCriteria
referring the provided key and partition.
-------------------------------------------------------------------------aCriteria
- The criteria from which to retrieve the according
partition.aKey
- The key representing the partition criteria's key.aType
- The type representing the partition criteria's value's type.Criteria
are targeted at.public static <C> Criteria doRemovePartitionCriteria(Criteria aCriteria, String aKey, Set<C> aPartitions)
PartitioningLoggerServiceImpl
. Only in
case one partition is addressed by the criteria, then the partition to be
addressed is known and then we can safely remove the criteria. Use the
getPartitions(Criteria, String, Class)
method for getting the
partitions being addressed by the given criteria. When there is just one
partition being addressed, then this partition's criteria may be removed
from the criteria: The criteria's query is targeted at the according
partition, we do not need to include the select statement for that
partition! Actually EqualCriteria
for the partition columns and
the given partition are removed.
-------------------------------------------------------------------------
Caution: In order for partitioning to work, the provided key specifying
the partition must be reflected in the criteria's key. The following
rules are required in order to determine the partition from the criteria:
The provided criteria must be of type CriteriaNode
or
EqualCriteria
. The CriteriaNode
must contain one ore more
EqualCriteria
referring the provided key and partition.
-------------------------------------------------------------------------aCriteria
- The criteria from which to retrieve the according
partitionaKey
- The key representing the partition criteria's key.aPartitions
- The partitions for which to remove the criteriaCopyright © 2015. All rights reserved.