00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _ATTRIBUTEH
00022 #define _ATTRIBUTEH
00023 #include <string>
00024 #include "xmlpull/wsdlpull_export.h"
00025
00026 namespace Schema {
00027 class WSDLPULL_EXPORT Attribute
00028 {
00029 public:
00030 Attribute(const std::string & name,
00031 int type_id,
00032 bool qualified = false,
00033 std::string defaultVal = "",
00034 std::string fixedVal = "",
00035 bool use = false);
00036 Attribute(void);
00037
00038 std::string getName() const;
00039 int getType() const;
00040 bool isRequired() const;
00041 std::string defaultVal()const;
00042 std::string fixedVal()const;
00043 bool isQualified()const ;
00044 Attribute & operator = (const Attribute & a);
00045
00046 private:
00047 std::string attName;
00048 std::string dval, fval;
00049 int attType;
00050 bool bQualified, attUse;
00051
00052 };
00053 #ifdef LOGGING
00054 std::ostream & operator << (std::ostream & stream, Attribute & a);
00055 #endif
00056
00057 inline
00058 Attribute::Attribute(const std::string & name,
00059 int type_id,
00060 bool qualified,
00061 std::string defaultVal,
00062 std::string fixedVal,
00063 bool use)
00064 :attName(name),
00065 dval(defaultVal),
00066 fval(fixedVal),
00067 attType(type_id),
00068 bQualified (qualified),
00069 attUse (use)
00070 {
00071 }
00072
00073 inline
00074 Attribute::Attribute(void)
00075 :attType(0),
00076 bQualified (false),
00077 attUse (false)
00078 {
00079 }
00080
00081 inline
00082 std::string
00083 Attribute::getName() const
00084 {
00085 return attName;
00086 }
00087
00088 inline
00089 int
00090 Attribute::getType() const
00091 {
00092 return attType;
00093 }
00094
00095 inline
00096 bool
00097 Attribute::isRequired() const
00098 {
00099 return attUse;
00100 }
00101
00102 inline
00103 std::string
00104 Attribute::defaultVal()const
00105 {
00106 return dval;
00107 }
00108
00109 inline
00110 std::string
00111 Attribute::fixedVal()const
00112 {
00113 return fval;
00114 }
00115
00116 inline
00117 bool
00118 Attribute::isQualified()const
00119 {
00120 return bQualified;
00121 }
00122
00123 inline
00124 Attribute &
00125 Attribute::operator = (const Attribute & a)
00126 {
00127 attName = a.attName;
00128 attType = a.attType;
00129 bQualified = a.isQualified();
00130 dval = a.dval;
00131 fval = a.fval;
00132 attUse = a.attUse;
00133 return *this;
00134 }
00135 }
00136 #endif