it_bus/token.h

00001 #ifndef _IT_BUS_TOKEN_H_
00002 #define _IT_BUS_TOKEN_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/normalized_string.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 Token : public NormalizedString
00024     {
00025       public:
00026         typedef IT_Reflect::ValueRef<IT_Bus::Token> IT_ReflectionType;
00027 
00031         Token(
00032         ) IT_THROW_DECL(());
00033 
00039         Token(
00040             const String& value
00041         ) IT_THROW_DECL((IT_Bus::Exception));
00042 
00048         Token(
00049             const char* value
00050         ) IT_THROW_DECL((IT_Bus::Exception));
00051 
00055         Token(
00056             const Token& copy
00057         ) IT_THROW_DECL(());
00058 
00062         Token&
00063         operator=(
00064             const Token& rhs
00065         ) IT_THROW_DECL(());
00066 
00072         static bool
00073         is_valid_token(
00074             const String& value
00075         ) IT_THROW_DECL(());
00076 
00077         // Implementation of methods from AnyType.
00078         //
00079         virtual AnyType&
00080         copy(
00081             const AnyType& copy
00082         );
00083 
00089         virtual const QName&
00090         get_type() const;
00091 
00092         virtual IT_Reflect::Reflection*
00093         get_reflection(
00094         ) IT_THROW_DECL((IT_Reflect::ReflectException));
00095         
00096         virtual const IT_Reflect::Reflection*
00097         get_reflection(
00098         ) const IT_THROW_DECL((IT_Reflect::ReflectException));
00099 
00100         // Used by SchemaTypeTraits.
00101         //
00102         static const QName&
00103         get_static_type();
00104 
00105       protected:
00113         virtual void
00114         validate_string(
00115             const String& value
00116         ) IT_THROW_DECL((IT_Bus::Exception));
00117     };
00118 }
00119 
00120 #endif /*_IT_BUS_TOKEN_H_*/

Generated on Thu Sep 7 11:39:06 2006 for Artix by  doxygen 1.4.7