it_bus/language.h

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

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