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 ExtentOr* oldNode );
00023 virtual class Node* after( class ExtentOr* oldNode, class ExtentOr* newNode );
00024 virtual void before( class ExtentAnd* oldNode );
00025 virtual class Node* after( class ExtentAnd* oldNode, class ExtentAnd* newNode );
00026 virtual void before( class UWNode* oldNode );
00027 virtual class Node* after( class UWNode* oldNode, class UWNode* newNode );
00028 virtual void before( class ODNode* oldNode );
00029 virtual class Node* after( class ODNode* oldNode, class ODNode* newNode );
00030 virtual void before( class FilReqNode* oldNode );
00031 virtual class Node* after( class FilReqNode* oldNode, class FilReqNode* newNode );
00032 virtual void before( class FilRejNode* oldNode );
00033 virtual class Node* after( class FilRejNode* oldNode, class FilRejNode* newNode );
00034 virtual void before( class FieldLessNode* oldNode );
00035 virtual class Node* after( class FieldLessNode* oldNode, class FieldLessNode* newNode );
00036 virtual void before( class FieldGreaterNode* oldNode );
00037 virtual class Node* after( class FieldGreaterNode* oldNode, class FieldGreaterNode* newNode );
00038 virtual void before( class FieldBetweenNode* oldNode );
00039 virtual class Node* after( class FieldBetweenNode* oldNode, class FieldBetweenNode* newNode );
00040 virtual void before( class FieldEqualsNode* oldNode );
00041 virtual class Node* after( class FieldEqualsNode* oldNode, class FieldEqualsNode* newNode );
00042 virtual void before( class RawScorerNode* oldNode );
00043 virtual class Node* after( class RawScorerNode* oldNode, class RawScorerNode* newNode );
00044 virtual void before( class TermFrequencyScorerNode* oldNode );
00045 virtual class Node* after( class TermFrequencyScorerNode* oldNode, class TermFrequencyScorerNode* newNode );
00046 virtual void before( class CachedFrequencyScorerNode* oldNode );
00047 virtual class Node* after( class CachedFrequencyScorerNode* oldNode, class CachedFrequencyScorerNode* newNode );
00048 virtual void before( class PriorNode* oldNode );
00049 virtual class Node* after( class PriorNode* oldNode, class PriorNode* newNode );
00050 virtual void before( class OrNode* oldNode );
00051 virtual class Node* after( class OrNode* oldNode, class OrNode* newNode );
00052 virtual void before( class NotNode* oldNode );
00053 virtual class Node* after( class NotNode* oldNode, class NotNode* newNode );
00054 virtual void before( class MaxNode* oldNode );
00055 virtual class Node* after( class MaxNode* oldNode, class MaxNode* newNode );
00056 virtual void before( class CombineNode* oldNode );
00057 virtual class Node* after( class CombineNode* oldNode, class CombineNode* newNode );
00058 virtual void before( class WAndNode* oldNode );
00059 virtual class Node* after( class WAndNode* oldNode, class WAndNode* newNode );
00060 virtual void before( class WSumNode* oldNode );
00061 virtual class Node* after( class WSumNode* oldNode, class WSumNode* newNode );
00062 virtual void before( class WeightNode* oldNode );
00063 virtual class Node* after( class WeightNode* oldNode, class WeightNode* newNode );
00064 virtual void before( class ExtentRestriction* oldNode );
00065 virtual class Node* after( class ExtentRestriction* oldNode, class ExtentRestriction* newNode );
00066 virtual void before( class FilterNode* oldNode );
00067 virtual class Node* after( class FilterNode* oldNode, class FilterNode* newNode );
00068 virtual void before( class ContextCounterNode* oldNode );
00069 virtual class Node* after( class ContextCounterNode* oldNode, class ContextCounterNode* newNode );
00070 virtual void before( class ScoreAccumulatorNode* oldNode );
00071 virtual class Node* after( class ScoreAccumulatorNode* oldNode, class ScoreAccumulatorNode* newNode );
00072 virtual void before( class AnnotatorNode* oldNode );
00073 virtual class Node* after( class AnnotatorNode* oldNode, class AnnotatorNode* newNode );
00074 };
00075 };
00076 };
00077
00078 #endif // INDRI_COPER_HPP
00079