Mantid
|
Define an algorithm property that can be used to supply an algorithm object to a subsequent algorithm. More...
#include <AlgorithmProperty.h>
Public Types | |
using | HeldType = std::shared_ptr< IAlgorithm > |
Typedef the held type. More... | |
Public Member Functions | |
AlgorithmProperty (const AlgorithmProperty &)=default | |
AlgorithmProperty (const std::string &propName, Kernel::IValidator_sptr validator=Kernel::IValidator_sptr(new Kernel::NullValidator), unsigned int direction=Kernel::Direction::Input) | |
Constructor. More... | |
AlgorithmProperty * | clone () const override |
'Virtual copy constructor' More... | |
std::string | getDefault () const override |
Get the default. More... | |
AlgorithmProperty & | operator+= (Kernel::Property const *) override |
Add the value of another property. Doesn't make sense here. More... | |
std::string | setValue (const std::string &value) override |
Sets the value of the algorithm from a string representation. More... | |
std::string | setValueFromJson (const Json::Value &value) override |
Sets the value of the algorithm from a Json representation. More... | |
std::string | value () const override |
Return the algorithm as string. More... | |
Json::Value | valueAsJson () const override |
Create a Json::Value from the algorithm value. More... | |
Public Member Functions inherited from Mantid::Kernel::PropertyWithValue< std::shared_ptr< IAlgorithm > > | |
std::vector< std::string > | allowedValues () const override |
Returns the set of valid values for this property, if such a set exists. More... | |
PropertyWithValue< std::shared_ptr< IAlgorithm > > * | clone () const override |
'Virtual copy constructor' More... | |
std::string | getDefault () const override |
Get the default value for the property which is the value the property was initialised with. More... | |
IValidator_sptr | getValidator () const |
bool | isDefault () const override |
Overriden function that returns if property has the same value that it was initialised with, if applicable. More... | |
bool | isMultipleSelectionAllowed () override |
Is Multiple Selection Allowed. More... | |
std::string | isValid () const override |
Overridden function that checks whether the property, if not overriden returns "". More... | |
virtual | operator const std::shared_ptr< IAlgorithm > & () const |
bool | operator!= (const PropertyWithValue< std::shared_ptr< IAlgorithm > > &rhs) const |
virtual const std::shared_ptr< IAlgorithm > & | operator() () const |
PropertyWithValue & | operator+= (Property const *right) override |
Add to this. More... | |
PropertyWithValue & | operator= (const PropertyWithValue &right) |
virtual PropertyWithValue & | operator= (const std::shared_ptr< IAlgorithm > &value) |
bool | operator== (const PropertyWithValue< std::shared_ptr< IAlgorithm > > &rhs) const |
PropertyWithValue (const PropertyWithValue< std::shared_ptr< IAlgorithm > > &right) | |
PropertyWithValue (const std::string &name, std::shared_ptr< IAlgorithm > defaultValue, const std::string &defaultValueStr, IValidator_sptr validator, const unsigned int direction) | |
PropertyWithValue (std::string name, std::shared_ptr< IAlgorithm > defaultValue, const unsigned int direction) | |
PropertyWithValue (std::string name, std::shared_ptr< IAlgorithm > defaultValue, IValidator_sptr validator=IValidator_sptr(new NullValidator), const unsigned int direction=Direction::Input) | |
virtual void | replaceValidator (IValidator_sptr newValidator) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
MANTID_KERNEL_DLL void | saveProperty (::NeXus::File *file) |
void | saveProperty (::NeXus::File *file) override |
std::string | setDataItem (const std::shared_ptr< DataItem > &data) override |
Set the value of the property via a DataItem pointer. More... | |
std::string | setValue (const std::string &value) override |
Set the value of the property via a string. More... | |
std::string | setValueFromJson (const Json::Value &value) override |
Set the value of the property via a Json object. More... | |
int | size () const override |
Return the size of this property. More... | |
std::string | value () const override |
Returns the value of the property as a string. More... | |
Json::Value | valueAsJson () const override |
Returns the value of the property as a Json::Value. More... | |
std::string | valueAsPrettyStr (const size_t maxLength=0, const bool collapseLists=true) const override |
Returns the value of the property as a pretty printed string. More... | |
Public Member Functions inherited from Mantid::Kernel::Property | |
virtual std::vector< std::string > | allowedValues () const |
Returns the set of valid values for this property, if such a set exists. More... | |
bool | autoTrim () const |
Returns if the property is set to automatically trim string unput values of whitespace. More... | |
void | clearSettings () |
Deletes the PropertySettings object contained. More... | |
virtual Property * | clone () const =0 |
'Virtual copy constructor' More... | |
virtual const PropertyHistory | createHistory () const |
Create a PropertyHistory object representing the current state of the Property. More... | |
void | createTemporaryValue () |
Create a temporary value for this property. More... | |
unsigned int | direction () const |
returns the direction of the property More... | |
const std::string & | documentation () const |
Get the property's documentation string. More... | |
virtual void | filterByTime (const Types::Core::DateAndTime &start, const Types::Core::DateAndTime &stop) |
Filter out a property by time. More... | |
virtual std::string | getDefault () const =0 |
Get the default value for the property which is the value the property was initialised with. More... | |
const std::string & | getGroup () |
virtual size_t | getMemorySize () const |
IPropertySettings * | getSettings () |
bool | hasTemporaryValue () const |
Property is using a temporary value for this property. More... | |
virtual bool | isDefault () const =0 |
Overriden function that returns if property has the same value that it was initialised with, if applicable. More... | |
virtual bool | isMultipleSelectionAllowed () |
Is Multiple Selection Allowed. More... | |
virtual std::string | isValid () const |
Overridden function that checks whether the property, if not overriden returns "". More... | |
virtual bool | isValueSerializable () const |
Whether the string returned by value() can be used for serialization. More... | |
virtual Property & | merge (Property *) |
Just returns the property (*this) unless overridden. More... | |
const std::string & | name () const |
Get the property's name. More... | |
virtual Property & | operator+= (Property const *rhs)=0 |
Add to this. More... | |
bool | remember () const |
Whether to save input values. More... | |
virtual void | saveProperty (::NeXus::File *) |
void | setAutoTrim (const bool &setting) |
Sets if the property is set to automatically trim string unput values of whitespace. More... | |
virtual std::string | setDataItem (const std::shared_ptr< DataItem > &)=0 |
Set the value of the property via a DataItem pointer. More... | |
void | setDocumentation (const std::string &documentation) |
Sets the user level description of the property. More... | |
void | setGroup (const std::string &group) |
Set the group this property belongs to. More... | |
void | setRemember (bool) |
Set wheter to remeber this property input. More... | |
void | setSettings (std::unique_ptr< IPropertySettings > settings) |
Set the PropertySettings object. More... | |
virtual void | setUnits (const std::string &unit) |
Sets the units of the property, as a string. More... | |
virtual std::string | setValue (const std::string &)=0 |
Set the value of the property via a string. More... | |
virtual std::string | setValueFromJson (const Json::Value &)=0 |
Set the value of the property via a Json object. More... | |
virtual std::string | setValueFromProperty (const Property &right)=0 |
Set the value of the property via a reference to another property. More... | |
virtual int | size () const |
Return the size of this property. More... | |
virtual void | splitByTime (std::vector< SplittingInterval > &splitter, std::vector< Property * > outputs, bool isProtonCharge=true) const |
Split a property by time. More... | |
const std::string | type () const |
Returns the type of the property as a string. More... | |
const std::type_info * | type_info () const |
Get the property type_info. More... | |
virtual const std::string & | units () const |
Returns the units of the property, if any, as a string. More... | |
virtual std::string | value () const =0 |
Returns the value of the property as a string. More... | |
virtual Json::Value | valueAsJson () const =0 |
Returns the value of the property as a Json::Value. More... | |
virtual std::string | valueAsPrettyStr (const size_t maxLength=0, const bool collapseLists=true) const |
Returns the value of the property as a pretty printed string. More... | |
virtual | ~Property () |
Virtual destructor. More... | |
Private Member Functions | |
std::string | setBaseValue (const HeldType &algm) |
Set the value from the algorithm pointer. More... | |
Private Attributes | |
std::string | m_algmStr |
Additional Inherited Members | |
Protected Member Functions inherited from Mantid::Kernel::Property | |
Property (const Property &right) | |
Copy constructor. More... | |
Property (std::string name, const std::type_info &type, const unsigned int &direction=Direction::Input) | |
Constructor. More... | |
Protected Attributes inherited from Mantid::Kernel::PropertyWithValue< std::shared_ptr< IAlgorithm > > | |
std::shared_ptr< IAlgorithm > | m_initialValue |
the property's default value which is also its initial value More... | |
std::shared_ptr< IAlgorithm > | m_value |
The value of the property. More... | |
Protected Attributes inherited from Mantid::Kernel::Property | |
std::string | m_name |
The name of the property. More... | |
Define an algorithm property that can be used to supply an algorithm object to a subsequent algorithm.
It is a specialized version of PropertyWithValue where the type a pointer to an object implementing the API::IAlgorithm interface.
Definition at line 38 of file AlgorithmProperty.h.
using Mantid::API::AlgorithmProperty::HeldType = std::shared_ptr<IAlgorithm> |
Typedef the held type.
Definition at line 41 of file AlgorithmProperty.h.
Mantid::API::AlgorithmProperty::AlgorithmProperty | ( | const std::string & | propName, |
Kernel::IValidator_sptr | validator = Kernel::IValidator_sptr(new Kernel::NullValidator) , |
||
unsigned int | direction = Kernel::Direction::Input |
||
) |
Constructor.
propName | :: The name to assign to the property |
validator | :: The validator to use for this property (this class will take ownership of the validator) |
direction | :: Whether this is a Direction::Input, Direction::Output or Direction::InOut (Input & Output) property |
Definition at line 32 of file AlgorithmProperty.cpp.
|
default |
|
inlineoverridevirtual |
'Virtual copy constructor'
Implements Mantid::Kernel::Property.
Definition at line 54 of file AlgorithmProperty.h.
|
overridevirtual |
Get the default.
Implements Mantid::Kernel::Property.
Definition at line 51 of file AlgorithmProperty.cpp.
|
inlineoverridevirtual |
Add the value of another property. Doesn't make sense here.
Implements Mantid::Kernel::Property.
Definition at line 57 of file AlgorithmProperty.h.
|
private |
Set the value from the algorithm pointer.
algm |
Definition at line 88 of file AlgorithmProperty.cpp.
References Mantid::Kernel::PropertyWithValue< std::shared_ptr< IAlgorithm > >::isValid(), and m_algmStr.
Referenced by setValue(), and setValueFromJson().
|
overridevirtual |
Sets the value of the algorithm from a string representation.
Set value of the algorithm Attempts to create an Algorithm object.
value | :: The string format for an algorithm, |
Implements Mantid::Kernel::Property.
Definition at line 60 of file AlgorithmProperty.cpp.
References Mantid::API::Algorithm::fromString(), setBaseValue(), and value().
|
overridevirtual |
Sets the value of the algorithm from a Json representation.
Set the value of the algorithm property from a Json value.
value | A reference |
Implements Mantid::Kernel::Property.
Definition at line 74 of file AlgorithmProperty.cpp.
References Mantid::API::Algorithm::fromJson(), setBaseValue(), and value().
|
overridevirtual |
Return the algorithm as string.
Implements Mantid::Kernel::Property.
Definition at line 40 of file AlgorithmProperty.cpp.
References m_algmStr.
Referenced by setValue(), and setValueFromJson().
|
overridevirtual |
Create a Json::Value from the algorithm value.
Implements Mantid::Kernel::Property.
Definition at line 45 of file AlgorithmProperty.cpp.
|
private |
Definition at line 75 of file AlgorithmProperty.h.
Referenced by setBaseValue(), and value().