it_bus/complex_type_writer.h

00001 #ifndef _IT_BUS_COMPLEX_TYPE_WRITER_H_
00002 #define _IT_BUS_COMPLEX_TYPE_WRITER_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/types.h>
00008 #include <it_bus/serialization_exception.h>
00009 
00010 namespace IT_Bus
00011 {
00012     class AllComplexType;
00013     class AnyHolder;
00014     class Any;
00015     class AnyList;
00016     class AnySimpleType;
00017     class AnyType;
00018     class BinaryInParam;
00019     class BinaryOutParam;
00020     class ChoiceComplexType;
00021     class ComplexContentComplexType;
00022     class ElementList;
00023     class TypeList;
00024     class Nillable;
00025     class QName;
00026     class SequenceComplexType;
00027     class SimpleContentComplexType;
00028     class SoapEncArray;
00029     class SimpleTypeList;
00030     class SimpleTypeUnion;
00031    
00032     template<class T>
00033     class QNameHashMap;
00034     
00035     class IT_AFC_API ComplexTypeWriter 
00036     {
00037       public:
00038 
00039         ComplexTypeWriter();
00040 
00041         virtual ~ComplexTypeWriter();
00042 
00043         virtual void write(
00044             const QName& name,
00045             const AnyType& data
00046         ) throw((SerializationException));
00047 
00048         virtual void write(
00049             const QName & name,
00050             const String& sz
00051         ) throw((SerializationException)) = 0;
00052 
00053         virtual void write(
00054             const QName & name,
00055             const Boolean bFlag
00056         ) throw((SerializationException)) = 0;
00057 
00058         virtual void write(
00059             const QName & name,
00060             const Float number
00061         )throw((SerializationException)) = 0;
00062 
00063         virtual void write(
00064             const QName & name,
00065             const Double number
00066         ) throw((SerializationException)) = 0;
00067 
00068         virtual void write(
00069             const QName & name,
00070             const Int number
00071         ) throw((SerializationException)) = 0;
00072 
00073         virtual void write(
00074             const QName & name,
00075             const Long number
00076         ) throw((SerializationException)) = 0;
00077 
00078         virtual void write(
00079             const QName & name,
00080             const Short number
00081         ) throw((SerializationException)) = 0;
00082 
00083         virtual void write(
00084             const QName & name,
00085             const UInt number
00086         ) throw((SerializationException)) = 0;
00087 
00088         virtual void write(
00089             const QName & name,
00090             const ULong number
00091         ) throw((SerializationException)) = 0;
00092 
00093         virtual void write(
00094             const QName & name,
00095             const UShort number
00096         ) throw((SerializationException)) = 0;
00097 
00098         virtual void write(
00099             const QName & name,
00100             const Byte number
00101         ) throw((SerializationException)) = 0;
00102 
00103         virtual void write(
00104             const QName & name,
00105             const UByte number
00106         ) throw((SerializationException)) = 0;
00107 
00108         virtual void 
00109         write(
00110             const QName & name, 
00111             const DateTime & time
00112         ) throw((SerializationException)) = 0;
00113 
00114         virtual void 
00115         write(
00116             const QName & name, 
00117             const Decimal & fixed
00118         ) throw((SerializationException)) = 0;
00119 
00120         virtual void
00121         write(
00122             const QName & name,
00123             const BinaryInParam& data
00124         ) throw((SerializationException)) = 0;
00125 
00126         virtual void
00127         write(
00128             const QName & name,
00129             const QName & data
00130         ) throw((SerializationException)) = 0;
00131 
00132         virtual void 
00133         write_any_simple(
00134             const QName & name, 
00135             const AnySimpleType& data
00136         ) throw((SerializationException)) = 0;
00137 
00138         virtual void 
00139         write_simple_type_list(
00140             const QName & name, 
00141             const SimpleTypeList& data
00142         ) throw((SerializationException)) = 0;
00143 
00144         virtual void 
00145         write_simple_type_union(
00146             const QName & name, 
00147             const SimpleTypeUnion& data
00148         ) throw((SerializationException)) = 0;
00149 
00150         virtual void 
00151         write_sequence(
00152             const QName & name, 
00153             const SequenceComplexType & data
00154         ) throw((SerializationException)) = 0;
00155 
00156         virtual void 
00157         write_all(
00158             const QName & name, 
00159             const AllComplexType & data
00160         ) throw((SerializationException)) = 0;
00161 
00162         virtual void 
00163         write_choice(
00164             const QName & name, 
00165             const ChoiceComplexType & data
00166         ) throw((SerializationException)) = 0;
00167 
00168         virtual void 
00169         write_simple_content(
00170             const QName & name,
00171             const SimpleContentComplexType & data
00172         ) throw((SerializationException)) = 0;
00173 
00174         virtual void
00175         write_element_list(
00176             const QName & name,
00177             const ElementList& list
00178         ) throw((SerializationException)) = 0;
00179 
00180         virtual void
00181         write_type_list(
00182             const QName & name,
00183             const TypeList& list
00184         ) throw((SerializationException)) = 0;
00185 
00186         virtual void
00187         write_soap_enc_array(
00188             const QName & name,
00189             const SoapEncArray& list
00190         ) throw((SerializationException)) = 0;
00191 
00192         virtual void
00193         write_complex_content(
00194             const QName & name,
00195             const ComplexContentComplexType& data
00196         ) throw((SerializationException)) = 0;
00197         
00198         virtual void
00199         write_nillable(
00200             const QName& name,
00201             const Nillable& nillable
00202         ) throw((SerializationException)) = 0;
00203 
00204         virtual void
00205         write_any_holder(
00206             const QName& name,
00207             const AnyHolder& nillable
00208         ) throw((SerializationException)) = 0;
00209 
00210         virtual void
00211         write_any(
00212             const QName& name,
00213             const Any&   any
00214         ) throw((SerializationException)) = 0;
00215 
00216         virtual void
00217         write_any_list(
00218             const QName&    name,
00219             const TypeList& any
00220         ) throw((SerializationException)) = 0;
00221 
00222         virtual void
00223         write_attribute_map(
00224             const IT_Bus::QNameHashMap<IT_Bus::String> & map
00225         ) throw((SerializationException)) = 0;
00226         
00227         virtual bool
00228         is_derived_write() const = 0;
00229     };
00230 }
00231 
00232 #endif  

Generated on Tue Mar 20 15:27:41 2007 for Artix by  doxygen 1.5.1-p1