11#ifndef GI_GBP_SUBJECT_HPP
12#define GI_GBP_SUBJECT_HPP
14#include <boost/optional.hpp>
15#include "opflex/modb/URIBuilder.h"
16#include "opflex/modb/mo-internal/MO.h"
20#include "modelgbp/gbp/Rule.hpp"
26 :
public opflex::modb::mointernal::MO
33 static const opflex::modb::class_id_t
CLASS_ID = 144;
48 boost::optional<const std::string&>
getName()
102 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Subject> >
resolve(
104 const opflex::modb::URI&
uri)
120 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Subject> >
resolve(
121 const opflex::modb::URI&
uri)
123 return opflex::modb::mointernal::MO::resolve<modelgbp::gbp::Subject>(opflex::ofcore::OFFramework::defaultInstance(),
CLASS_ID,
uri);
146 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Subject> >
resolve(
174 static boost::optional<OF_SHARED_PTR<modelgbp::gbp::Subject> >
resolve(
238 opflex::modb::mointernal::MO::resolveChildren<modelgbp::gbp::Rule>(
266 const opflex::modb::URI&
uri)
283 remove(opflex::ofcore::OFFramework::defaultInstance(),
uri);
352 opflex::modb::ObjectListener*
listener)
354 opflex::modb::mointernal
370 opflex::modb::ObjectListener*
listener)
383 opflex::modb::ObjectListener*
listener)
385 opflex::modb::mointernal
396 opflex::modb::ObjectListener*
listener)
407 const opflex::modb::URI&
uri,
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::Rule > > resolve(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Retrieve an instance of Rule from the managed object store.
Definition Rule.hpp:218
Definition Subject.hpp:27
OF_SHARED_PTR< modelgbp::gbp::Rule > addGbpRule(const std::string &gbpRuleName)
Create a new child object with the specified naming properties and make it a child of this object in ...
Definition Subject.hpp:211
void remove()
Remove this instance using the currently-active mutator.
Definition Subject.hpp:250
modelgbp::gbp::Subject & setName(const std::string &newValue)
Set name to the specified value in the currently-active mutator.
Definition Subject.hpp:73
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 Subject.hpp:369
boost::optional< const std::string & > getName()
Get the value of name if it has been set.
Definition Subject.hpp:48
boost::optional< OF_SHARED_PTR< modelgbp::gbp::Rule > > resolveGbpRule(const std::string &gbpRuleName)
Retrieve the child object with the specified naming properties.
Definition Subject.hpp:193
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::Subject > > resolve(const std::string &policySpaceName, const std::string &gbpContractName, const std::string &gbpSubjectName)
Retrieve an instance of Subject from the default managed object store by constructing its URI from th...
Definition Subject.hpp:174
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::Subject > > resolve(const opflex::modb::URI &uri)
Retrieve an instance of Subject from the managed object store using the default framework instance.
Definition Subject.hpp:120
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 Subject.hpp:350
modelgbp::gbp::Subject & unsetName()
Unset name in the currently-active mutator.
Definition Subject.hpp:85
static void remove(const std::string &policySpaceName, const std::string &gbpContractName, const std::string &gbpSubjectName)
Remove the Subject object with the specified path elements from the managed object store using the de...
Definition Subject.hpp:331
static const opflex::modb::class_id_t CLASS_ID
The unique class ID for Subject.
Definition Subject.hpp:33
bool isNameSet()
Check whether name has been set.
Definition Subject.hpp:39
static void unregisterListener(opflex::ofcore::OFFramework &framework, opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class.
Definition Subject.hpp:381
const std::string & getName(const std::string &defaultValue)
Get the value of name if set, otherwise the value of default passed in.
Definition Subject.hpp:60
Subject(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri, const OF_SHARED_PTR< const opflex::modb::mointernal::ObjectInstance > &oi)
Construct an instance of Subject.
Definition Subject.hpp:405
static boost::optional< OF_SHARED_PTR< modelgbp::gbp::Subject > > resolve(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpContractName, const std::string &gbpSubjectName)
Retrieve an instance of Subject from the managed object store by constructing its URI from the path e...
Definition Subject.hpp:146
static void remove(opflex::ofcore::OFFramework &framework, const opflex::modb::URI &uri)
Remove the Subject object with the specified URI using the currently-active mutator.
Definition Subject.hpp:265
static void remove(opflex::ofcore::OFFramework &framework, const std::string &policySpaceName, const std::string &gbpContractName, const std::string &gbpSubjectName)
Remove the Subject object with the specified path elements from the managed object store.
Definition Subject.hpp:304
static void unregisterListener(opflex::modb::ObjectListener *listener)
Unregister a listener from updates to this class from the default framework instance.
Definition Subject.hpp:395
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
void resolveGbpRule(std::vector< OF_SHARED_PTR< modelgbp::gbp::Rule > > &out)
Resolve and retrieve all of the immediate children of type modelgbp::gbp::Rule.
Definition Subject.hpp:236
static void remove(const opflex::modb::URI &uri)
Remove the Subject object with the specified URI using the currently-active mutator and the default f...
Definition Subject.hpp:281
SOME COPYRIGHT.
Definition OpcodeEnumT.hpp:12