OpenStudio:utilities
 AllClasses Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages

#include "BCLMeasure.hpp"

Public Member Functions

virtual ~BCLMeasure ()
openstudio::path directory () const
boost::optional< std::string > error () const
std::string uid () const
UUID uuid () const
std::string versionId () const
UUID versionUUID () const
boost::optional< DateTimeversionModified () const
std::string xmlChecksum () const
std::string name () const
std::string displayName () const
std::string className () const
std::string description () const
std::string modelerDescription () const
std::vector< BCLMeasureArgumentarguments () const
std::vector< BCLMeasureOutputoutputs () const
std::vector< std::string > tags () const
std::vector< Attributeattributes () const
std::vector< BCLFileReferencefiles () const
void setError (const std::string &error)
void resetError ()
void setName (const std::string &name)
void setDisplayName (const std::string &displayName)
void setClassName (const std::string &className)
void setDescription (const std::string &description)
void setModelerDescription (const std::string &modelerDescription)
void setArguments (const std::vector< BCLMeasureArgument > &arguments)
void setOutputs (const std::vector< BCLMeasureOutput > &outputs)
std::string taxonomyTag () const
void setTaxonomyTag (const std::string &taxonomyTag)
MeasureType measureType () const
void setMeasureType (const MeasureType &measureType)
std::vector< std::string > intendedSoftwareTools () const
std::vector< std::string > intendedUseCases () const
boost::optional< openstudio::path > primaryRubyScriptPath () const
FileReferenceType inputFileType () const
FileReferenceType outputFileType () const
void clearFiles ()
void addAttribute (const Attribute &attribute)
std::vector< AttributegetAttributes (const std::string &name) const
bool removeAttributes (const std::string &name)
void clearAttributes ()
bool missingRequiredFields () const
bool checkForUpdatesFiles ()
bool checkForUpdatesXML ()
bool operator== (const BCLMeasure &other) const
bool operator!= (const BCLMeasure &other) const
bool save () const
boost::optional< BCLMeasureclone (const openstudio::path &newDir) const
void changeUID ()
void incrementVersionId ()
bool updateMeasureScript (const MeasureType &oldMeasureType, const MeasureType &newMeasureType, const std::string &oldClassName, const std::string &newClassName, const std::string &name, const std::string &description, const std::string &modelerDescription)
bool updateMeasureTests (const std::string &oldClassName, const std::string &newClassName)

Constructors

 BCLMeasure (const std::string &name, const std::string &className, const openstudio::path &dir, const std::string &taxonomyTag, MeasureType measureType, const std::string &description, const std::string &modelerDescription)
 BCLMeasure (const openstudio::path &dir)
static std::string makeClassName (const std::string &name)
static boost::optional
< BCLMeasure
load (const openstudio::path &dir)
static std::vector< BCLMeasurelocalBCLMeasures ()
static std::vector< BCLMeasureuserMeasures ()
static openstudio::path userMeasuresDir ()
static bool setUserMeasuresDir (const openstudio::path &userMeasuresDir)
static void clearUserMeasuresDir ()
static std::vector< std::string > suggestedIntendedSoftwareTools ()
static std::vector< std::string > suggestedIntendedUseCases ()
static std::vector< std::string > suggestedFirstLevelTaxonomyTerms ()
static std::vector< std::string > suggestedSecondLevelTaxonomyTerms (const std::string &firstLevelTaxonomyTerm)

Detailed Description

BCLMeasure is a class for managing the contents of a BCL Measure directory including the xml description file.

Constructor & Destructor Documentation

openstudio::BCLMeasure::BCLMeasure ( const std::string &  name,
const std::string &  className,
const openstudio::path &  dir,
const std::string &  taxonomyTag,
MeasureType  measureType,
const std::string &  description,
const std::string &  modelerDescription 
)

Constructor for a new measure with required data Will throw exception unless dir is a directory that does not exist or an empty directory.

A template measure will be created, including a blank user script.

