modelgbp Generated OpFlex Model  1.3.0
Contract.hpp
1 
10 #pragma once
11 #ifndef GI_GBP_CONTRACT_HPP
12 #define GI_GBP_CONTRACT_HPP
13 
14 #include <boost/optional.hpp>
15 #include "opflex/modb/URIBuilder.h"
16 #include "opflex/modb/mo-internal/MO.h"
17 /*
18  * contains: item:mclass(gbp/Subject)
19  */
20 #include "modelgbp/gbp/Subject.hpp"
21 /*
22  * contains: item:mclass(gbp/EpGroupFromProvContractRTgt)
23  */
24 #include "modelgbp/gbp/EpGroupFromProvContractRTgt.hpp"
25 /*
26  * contains: item:mclass(gbp/EpGroupFromConsContractRTgt)
27  */
28 #include "modelgbp/gbp/EpGroupFromConsContractRTgt.hpp"
29 /*
30  * contains: item:mclass(gbp/L3ExternalNetworkFromProvContractRTgt)
31  */
32 #include "modelgbp/gbp/L3ExternalNetworkFromProvContractRTgt.hpp"
33 /*
34  * contains: item:mclass(gbp/L3ExternalNetworkFromConsContractRTgt)
35  */
36 #include "modelgbp/gbp/L3ExternalNetworkFromConsContractRTgt.hpp"
37 
38 namespace modelgbp {
39 namespace gbp {
40 
41 class Contract
42  : public opflex::modb::mointernal::MO
43 {
44 public:
45 
49  static const opflex::modb::class_id_t CLASS_ID = 102;
50 
55  bool isNameSet()
56  {
57  return getObjectInstance().isSet(3342337ul, opflex::modb::PropertyInfo::STRING);
58  }
59 
64  boost::optional<const std::string&> getName()
65  {
66  if (isNameSet())
67  return getObjectInstance().getString(3342337ul);
68  return boost::none;
69  }
70 
76  const std::string& getName(const std::string& defaultValue)
77  {
78  return getName().get_value_or(defaultValue);
79  }
80 
89  modelgbp::gbp::Contract& setName(const std::string& newValue)
90  {
91  getTLMutator().modify(getClassId(), getURI())->setString(3342337ul, newValue);
92  return *this;
93  }
94 
102  {
103  getTLMutator().modify(getClassId(), getURI())->unset(3342337ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
104  return *this;
105  }
106 
118  static boost::optional<boost::shared_ptr<modelgbp::gbp::Contract> > resolve(
119  opflex::ofcore::OFFramework& framework,
120  const opflex::modb::URI& uri)
121  {
122  return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::Contract>(framework, CLASS_ID, uri);
123  }
124 
136  static boost::optional<boost::shared_ptr<modelgbp::gbp::Contract> > resolve(
137  const opflex::modb::URI& uri)
138  {
139  return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::Contract>(opflex::ofcore::OFFramework::defaultInstance(), CLASS_ID, uri);
140  }
141 
160  static boost::optional<boost::shared_ptr<modelgbp::gbp::Contract> > resolve(
161  opflex::ofcore::OFFramework& framework,
162  const std::string& policySpaceName,
163  const std::string& gbpContractName)
164  {
165  return resolve(framework,opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpContract").addElement(gbpContractName).build());
166  }
167 
185  static boost::optional<boost::shared_ptr<modelgbp::gbp::Contract> > resolve(
186  const std::string& policySpaceName,
187  const std::string& gbpContractName)
188  {
189  return resolve(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpContractName);
190  }
191 
203  boost::optional<boost::shared_ptr<modelgbp::gbp::Subject> > resolveGbpSubject(
204  const std::string& gbpSubjectName)
205  {
206  return modelgbp::gbp::Subject::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpSubject").addElement(gbpSubjectName).build());
207  }
208 
221  boost::shared_ptr<modelgbp::gbp::Subject> addGbpSubject(
222  const std::string& gbpSubjectName)
223  {
224  boost::shared_ptr<modelgbp::gbp::Subject> result = addChild<modelgbp::gbp::Subject>(
225  CLASS_ID, getURI(), 2150826087ul, 103,
226  opflex::modb::URIBuilder(getURI()).addElement("GbpSubject").addElement(gbpSubjectName).build()
227  );
228  result->setName(gbpSubjectName);
229  return result;
230  }
231 
246  void resolveGbpSubject(/* out */ std::vector<boost::shared_ptr<modelgbp::gbp::Subject> >& out)
247  {
248  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::Subject>(
249  getFramework(), CLASS_ID, getURI(), 2150826087ul, 103, out);
250  }
251 
263  boost::optional<boost::shared_ptr<modelgbp::gbp::EpGroupFromProvContractRTgt> > resolveGbpEpGroupFromProvContractRTgt(
264  const std::string& gbpEpGroupFromProvContractRTgtSource)
265  {
266  return modelgbp::gbp::EpGroupFromProvContractRTgt::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpEpGroupFromProvContractRTgt").addElement(gbpEpGroupFromProvContractRTgtSource).build());
267  }
268 
281  boost::shared_ptr<modelgbp::gbp::EpGroupFromProvContractRTgt> addGbpEpGroupFromProvContractRTgt(
282  const std::string& gbpEpGroupFromProvContractRTgtSource)
283  {
284  boost::shared_ptr<modelgbp::gbp::EpGroupFromProvContractRTgt> result = addChild<modelgbp::gbp::EpGroupFromProvContractRTgt>(
285  CLASS_ID, getURI(), 2150826100ul, 116,
286  opflex::modb::URIBuilder(getURI()).addElement("GbpEpGroupFromProvContractRTgt").addElement(gbpEpGroupFromProvContractRTgtSource).build()
287  );
288  result->setSource(gbpEpGroupFromProvContractRTgtSource);
289  return result;
290  }
291 
306  void resolveGbpEpGroupFromProvContractRTgt(/* out */ std::vector<boost::shared_ptr<modelgbp::gbp::EpGroupFromProvContractRTgt> >& out)
307  {
308  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromProvContractRTgt>(
309  getFramework(), CLASS_ID, getURI(), 2150826100ul, 116, out);
310  }
311 
323  boost::optional<boost::shared_ptr<modelgbp::gbp::EpGroupFromConsContractRTgt> > resolveGbpEpGroupFromConsContractRTgt(
324  const std::string& gbpEpGroupFromConsContractRTgtSource)
325  {
326  return modelgbp::gbp::EpGroupFromConsContractRTgt::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpEpGroupFromConsContractRTgt").addElement(gbpEpGroupFromConsContractRTgtSource).build());
327  }
328 
341  boost::shared_ptr<modelgbp::gbp::EpGroupFromConsContractRTgt> addGbpEpGroupFromConsContractRTgt(
342  const std::string& gbpEpGroupFromConsContractRTgtSource)
343  {
344  boost::shared_ptr<modelgbp::gbp::EpGroupFromConsContractRTgt> result = addChild<modelgbp::gbp::EpGroupFromConsContractRTgt>(
345  CLASS_ID, getURI(), 2150826103ul, 119,
346  opflex::modb::URIBuilder(getURI()).addElement("GbpEpGroupFromConsContractRTgt").addElement(gbpEpGroupFromConsContractRTgtSource).build()
347  );
348  result->setSource(gbpEpGroupFromConsContractRTgtSource);
349  return result;
350  }
351 
366  void resolveGbpEpGroupFromConsContractRTgt(/* out */ std::vector<boost::shared_ptr<modelgbp::gbp::EpGroupFromConsContractRTgt> >& out)
367  {
368  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromConsContractRTgt>(
369  getFramework(), CLASS_ID, getURI(), 2150826103ul, 119, out);
370  }
371 
383  boost::optional<boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt> > resolveGbpL3ExternalNetworkFromProvContractRTgt(
384  const std::string& gbpL3ExternalNetworkFromProvContractRTgtSource)
385  {
386  return modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkFromProvContractRTgt").addElement(gbpL3ExternalNetworkFromProvContractRTgtSource).build());
387  }
388 
401  boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt> addGbpL3ExternalNetworkFromProvContractRTgt(
402  const std::string& gbpL3ExternalNetworkFromProvContractRTgtSource)
403  {
404  boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt> result = addChild<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt>(
405  CLASS_ID, getURI(), 2150826111ul, 127,
406  opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkFromProvContractRTgt").addElement(gbpL3ExternalNetworkFromProvContractRTgtSource).build()
407  );
408  result->setSource(gbpL3ExternalNetworkFromProvContractRTgtSource);
409  return result;
410  }
411 
426  void resolveGbpL3ExternalNetworkFromProvContractRTgt(/* out */ std::vector<boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt> >& out)
427  {
428  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt>(
429  getFramework(), CLASS_ID, getURI(), 2150826111ul, 127, out);
430  }
431 
443  boost::optional<boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt> > resolveGbpL3ExternalNetworkFromConsContractRTgt(
444  const std::string& gbpL3ExternalNetworkFromConsContractRTgtSource)
445  {
446  return modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt::resolve(getFramework(), opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkFromConsContractRTgt").addElement(gbpL3ExternalNetworkFromConsContractRTgtSource).build());
447  }
448 
461  boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt> addGbpL3ExternalNetworkFromConsContractRTgt(
462  const std::string& gbpL3ExternalNetworkFromConsContractRTgtSource)
463  {
464  boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt> result = addChild<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt>(
465  CLASS_ID, getURI(), 2150826114ul, 130,
466  opflex::modb::URIBuilder(getURI()).addElement("GbpL3ExternalNetworkFromConsContractRTgt").addElement(gbpL3ExternalNetworkFromConsContractRTgtSource).build()
467  );
468  result->setSource(gbpL3ExternalNetworkFromConsContractRTgtSource);
469  return result;
470  }
471 
486  void resolveGbpL3ExternalNetworkFromConsContractRTgt(/* out */ std::vector<boost::shared_ptr<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt> >& out)
487  {
488  opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt>(
489  getFramework(), CLASS_ID, getURI(), 2150826114ul, 130, out);
490  }
491 
500  void remove()
501  {
502  getTLMutator().remove(CLASS_ID, getURI());
503  }
504 
515  static void remove(opflex::ofcore::OFFramework& framework,
516  const opflex::modb::URI& uri)
517  {
518  MO::remove(framework, CLASS_ID, uri);
519  }
520 
531  static void remove(const opflex::modb::URI& uri)
532  {
533  remove(opflex::ofcore::OFFramework::defaultInstance(), uri);
534  }
535 
552  static void remove(
553  opflex::ofcore::OFFramework& framework,
554  const std::string& policySpaceName,
555  const std::string& gbpContractName)
556  {
557  MO::remove(framework, CLASS_ID, opflex::modb::URIBuilder().addElement("PolicyUniverse").addElement("PolicySpace").addElement(policySpaceName).addElement("GbpContract").addElement(gbpContractName).build());
558  }
559 
576  static void remove(
577  const std::string& policySpaceName,
578  const std::string& gbpContractName)
579  {
580  remove(opflex::ofcore::OFFramework::defaultInstance(),policySpaceName,gbpContractName);
581  }
582 
594  static void registerListener(
595  opflex::ofcore::OFFramework& framework,
596  opflex::modb::ObjectListener* listener)
597  {
598  opflex::modb::mointernal
599  ::MO::registerListener(framework, listener, CLASS_ID);
600  }
601 
613  static void registerListener(
614  opflex::modb::ObjectListener* listener)
615  {
616  registerListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
617  }
618 
625  static void unregisterListener(
626  opflex::ofcore::OFFramework& framework,
627  opflex::modb::ObjectListener* listener)
628  {
629  opflex::modb::mointernal
630  ::MO::unregisterListener(framework, listener, CLASS_ID);
631  }
632 
639  static void unregisterListener(
640  opflex::modb::ObjectListener* listener)
641  {
642  unregisterListener(opflex::ofcore::OFFramework::defaultInstance(), listener);
643  }
644 
650  opflex::ofcore::OFFramework& framework,
651  const opflex::modb::URI& uri,
652  const boost::shared_ptr<const opflex::modb::mointernal::ObjectInstance>& oi)
653  : MO(framework, CLASS_ID, uri, oi) { }
654 }; // class Contract
655 
656 } // namespace gbp
657 } // namespace modelgbp
658 #endif // GI_GBP_CONTRACT_HPP
void resolveGbpL3ExternalNetworkFromProvContractRTgt(std::vector< boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalNetworkFromProvCo...
Definition: Contract.hpp:426
boost::optional< boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt > > resolveGbpL3ExternalNetworkFromConsContractRTgt(const std::string &gbpL3ExternalNetworkFromConsContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: Contract.hpp:443
static boost::optional< boost::shared_ptr< modelgbp::gbp::Contract > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of Contract from the managed object store.
Definition: Contract.hpp:118
static void registerListener(opflex::modb::ObjectListener *listener)
Register a listener that will get called for changes related to this class with the default framework...
Definition: Contract.hpp:613
boost::optional< boost::shared_ptr< modelgbp::gbp::EpGroupFromProvContractRTgt > > resolveGbpEpGroupFromProvContractRTgt(const std::string &gbpEpGroupFromProvContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: Contract.hpp:263
boost::shared_ptr< modelgbp::gbp::EpGroupFromConsContractRTgt > addGbpEpGroupFromConsContractRTgt(const std::string &gbpEpGroupFromConsContractRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Contract.hpp:341
static boost::optional< boost::shared_ptr< modelgbp::gbp::Contract > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpContractName)
Retrieve an instance of Contract from the managed object store by constructing its URI from the path ...
Definition: Contract.hpp:160
boost::optional< boost::shared_ptr< modelgbp::gbp::Subject > > resolveGbpSubject(const std::string &gbpSubjectName)
Retrieve the child object with the specified naming properties.
Definition: Contract.hpp:203
static boost::optional< boost::shared_ptr< modelgbp::gbp::EpGroupFromConsContractRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of EpGroupFromConsContractRTgt from the managed object store.
Definition: EpGroupFromConsContractRTgt.hpp:210
boost::optional< boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt > > resolveGbpL3ExternalNetworkFromProvContractRTgt(const std::string &gbpL3ExternalNetworkFromProvContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: Contract.hpp:383
void resolveGbpEpGroupFromConsContractRTgt(std::vector< boost::shared_ptr< modelgbp::gbp::EpGroupFromConsContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromConsContractRTgt...
Definition: Contract.hpp:366
boost::shared_ptr< modelgbp::gbp::EpGroupFromProvContractRTgt > addGbpEpGroupFromProvContractRTgt(const std::string &gbpEpGroupFromProvContractRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Contract.hpp:281
static boost::optional< boost::shared_ptr< modelgbp::gbp::Contract > > resolve(const std::string &policySpaceName, const std::string &gbpContractName)
Retrieve an instance of Contract from the default managed object store by constructing its URI from t...
Definition: Contract.hpp:185
void resolveGbpL3ExternalNetworkFromConsContractRTgt(std::vector< boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalNetworkFromConsCo...
Definition: Contract.hpp:486
static boost::optional< boost::shared_ptr< modelgbp::gbp::EpGroupFromProvContractRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of EpGroupFromProvContractRTgt from the managed object store.
Definition: EpGroupFromProvContractRTgt.hpp:210
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition: Contract.hpp:625
boost::optional< boost::shared_ptr< modelgbp::gbp::EpGroupFromConsContractRTgt > > resolveGbpEpGroupFromConsContractRTgt(const std::string &gbpEpGroupFromConsContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition: Contract.hpp:323
Definition: Contract.hpp:41
boost::shared_ptr< modelgbp::gbp::Subject > addGbpSubject(const std::string &gbpSubjectName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Contract.hpp:221
void resolveGbpEpGroupFromProvContractRTgt(std::vector< boost::shared_ptr< modelgbp::gbp::EpGroupFromProvContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromProvContractRTgt...
Definition: Contract.hpp:306
void resolveGbpSubject(std::vector< boost::shared_ptr< modelgbp::gbp::Subject > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::Subject.
Definition: Contract.hpp:246
boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt > addGbpL3ExternalNetworkFromProvContractRTgt(const std::string &gbpL3ExternalNetworkFromProvContractRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Contract.hpp:401
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition: Contract.hpp:639
bool isNameSet()
Check whether name has been set.
Definition: Contract.hpp:55
static boost::optional< boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetworkFromProvContractRTgt from the managed object store...
Definition: L3ExternalNetworkFromProvContractRTgt.hpp:210
Contract(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const boost::shared_ptr< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of Contract.
Definition: Contract.hpp:649
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition: Contract.hpp:64
static boost::optional< boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of L3ExternalNetworkFromConsContractRTgt from the managed object store...
Definition: L3ExternalNetworkFromConsContractRTgt.hpp:210
static void registerListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Register a listener that will get called for changes related to this class.
Definition: Contract.hpp:594
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition: Contract.hpp:76
modelgbp::gbp::Contract & unsetName()
Unset name in the currently-active mutator.
Definition: Contract.hpp:101
boost::shared_ptr< modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt > addGbpL3ExternalNetworkFromConsContractRTgt(const std::string &gbpL3ExternalNetworkFromConsContractRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition: Contract.hpp:461
modelgbp::gbp::Contract & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition: Contract.hpp:89
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for Contract.
Definition: Contract.hpp:49
static boost::optional< boost::shared_ptr< modelgbp::gbp::Subject > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of Subject from the managed object store.
Definition: Subject.hpp:102
static boost::optional< boost::shared_ptr< modelgbp::gbp::Contract > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of Contract from the managed object store using the default framework instance...
Definition: Contract.hpp:136