#include "Attribute.hpp"
Public Types | |
typedef detail::Attribute_Impl | ImplType |
Public Member Functions | |
Attribute (const std::string &name, bool value) | |
Attribute (const std::string &name, bool value, const std::string &units) | |
Attribute (const std::string &name, bool value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, bool value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const std::string &name, double value) | |
Attribute (const std::string &name, double value, const std::string &units) | |
Attribute (const std::string &name, double value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, double value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const std::string &name, const OSOptionalQuantity &value) | |
Attribute (const std::string &name, const Quantity &value) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const Quantity &value, const std::string &source=std::string()) | |
Attribute (const std::string &name, const Unit &value) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const Unit &value, const std::string &source=std::string()) | |
Attribute (const std::string &name, int value) | |
Attribute (const std::string &name, int value, const std::string &units) | |
Attribute (const std::string &name, int value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, int value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const std::string &name, unsigned value) | |
Attribute (const std::string &name, unsigned value, const std::string &units) | |
Attribute (const std::string &name, unsigned value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, unsigned value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const std::string &name, const char *value) | |
Attribute (const std::string &name, const char *value, const std::string &units) | |
Attribute (const std::string &name, const char *value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const char *value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const std::string &name, const std::string &value) | |
Attribute (const std::string &name, const std::string &value, const std::string &units) | |
Attribute (const std::string &name, const std::string &value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const std::string &value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const std::string &name, const std::vector< openstudio::Attribute > &value) | |
Attribute (const std::string &name, const std::vector< openstudio::Attribute > &value, const std::string &units) | |
Attribute (const std::string &name, const std::vector< openstudio::Attribute > &value, const boost::optional< std::string > &units) | |
Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const std::vector< openstudio::Attribute > &value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
Attribute (const QDomElement &element) | |
Attribute (const Attribute &other) | |
template<typename T > | |
T | cast () const |
void | clearDisplayName () |
void | clearSource () |
Attribute | clone () const |
boost::optional< std::string > | displayName (bool returnName=false) const |
boost::optional< Attribute > | findChildByName (const std::string &name) const |
std::string | name () const |
bool | operator== (const Attribute &other) const |
template<typename T > | |
boost::optional< T > | optionalCast () const |
bool | saveToXml (const openstudio::path &path) const |
bool | setDisplayName (const std::string &displayName) |
void | setSource (const std::string &source) |
bool | setUnits (const std::string &units) |
void | setValue (bool value) |
void | setValue (int value) |
void | setValue (unsigned value) |
void | setValue (double value) |
void | setValue (const Quantity &value) |
void | setValue (const Unit &value) |
void | setValue (const char *value) |
void | setValue (const std::string &value) |
void | setValue (const std::vector< Attribute > &value) |
void | setValue (const QVariant &value) |
std::string | source () const |
std::string | toString () const |
QDomDocument | toXml () const |
boost::optional< std::string > | units () const |
openstudio::UUID | uuid () const |
std::vector< Attribute > | valueAsAttributeVector () const |
bool | valueAsBoolean () const |
double | valueAsDouble () const |
int | valueAsInteger () const |
Quantity | valueAsQuantity () const |
QVariant | valueAsQVariant () const |
std::string | valueAsString () const |
Unit | valueAsUnit () const |
unsigned | valueAsUnsigned () const |
AttributeValueType | valueType () const |
openstudio::UUID | versionUUID () const |
Static Public Member Functions | |
static boost::optional< Attribute > | fromQVariant (const std::string &name, const QVariant &value, const boost::optional< std::string > &units=boost::none) |
static boost::optional< Attribute > | loadFromXml (const openstudio::path &path) |
static boost::optional< Attribute > | loadFromXml (const QDomDocument &doc) |
Protected Member Functions | |
Attribute (const std::shared_ptr< detail::Attribute_Impl > &impl) |
Related Functions | |
typedef std::vector< Attribute > | AttributeVector |
Attribute | createAttributeFromVector (const std::string &name, std::vector< int > value) |
Attribute | createAttributeFromVector (const std::string &name, std::vector< double > value) |
std::vector< double > | getDoubleVectorFromAttribute (const Attribute &attribute) |
std::vector< int > | getIntVectorFromAttribute (const Attribute &attribute) |
bool | isConsistent (const Attribute &candidate, const AttributeDescription &description) |
std::ostream & | operator<< (std::ostream &os, const Attribute &attribute) |
typedef boost::optional < Attribute > | OptionalAttribute |
bool | prepareForDisplay (Attribute &attribute, const AttributeDescription &description) |
bool | saveJSON (const std::vector< Attribute > &attributes, const openstudio::path &p, bool overwrite=false) |
std::ostream & | toJSON (const std::vector< Attribute > &attributes, std::ostream &os) |
std::string | toJSON (const std::vector< Attribute > &attributes) |
std::string | toJSONWithoutMetadata (const std::vector< Attribute > &attributes) |
std::vector< Attribute > | toVectorOfAttribute (const openstudio::path &pathToJson) |
std::vector< Attribute > | toVectorOfAttribute (std::istream &json) |
std::vector< Attribute > | toVectorOfAttribute (const std::string &json) |
An attribute is a name value pair where the value can be a bool, double, int, string, or vector of other attributes.
The ability for an attribute value to be a vector of other attributes allows for flexible, hierarchical structures. Our convention is that attributes which correspond to plain old data (int, string, etc) are named in lower camel case, this corresponds to a member or variable name. Attributes of vector type are named in upper camel case to correspond to a class or struct name.
typedef detail::Attribute_Impl openstudio::Attribute::ImplType |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
bool | value | ||
) |
constructors
openstudio::Attribute::Attribute | ( | const std::string & | name, |
bool | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
bool | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
bool | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
double | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
double | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
double | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
double | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const OSOptionalQuantity & | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const Quantity & | value | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
const Quantity & | value, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const Unit & | value | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
const Unit & | value, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
int | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
int | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
int | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
int | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
unsigned | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
unsigned | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
unsigned | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
unsigned | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const char * | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const char * | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const char * | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
const char * | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const std::string & | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const std::string & | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const std::string & | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
const std::string & | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const std::vector< openstudio::Attribute > & | value | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const std::vector< openstudio::Attribute > & | value, | ||
const std::string & | units | ||
) |
openstudio::Attribute::Attribute | ( | const std::string & | name, |
const std::vector< openstudio::Attribute > & | value, | ||
const boost::optional< std::string > & | units | ||
) |
openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, |
const openstudio::UUID & | versionUUID, | ||
const std::string & | name, | ||
const boost::optional< std::string > & | displayName, | ||
const std::vector< openstudio::Attribute > & | value, | ||
const boost::optional< std::string > & | units, | ||
const std::string & | source = std::string() |
||
) |
|
explicit |
openstudio::Attribute::Attribute | ( | const Attribute & | other | ) |
|
protected |
|
inline |
cast to type T, can throw std::bad_cast
void openstudio::Attribute::clearDisplayName | ( | ) |
clear the display name
void openstudio::Attribute::clearSource | ( | ) |
clear the data source
Attribute openstudio::Attribute::clone | ( | ) | const |
boost::optional<std::string> openstudio::Attribute::displayName | ( | bool | returnName = false | ) | const |
get the display name.
if returnName and the display name is empty, will return name() instead.
boost::optional<Attribute> openstudio::Attribute::findChildByName | ( | const std::string & | name | ) | const |
find child attribute by name
|
static |
static constructor from QVariant
|
static |
static constructor from xml
|
static |
static constructor from loaded xml
std::string openstudio::Attribute::name | ( | ) | const |
get the name
bool openstudio::Attribute::operator== | ( | const Attribute & | other | ) | const |
comparison
|
inline |
cast to optional of type T
bool openstudio::Attribute::saveToXml | ( | const openstudio::path & | path | ) | const |
write object and all children out as xml to path.
bool openstudio::Attribute::setDisplayName | ( | const std::string & | displayName | ) |
set the display name
void openstudio::Attribute::setSource | ( | const std::string & | source | ) |
set the data source
bool openstudio::Attribute::setUnits | ( | const std::string & | units | ) |
set the units
void openstudio::Attribute::setValue | ( | bool | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | int | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | unsigned | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | double | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | const Quantity & | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | const Unit & | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | const char * | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | const std::string & | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | const std::vector< Attribute > & | value | ) |
set value. throws if wrong type.
void openstudio::Attribute::setValue | ( | const QVariant & | value | ) |
std::string openstudio::Attribute::source | ( | ) | const |
get the (optional) data source
std::string openstudio::Attribute::toString | ( | ) | const |
If attribute is a simple type (non-vector), prints attribute's value to std::string as simply as possible.
Numeric types print in high precision. Attribute vectors are printed as XML.
QDomDocument openstudio::Attribute::toXml | ( | ) | const |
write object and all children to xml
boost::optional<std::string> openstudio::Attribute::units | ( | ) | const |
get the units
openstudio::UUID openstudio::Attribute::uuid | ( | ) | const |
std::vector<Attribute> openstudio::Attribute::valueAsAttributeVector | ( | ) | const |
get value as attribute vector
bool openstudio::Attribute::valueAsBoolean | ( | ) | const |
get value as a bool
double openstudio::Attribute::valueAsDouble | ( | ) | const |
get value as double
int openstudio::Attribute::valueAsInteger | ( | ) | const |
get value as int
QVariant openstudio::Attribute::valueAsQVariant | ( | ) | const |
get value as qvariant
std::string openstudio::Attribute::valueAsString | ( | ) | const |
get value as string
unsigned openstudio::Attribute::valueAsUnsigned | ( | ) | const |
get value as unsigned
AttributeValueType openstudio::Attribute::valueType | ( | ) | const |
get the attribute value type
openstudio::UUID openstudio::Attribute::versionUUID | ( | ) | const |
|
related |
|
related |
|
related |
|
related |
Returns true if candidate and description have matching names and types.
|
related |
Prints Attribute XML to os.
|
related |
|
related |
Copies description's display name over to attribute.
Will return false if !isConsistent(attribute,description).
|
related |
|
related |
|
related |
|
related |
|
related |
Deserializes the flat attribute json format.
|
related |
Deserializes the flat attribute json format.
|
related |
Deserializes the flat attribute json format.