it_bus/name.h

00001 #ifndef _IT_BUS_NAME_H_
00002 #define _IT_BUS_NAME_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 { 
00023     class IT_AFC_API Name : public Token
00024     {
00025       public:
00026         typedef IT_Reflect::ValueRef<IT_Bus::Name> IT_ReflectionType;
00027 
00031         Name(
00032         ) throw(());
00033 
00039         Name(
00040             const String& value
00041         ) throw((IT_Bus::Exception));
00042 
00048         Name(
00049             const char* value
00050         ) throw((IT_Bus::Exception));
00051 
00055         Name(
00056             const Name& copy
00057         ) throw(());
00058 
00062         Name&
00063         operator=(
00064             const Name& rhs
00065         ) throw(());
00066 
00072         static bool
00073         is_valid_name(
00074             const String& value
00075         ) throw(());
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         ) throw((IT_Reflect::ReflectException));
00095         
00096         virtual const IT_Reflect::Reflection*
00097         get_reflection(
00098         ) const throw((IT_Reflect::ReflectException));
00099 
00100         // Used by SchemaTypeTraits.
00101         //
00102         static const QName&
00103         get_static_type();
00104 
00105       protected:
00112         virtual void
00113         validate_string(
00114             const String& value
00115         ) throw((IT_Bus::Exception));
00116 
00117         virtual bool
00118         allow_empty_string() const
00119         {
00120             return false;
00121         }
00122     };
00123 }
00124 
00125 #endif /*_IT_BUS_NAME_H_*/

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