it_bus/nmtoken.h

00001 #ifndef _IT_BUS_NMTOKEN_H_
00002 #define _IT_BUS_NMTOKEN_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/token.h>
00011 
00012 namespace IT_Reflect 
00013 {
00014     class Reflection;
00015     template <class T> class ValueRef;
00016 }
00017 
00018 namespace IT_Bus
00019 {
00020     class IT_AFC_API NMToken : public Token
00021     {
00022       public:
00023         typedef IT_Reflect::ValueRef<IT_Bus::NMToken> IT_ReflectionType;
00024 
00025         NMToken(
00026         ) IT_THROW_DECL(());
00027 
00028         NMToken(
00029             const String& value
00030         ) IT_THROW_DECL((IT_Bus::Exception));
00031 
00032         NMToken(
00033             const NMToken& copy
00034         ) IT_THROW_DECL(());
00035 
00036         NMToken&
00037         operator=(
00038             const NMToken& rhs
00039         ) IT_THROW_DECL(());
00040 
00041         static bool
00042         is_valid_nmtoken(
00043             const String& value
00044         ) IT_THROW_DECL(());
00045 
00046         // Implementation of methods from AnyType.
00047         //
00048         virtual AnyType&
00049         copy(
00050             const AnyType& copy
00051         );
00052 
00053         virtual const QName&
00054         get_type() const;
00055 
00056         virtual IT_Reflect::Reflection*
00057         get_reflection(
00058         ) IT_THROW_DECL((IT_Reflect::ReflectException));
00059         
00060         virtual const IT_Reflect::Reflection*
00061         get_reflection(
00062         ) const IT_THROW_DECL((IT_Reflect::ReflectException));
00063 
00064         // Used by SchemaTypeTraits.
00065         //
00066         static const QName&
00067         get_static_type();
00068 
00069       protected:
00070         virtual void
00071         validate_string(
00072             const String& value
00073         ) IT_THROW_DECL((IT_Bus::Exception));
00074 
00075         virtual bool
00076         allow_empty_string() const
00077         {
00078             return false;
00079         }
00080     };
00081 }
00082 
00083 #endif /*_IT_BUS_NMTOKEN_H_*/

Generated on Thu Sep 7 11:38:58 2006 for Artix by  doxygen 1.4.7