openstudio::BCLMeasure::BCLMeasure ( const openstudio::path &  dir)

Constructor for downloaded measures, path is to directory containing "measure.xml" file Will throw exception if directory does not exist or does not represent a valid measure.

virtual openstudio::BCLMeasure::~BCLMeasure ( )
virtual

Virtual destructor.

Member Function Documentation

void openstudio::BCLMeasure::addAttribute ( const Attribute attribute)

Adds attribute to attribute list.

std::vector<BCLMeasureArgument> openstudio::BCLMeasure::arguments ( ) const
std::vector<Attribute> openstudio::BCLMeasure::attributes ( ) const
void openstudio::BCLMeasure::changeUID ( )

Change the UID for this measure.

bool openstudio::BCLMeasure::checkForUpdatesFiles ( )

Check for updates to files, will increment versionID and return true if any files have changed, been added, or removed from the measure The measure must still be saved to disk to preserve the new versionID Typical usage is 1) checkForUpdatesFiles, 2) update content using embedded ruby interpreter, 3) checkForUpdatesXML.

bool openstudio::BCLMeasure::checkForUpdatesXML ( )

Check for updates to the xml, will increment versionID and xmlChecksum then return true if any xml fields (other than uid, version id, or xml checksum) have changed The xml file must still be saved to disk to preserve the new versionID.

std::string openstudio::BCLMeasure::className ( ) const
void openstudio::BCLMeasure::clearAttributes ( )

Removes all attributes.

void openstudio::BCLMeasure::clearFiles ( )

Clears all files.

static void openstudio::BCLMeasure::clearUserMeasuresDir ( )
static

Clears the path to the user measures directory stored in settings.

boost::optional<BCLMeasure> openstudio::BCLMeasure::clone ( const openstudio::path &  newDir) const

Clone the measure from the original location to the new location newDir is a directory which either does not exist or is empty If the copy is successful a new BCLMeasure is returned.

std::string openstudio::BCLMeasure::description ( ) const
openstudio::path openstudio::BCLMeasure::directory ( ) const
std::string openstudio::BCLMeasure::displayName ( ) const
boost::optional<std::string> openstudio::BCLMeasure::error ( ) const
std::vector<BCLFileReference> openstudio::BCLMeasure::files ( ) const
std::vector<Attribute> openstudio::BCLMeasure::getAttributes ( const std::string &  name) const

get attributes by name

void openstudio::BCLMeasure::incrementVersionId ( )

Change the Version ID for this measure.

FileReferenceType openstudio::BCLMeasure::inputFileType ( ) const

Returns the input file type for this measure.

std::vector<std::string> openstudio::BCLMeasure::intendedSoftwareTools ( ) const

Returns values of any "Intended Software Tool" attributes.

std::vector<std::string> openstudio::BCLMeasure::intendedUseCases ( ) const

Returns values of any "Intended Use Case" attributes.

static boost::optional<BCLMeasure> openstudio::BCLMeasure::load ( const openstudio::path &  dir)
static

Try to load a BCLMeasure from a directory containing a "measure.xml" file.

static std::vector<BCLMeasure> openstudio::BCLMeasure::localBCLMeasures ( )
static

Load all measures in the PAT application's measures directory.

Returns the path to the PAT application's measures directory. Load all measures in the local BCL.

static std::string openstudio::BCLMeasure::makeClassName ( const std::string &  name)
static

Convert a measure name to a valid Ruby class name.

MeasureType openstudio::BCLMeasure::measureType ( ) const

Returns value of the "Measure Type" attribute.

bool openstudio::BCLMeasure::missingRequiredFields ( ) const

Check for all required fields, return true if any are missing Does not update the XML.

std::string openstudio::BCLMeasure::modelerDescription ( ) const
std::string openstudio::BCLMeasure::name ( ) const
bool openstudio::BCLMeasure::operator!= ( const BCLMeasure other) const
bool openstudio::BCLMeasure::operator== ( const BCLMeasure other) const

