BESContainer.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef BESContainer_h_
00034 #define BESContainer_h_ 1
00035
00036 #include <list>
00037 #include <string>
00038
00039 using std::list ;
00040 using std::string ;
00041
00042 #include "BESObj.h"
00043
00060 class BESContainer : public BESObj
00061 {
00062 private:
00063 string _symbolic_name ;
00064 string _real_name ;
00065 string _container_type ;
00066 string _constraint ;
00067 string _attributes ;
00068 protected:
00069 BESContainer() {}
00070
00078 BESContainer( const string &sym_name,
00079 const string &real_name,
00080 const string &type )
00081 : _symbolic_name( sym_name ),
00082 _real_name( real_name ),
00083 _container_type( type )
00084 {}
00085
00086 BESContainer( const BESContainer ©_from ) ;
00087
00088
00089 void _duplicate( BESContainer ©_to ) ;
00090 public:
00091
00092 virtual ~BESContainer() {}
00093
00096 virtual BESContainer * ptr_duplicate( ) = 0 ;
00097
00102 void set_constraint( const string &s )
00103 {
00104 _constraint = s ;
00105 }
00106
00112 void set_real_name( const string &real_name )
00113 {
00114 _real_name = real_name ;
00115 }
00116
00122 void set_container_type( const string &type )
00123 {
00124 _container_type = type ;
00125 }
00126
00131 void set_attributes( const string &attrs )
00132 {
00133 _attributes = attrs ;
00134 }
00135
00141 string get_real_name() const
00142 {
00143 return _real_name ;
00144 }
00145
00150 string get_constraint() const
00151 {
00152 return _constraint ;
00153 }
00154
00159 string get_symbolic_name() const
00160 {
00161 return _symbolic_name ;
00162 }
00163
00170 string get_container_type() const
00171 {
00172 return _container_type ;
00173 }
00174
00179 string get_attributes() const
00180 {
00181 return _attributes ;
00182 }
00183
00195 virtual string access() = 0 ;
00196 virtual bool release() = 0 ;
00197
00198 virtual void dump( ostream &strm ) const ;
00199 };
00200
00201 #endif // BESContainer_h_
00202