it_bus/ncname.h

00001 #ifndef _IT_BUS_NCNAME_H_
00002 #define _IT_BUS_NCNAME_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_cal/types.h>
00008 #include <it_bus/exception.h>
00009 #include <it_bus/api_defines.h>
00010 #include <it_bus/name.h>
00011 
00012 namespace IT_Reflect 
00013 {
00014     class Reflection;
00015     template <class T> class ValueRef;
00016 }
00017 
00018 namespace IT_Bus
00019 {
00023     class IT_AFC_API NCName : public Name
00024     {
00025       public:
00026         typedef IT_Reflect::ValueRef<IT_Bus::NCName> IT_ReflectionType;
00027 
00031         NCName(
00032         ) throw(());
00033 
00042         NCName(
00043             const String& value
00044         ) throw((IT_Bus::Exception));
00045 
00054         NCName(
00055             const char* value
00056         ) throw((IT_Bus::Exception));
00057 
00061         NCName(
00062             const NCName& copy
00063         ) throw(());
00064 
00068         NCName&
00069         operator=(
00070             const NCName& rhs
00071         ) throw(());
00072 
00078         static bool
00079         is_valid_ncname(
00080             const String& value
00081         ) throw(());
00082 
00083         // Implementation of methods from AnyType.
00084         //
00085         virtual AnyType&
00086         copy(
00087             const AnyType& copy
00088         );
00089 
00096         virtual const QName&
00097         get_type() const;
00098 
00099         virtual IT_Reflect::Reflection*
00100         get_reflection(
00101         ) throw((IT_Reflect::ReflectException));
00102         
00103         virtual const IT_Reflect::Reflection*
00104         get_reflection(
00105         ) const throw((IT_Reflect::ReflectException));
00106 
00107         // Used by SchemaTypeTraits.
00108         //
00109         static const QName&
00110         get_static_type();
00111 
00112       protected:
00119         virtual void
00120         validate_string(
00121             const String& value
00122         ) throw((IT_Bus::Exception));
00123     };
00124 }
00125 
00126 #endif /*_IT_BUS_NCNAME_H_*/

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