Equality test - Compares the uids and versionIds of two separate measures.

FileReferenceType openstudio::BCLMeasure::outputFileType ( ) const

Returns the output file type for this measure.

std::vector<BCLMeasureOutput> openstudio::BCLMeasure::outputs ( ) const
boost::optional<openstudio::path> openstudio::BCLMeasure::primaryRubyScriptPath ( ) const

Returns the path of the primary Ruby script if the file exists and is a regular file.

Otherwise returns boost::none.

bool openstudio::BCLMeasure::removeAttributes ( const std::string &  name)

Removes attribute by name, returns true if attribute was found and removed.

void openstudio::BCLMeasure::resetError ( )
bool openstudio::BCLMeasure::save ( ) const

Save the measure.xml back to the directory.

void openstudio::BCLMeasure::setArguments ( const std::vector< BCLMeasureArgument > &  arguments)
void openstudio::BCLMeasure::setClassName ( const std::string &  className)
void openstudio::BCLMeasure::setDescription ( const std::string &  description)
void openstudio::BCLMeasure::setDisplayName ( const std::string &  displayName)
void openstudio::BCLMeasure::setError ( const std::string &  error)
void openstudio::BCLMeasure::setMeasureType ( const MeasureType measureType)

Sets value of the "Measure Type" attribute.

void openstudio::BCLMeasure::setModelerDescription ( const std::string &  modelerDescription)
void openstudio::BCLMeasure::setName ( const std::string &  name)
void openstudio::BCLMeasure::setOutputs ( const std::vector< BCLMeasureOutput > &  outputs)
void openstudio::BCLMeasure::setTaxonomyTag ( const std::string &  taxonomyTag)

Sets the single taxonomy tag allowed.

static bool openstudio::BCLMeasure::setUserMeasuresDir ( const openstudio::path &  userMeasuresDir)
static

Changes the path to the user measures directory stored in settings.

static std::vector<std::string> openstudio::BCLMeasure::suggestedFirstLevelTaxonomyTerms ( )
static

Suggested values for the first level taxonomy tag.

static std::vector<std::string> openstudio::BCLMeasure::suggestedIntendedSoftwareTools ( )
static

Suggested values for "Intended Software Tool" attribute.

static std::vector<std::string> openstudio::BCLMeasure::suggestedIntendedUseCases ( )
static

Suggested values for "Intended Use Case" attribute.

static std::vector<std::string> openstudio::BCLMeasure::suggestedSecondLevelTaxonomyTerms ( const std::string &  firstLevelTaxonomyTerm)
static

Suggested values for the second level taxonomy tag.

std::vector<std::string> openstudio::BCLMeasure::tags ( ) const
std::string openstudio::BCLMeasure::taxonomyTag ( ) const

Returns the single taxonomy tag allowed.

std::string openstudio::BCLMeasure::uid ( ) const
bool openstudio::BCLMeasure::updateMeasureScript ( const MeasureType oldMeasureType,
const MeasureType newMeasureType,
const std::string &  oldClassName,
const std::string &  newClassName,
const std::string &  name,
const std::string &  description,
const std::string &  modelerDescription 
)

Update's the ruby measure script to have this new information.

bool openstudio::BCLMeasure::updateMeasureTests ( const std::string &  oldClassName,
const std::string &  newClassName 
)

Update's the ruby measure tests to have this new information.

static std::vector<BCLMeasure> openstudio::BCLMeasure::userMeasures ( )
static

Load all measures in the user measures directory.

static openstudio::path openstudio::BCLMeasure::userMeasuresDir ( )
static

Returns the path to the user measures directory stored in settings.

UUID openstudio::BCLMeasure::uuid ( ) const
std::string openstudio::BCLMeasure::versionId ( ) const
boost::optional<DateTime> openstudio::BCLMeasure::versionModified ( ) const
UUID openstudio::BCLMeasure::versionUUID ( ) const
std::string openstudio::BCLMeasure::xmlChecksum ( ) const