11#ifndef GI_GBP_CONTRACT_HPP
12#define GI_GBP_CONTRACT_HPP
14#include <boost/optional.hpp>
15#include "opflex/modb/URIBuilder.h"
16#include "opflex/modb/mo-internal/MO.h"
20#include "modelgbp/gbp/Subject.hpp"
24#include "modelgbp/gbp/EpGroupFromProvContractRTgt.hpp"
28#include "modelgbp/gbp/EpGroupFromConsContractRTgt.hpp"
32#include "modelgbp/gbp/EpGroupFromIntraContractRTgt.hpp"
36#include "modelgbp/gbp/L3ExternalNetworkFromProvContractRTgt.hpp"
40#include "modelgbp/gbp/L3ExternalNetworkFromConsContractRTgt.hpp"
46 :
public opflex::modb::mointernal::MO
53 static const opflex::modb::class_id_t
CLASS_ID = 143;
68 boost::optional<const std::string&>
getName()
107 getTLMutator().modify(
getClassId(),
getURI())->unset(4685825ul, opflex::modb::PropertyInfo::STRING, opflex::modb::PropertyInfo::SCALAR);
122 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Contract> >
resolve(
124 const opflex::modb::URI&
uri)
126 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::Contract>(
framework,
CLASS_ID,
uri);
140 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Contract> >
resolve(
141 const opflex::modb::URI&
uri)
143 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::Contract>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID,
uri);
164 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Contract> >
resolve(
189 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Contract> >
resolve(
252 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::Subject>(
312 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromProvContractRTgt>(
372 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromConsContractRTgt>(
432 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::EpGroupFromIntraContractRTgt>(
492 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt>(
552 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt>(
580 const opflex::modb::URI&
uri)
597 remove(opflex::ofcore::OFFramework::defaultInstance(),
uri);
660 opflex::modb::ObjectListener*
listener)
662 opflex::modb::mointernal
678 opflex::modb::ObjectListener*
listener)
691 opflex::modb::ObjectListener*
listener)
693 opflex::modb::mointernal
704 opflex::modb::ObjectListener*
listener)
715 const opflex::modb::URI&
uri,
Definition Contract.hpp:47
static boost::optional< OF_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:164
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt > > resolveGbpL3ExternalNetworkFromProvContractRTgt(const std::string &gbpL3ExternalNetworkFromProvContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition Contract.hpp:447
modelgbp::gbp::Contract & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition Contract.hpp:93
OF_SHARED_PTR< modelgbp::gbp::EpGroupFromIntraContractRTgt > addGbpEpGroupFromIntraContractRTgt(const std::string &gbpEpGroupFromIntraContractRTgtSource)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition Contract.hpp:405
OF_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:285
static boost::optional< OF_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:140
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition Contract.hpp:689
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition Contract.hpp:703
void resolveGbpEpGroupFromProvContractRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromProvContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromProvContractRTgt...
Definition Contract.hpp:310
void resolveGbpSubject(std::vector< OF_SHARED_PTR< modelgbp::gbp::Subject > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::Subject.
Definition Contract.hpp:250
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromProvContractRTgt > > resolveGbpEpGroupFromProvContractRTgt(const std::string &gbpEpGroupFromProvContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition Contract.hpp:267
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:80
static void remove(const opflex::modb::URI &uri)
Remove the Contract object with the specified URI using the currently-active mutator and the default ...
Definition Contract.hpp:595
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:658
OF_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:465
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromIntraContractRTgt > > resolveGbpEpGroupFromIntraContractRTgt(const std::string &gbpEpGroupFromIntraContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition Contract.hpp:387
modelgbp::gbp::Contract & unsetName()
Unset name in the currently-active mutator.
Definition Contract.hpp:105
boost::optional< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt > > resolveGbpL3ExternalNetworkFromConsContractRTgt(const std::string &gbpL3ExternalNetworkFromConsContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition Contract.hpp:507
static void remove(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpContractName)
Remove the Contract object with the specified path elements from the managed object store.
Definition Contract.hpp:616
static boost::optional< OF_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:122
boost::optional< OF_SHARED_PTR< modelgbp::gbp::Subject > > resolveGbpSubject(const std::string &gbpSubjectName)
Retrieve the child object with the specified naming properties.
Definition Contract.hpp:207
void resolveGbpEpGroupFromIntraContractRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromIntraContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromIntraContractRTg...
Definition Contract.hpp:430
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition Contract.hpp:68
static boost::optional< OF_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:189
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the Contract object with the specified URI using the currently-active mutator.
Definition Contract.hpp:579
bool isNameSet()
Check whether name has been set.
Definition Contract.hpp:59
OF_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:225
void remove()
Remove this instance using the currently-active mutator.
Definition Contract.hpp:564
OF_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:525
static void remove(const std::string &policySpaceName, const std::string &gbpContractName)
Remove the Contract object with the specified path elements from the managed object store using the d...
Definition Contract.hpp:640
boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromConsContractRTgt > > resolveGbpEpGroupFromConsContractRTgt(const std::string &gbpEpGroupFromConsContractRTgtSource)
Retrieve the child object with the specified naming properties.
Definition Contract.hpp:327
void resolveGbpL3ExternalNetworkFromConsContractRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkFromConsContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalNetworkFromConsCo...
Definition Contract.hpp:550
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for Contract.
Definition Contract.hpp:53
void resolveGbpL3ExternalNetworkFromProvContractRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::L3ExternalNetworkFromProvContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::L3ExternalNetworkFromProvCo...
Definition Contract.hpp:490
OF_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:345
void resolveGbpEpGroupFromConsContractRTgt(std::vector< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromConsContractRTgt > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::EpGroupFromConsContractRTgt...
Definition Contract.hpp:370
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:677
Contract(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of Contract.
Definition Contract.hpp:713
static boost::optional< OF_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
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::EpGroupFromIntraContractRTgt > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of EpGroupFromIntraContractRTgt from the managed object store.
Definition EpGroupFromIntraContractRTgt.hpp:210
static boost::optional< OF_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 boost::optional< OF_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 boost::optional< OF_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
static boost::optional< OF_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
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12