Package com.saxonica.ee.trans
Class ContainsTokenPatternOptimizer
- java.lang.Object
 - 
- com.saxonica.ee.trans.PatternOptimizer
 - 
- com.saxonica.ee.trans.ContainsTokenPatternOptimizer
 
 
 
- 
public class ContainsTokenPatternOptimizer extends PatternOptimizer
A PatternOptimizer is an agent responsible for optimizing a particular class of patterns. It has two parts: a meta-pattern which determines which kinds of pattern it recognizes, and an action part which extracts characteristics and preconditions whose evaluation can be shared by all the rules in a rule chain 
- 
- 
Constructor Summary
Constructors Constructor Description ContainsTokenPatternOptimizer() 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanappliesTo(Pattern pattern)Ask whether this pattern optimizer is applicable to a particular patternstatic ContainsTokenPatternOptimizergetInstance()voidprocess(RuleEE rule, Pattern pattern, java.util.Map<Precondition,java.util.List<RuleEE>> preconditions, java.util.Map<Characteristic,Characteristic> characteristics)Process a particular pattern, potentially adding to the list of preconditions and characteristics maintained when processing a set of rules- 
Methods inherited from class com.saxonica.ee.trans.PatternOptimizer
addPrecondition, allocateCharacteristic 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getInstance
public static ContainsTokenPatternOptimizer getInstance()
 
- 
appliesTo
public boolean appliesTo(Pattern pattern)
Description copied from class:PatternOptimizerAsk whether this pattern optimizer is applicable to a particular pattern- Specified by:
 appliesToin classPatternOptimizer- Parameters:
 pattern- the pattern in question- Returns:
 - true if this pattern optimizer is applicable to this pattern
 
 
- 
process
public void process(RuleEE rule, Pattern pattern, java.util.Map<Precondition,java.util.List<RuleEE>> preconditions, java.util.Map<Characteristic,Characteristic> characteristics)
Description copied from class:PatternOptimizerProcess a particular pattern, potentially adding to the list of preconditions and characteristics maintained when processing a set of rules- Specified by:
 processin classPatternOptimizer- Parameters:
 rule- the rule to be processedpattern- the pattern used by this rulepreconditions- a collection of preconditions maintained for a set of rulescharacteristics- a collection of characteristics maintained for a set of rules. This is maintained as a map from characteristics to characteristics in which the key and the value are always the same; the reason for this curious structure is that when an equivalent characteristic is already present in the map, we want to return the existing characteristic to replace the new one; a JavaSetdoes not have any (efficient) operation to "find the existing value in the set that is equal to X".
 
 - 
 
 -