SourceForge.net Logo

UpdateFactory.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2001-2006
00003  *     DecisionSoft Limited. All rights reserved.
00004  * Copyright (c) 2004-2006
00005  *     Progress Software Corporation. All rights reserved.
00006  * Copyright (c) 2004-2006
00007  *     Oracle. All rights reserved.
00008  *
00009  * See the file LICENSE for redistribution information.
00010  *
00011  * $Id: UpdateFactory.hpp,v 1.4 2007/08/24 14:58:07 jpcs Exp $
00012  */
00013 
00014 #ifndef _UPDATEFACTORY_HPP
00015 #define _UPDATEFACTORY_HPP
00016 
00017 #include <xqilla/framework/XQillaExport.hpp>
00018 #include <xqilla/schema/DocumentCache.hpp>
00019 
00020 #include <xercesc/util/XMemory.hpp>
00021 
00022 class PendingUpdateList;
00023 class PendingUpdate;
00024 class DynamicContext;
00025 
00026 class XQILLA_API UpdateFactory : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
00027 {
00028 public:
00029   virtual ~UpdateFactory() {}
00030 
00031   virtual void applyUpdates(const PendingUpdateList &pul, DynamicContext *context, DocumentCache::ValidationMode valMode);
00032 
00033   virtual void applyPut(const PendingUpdate &update, DynamicContext *context) = 0;
00034   virtual void applyInsertInto(const PendingUpdate &update, DynamicContext *context) = 0;
00035   virtual void applyInsertAttributes(const PendingUpdate &update, DynamicContext *context) = 0;
00036   virtual void applyReplaceValue(const PendingUpdate &update, DynamicContext *context) = 0;
00037   virtual void applyRename(const PendingUpdate &update, DynamicContext *context) = 0;
00038   virtual void applyDelete(const PendingUpdate &update, DynamicContext *context) = 0;
00039   virtual void applyInsertBefore(const PendingUpdate &update, DynamicContext *context) = 0;
00040   virtual void applyInsertAfter(const PendingUpdate &update, DynamicContext *context) = 0;
00041   virtual void applyInsertAsFirst(const PendingUpdate &update, DynamicContext *context) = 0;
00042   virtual void applyInsertAsLast(const PendingUpdate &update, DynamicContext *context) = 0;
00043   virtual void applyReplaceNode(const PendingUpdate &update, DynamicContext *context) = 0;
00044   virtual void applyReplaceAttribute(const PendingUpdate &update, DynamicContext *context) = 0;
00045   virtual void applyReplaceElementContent(const PendingUpdate &update, DynamicContext *context) = 0;
00046 
00047   virtual void completeUpdate(DynamicContext *context) = 0;
00048 
00049 protected:
00050   DocumentCache::ValidationMode valMode_;  
00051 };
00052 
00053 #endif

Generated on Fri Aug 31 14:37:35 2007 for XQilla Simple API by  doxygen 1.5.1