00001
00002
00003
00004
00005 #ifndef INDRI_COPIER_HPP
00006 #define INDRI_COPIER_HPP
00007
00008 namespace indri {
00009 namespace lang {
00010 class Copier {
00011 public:
00012 virtual ~Copier();
00013 virtual void defaultBefore( class Node* oldNode );
00014 virtual class Node* defaultAfter( class Node* oldNode, class Node* newNode );
00015
00016 virtual void before( class IndexTerm* oldNode );
00017 virtual class Node* after( class IndexTerm* oldNode, class IndexTerm* newNode );
00018 virtual void before( class Field* oldNode );
00019 virtual class Node* after( class Field* oldNode, class Field* newNode );
00020 virtual void before( class ExtentInside* oldNode );
00021 virtual class Node* after( class ExtentInside* oldNode, class ExtentInside* newNode );
00022 virtual void before( class WeightedExtentOr* oldNode );
00023 virtual class Node* after( class WeightedExtentOr* oldNode, class WeightedExtentOr* newNode );
00024 virtual void before( class ExtentOr* oldNode );
00025 virtual class Node* after( class ExtentOr* oldNode, class ExtentOr* newNode );
00026 virtual void before( class ExtentAnd* oldNode );
00027 virtual class Node* after( class ExtentAnd* oldNode, class ExtentAnd* newNode );
00028 virtual void before( class BAndNode* oldNode );
00029 virtual class Node* after( class BAndNode* oldNode, class BAndNode* newNode );
00030 virtual void before( class UWNode* oldNode );
00031 virtual class Node* after( class UWNode* oldNode, class UWNode* newNode );
00032 virtual void before( class ODNode* oldNode );
00033 virtual class Node* after( class ODNode* oldNode, class ODNode* newNode );
00034 virtual void before( class FilReqNode* oldNode );
00035 virtual class Node* after( class FilReqNode* oldNode, class FilReqNode* newNode );
00036 virtual void before( class FilRejNode* oldNode );
00037 virtual class Node* after( class FilRejNode* oldNode, class FilRejNode* newNode );
00038 virtual void before( class FieldLessNode* oldNode );
00039 virtual class Node* after( class FieldLessNode* oldNode, class FieldLessNode* newNode );
00040 virtual void before( class FieldGreaterNode* oldNode );
00041 virtual class Node* after( class FieldGreaterNode* oldNode, class FieldGreaterNode* newNode );
00042 virtual void before( class FieldBetweenNode* oldNode );
00043 virtual class Node* after( class FieldBetweenNode* oldNode, class FieldBetweenNode* newNode );
00044 virtual void before( class FieldEqualsNode* oldNode );
00045 virtual class Node* after( class FieldEqualsNode* oldNode, class FieldEqualsNode* newNode );
00046 virtual void before( class RawScorerNode* oldNode );
00047 virtual class Node* after( class RawScorerNode* oldNode, class RawScorerNode* newNode );
00048 virtual void before( class TermFrequencyScorerNode* oldNode );
00049 virtual class Node* after( class TermFrequencyScorerNode* oldNode, class TermFrequencyScorerNode* newNode );
00050 virtual void before( class CachedFrequencyScorerNode* oldNode );
00051 virtual class Node* after( class CachedFrequencyScorerNode* oldNode, class CachedFrequencyScorerNode* newNode );
00052 virtual void before( class PriorNode* oldNode );
00053 virtual class Node* after( class PriorNode* oldNode, class PriorNode* newNode );
00054 virtual void before( class OrNode* oldNode );
00055 virtual class Node* after( class OrNode* oldNode, class OrNode* newNode );
00056 virtual void before( class NotNode* oldNode );
00057 virtual class Node* after( class NotNode* oldNode, class NotNode* newNode );
00058 virtual void before( class MaxNode* oldNode );
00059 virtual class Node* after( class MaxNode* oldNode, class MaxNode* newNode );
00060 virtual void before( class CombineNode* oldNode );
00061 virtual class Node* after( class CombineNode* oldNode, class CombineNode* newNode );
00062 virtual void before( class WAndNode* oldNode );
00063 virtual class Node* after( class WAndNode* oldNode, class WAndNode* newNode );
00064 virtual void before( class WSumNode* oldNode );
00065 virtual class Node* after( class WSumNode* oldNode, class WSumNode* newNode );
00066 virtual void before( class WeightNode* oldNode );
00067 virtual class Node* after( class WeightNode* oldNode, class WeightNode* newNode );
00068 virtual void before( class ExtentRestriction* oldNode );
00069 virtual class Node* after( class ExtentRestriction* oldNode, class ExtentRestriction* newNode );
00070 virtual void before( class FixedPassage* oldNode );
00071 virtual class Node* after( class FixedPassage* oldNode, class FixedPassage* newNode );
00072 virtual void before( class FilterNode* oldNode );
00073 virtual class Node* after( class FilterNode* oldNode, class FilterNode* newNode );
00074 virtual void before( class ListAccumulator* oldNode );
00075 virtual class Node* after( class ListAccumulator* oldNode, class ListAccumulator* newNode );
00076 virtual void before( class ContextCounterNode* oldNode );
00077 virtual class Node* after( class ContextCounterNode* oldNode, class ContextCounterNode* newNode );
00078 virtual void before( class ContextSimpleCounterNode* oldNode );
00079 virtual class Node* after( class ContextSimpleCounterNode* oldNode, class ContextSimpleCounterNode* newNode );
00080 virtual void before( class ScoreAccumulatorNode* oldNode );
00081 virtual class Node* after( class ScoreAccumulatorNode* oldNode, class ScoreAccumulatorNode* newNode );
00082 virtual void before( class AnnotatorNode* oldNode );
00083 virtual class Node* after( class AnnotatorNode* oldNode, class AnnotatorNode* newNode );
00084 virtual void before( class FieldWildcard* oldNode );
00085 virtual class Node* after( class FieldWildcard* oldNode, class FieldWildcard* newNode );
00086 virtual void before( class NestedExtentInside* oldNode );
00087 virtual class Node* after( class NestedExtentInside* oldNode, class NestedExtentInside* newNode );
00088 virtual void before( class NestedRawScorerNode* oldNode );
00089 virtual class Node* after( class NestedRawScorerNode* oldNode, class NestedRawScorerNode* newNode );
00090 virtual void before( class ExtentEnforcement* oldNode );
00091 virtual class Node* after( class ExtentEnforcement* oldNode, class ExtentEnforcement* newNode );
00092 virtual void before( class ContextInclusionNode* oldNode );
00093 virtual class Node* after( class ContextInclusionNode* oldNode, class ContextInclusionNode* newNode );
00094 virtual void before( class LengthPrior* oldNode );
00095 virtual class Node* after( class LengthPrior* oldNode, class LengthPrior* newNode );
00096 virtual void before( class DocumentStructureNode* oldNode );
00097 virtual class Node* after( class DocumentStructureNode* oldNode, class DocumentStructureNode* newNode );
00098 virtual void before( class ShrinkageScorerNode* oldNode );
00099 virtual class Node* after( class ShrinkageScorerNode* oldNode, class ShrinkageScorerNode* newNode );
00100 virtual void before( class ExtentDescendant* oldNode );
00101 virtual class Node* after( class ExtentDescendant* oldNode, class ExtentDescendant* newNode );
00102 virtual void before( class ExtentChild* oldNode );
00103 virtual class Node* after( class ExtentChild* oldNode, class ExtentChild* newNode );
00104 virtual void before( class ExtentParent* oldNode );
00105 virtual class Node* after( class ExtentParent* oldNode, class ExtentParent* newNode );
00106 virtual void before( class WildcardTerm* oldNode );
00107 virtual class Node* after( class WildcardTerm* oldNode, class WildcardTerm* newNode );
00108 virtual void before( class PlusNode* oldNode );
00109 virtual class Node* after( class PlusNode* oldNode, class PlusNode* newNode );
00110 virtual void before( class WPlusNode* oldNode );
00111 virtual class Node* after( class WPlusNode* oldNode, class WPlusNode* newNode );
00112 };
00113 }
00114 }
00115
00116 #endif // INDRI_COPER_HPP
00117