Mantid
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::API::AlgorithmProperty Class Reference

Define an algorithm property that can be used to supply an algorithm object to a subsequent algorithm. More...

#include <AlgorithmProperty.h>

Inheritance diagram for Mantid::API::AlgorithmProperty:
Mantid::Kernel::PropertyWithValue< std::shared_ptr< IAlgorithm > > Mantid::Kernel::Property

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...
 
AlgorithmPropertyclone () const override
 'Virtual copy constructor' More...
 
std::string getDefault () const override
 Get the default. More...
 
AlgorithmPropertyoperator+= (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
 
PropertyWithValueoperator+= (Property const *right) override
 Add to this. More...
 
PropertyWithValueoperator= (const PropertyWithValue &right)
 
virtual PropertyWithValueoperator= (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 Propertyclone () 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
 
IPropertySettingsgetSettings ()
 
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 Propertymerge (Property *)
 Just returns the property (*this) unless overridden. More...
 
const std::string & name () const
 Get the property's name. More...
 
virtual Propertyoperator+= (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< IAlgorithmm_initialValue
 the property's default value which is also its initial value More...
 
std::shared_ptr< IAlgorithmm_value
 The value of the property. More...
 
- Protected Attributes inherited from Mantid::Kernel::Property
std::string m_name
 The name of the property. More...
 

Detailed Description

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.

Author
Martyn Gigg, Tessella Plc
Date
24/03/2011

Definition at line 38 of file AlgorithmProperty.h.

Member Typedef Documentation

◆ HeldType

Typedef the held type.

Definition at line 41 of file AlgorithmProperty.h.

Constructor & Destructor Documentation

◆ AlgorithmProperty() [1/2]

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.

Parameters
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.

◆ AlgorithmProperty() [2/2]

Mantid::API::AlgorithmProperty::AlgorithmProperty ( const AlgorithmProperty )
default

Member Function Documentation

◆ clone()

AlgorithmProperty * Mantid::API::AlgorithmProperty::clone ( ) const
inlineoverridevirtual

'Virtual copy constructor'

Implements Mantid::Kernel::Property.

Definition at line 54 of file AlgorithmProperty.h.

◆ getDefault()

std::string Mantid::API::AlgorithmProperty::getDefault ( ) const
overridevirtual

Get the default.

Returns
An empty string

Implements Mantid::Kernel::Property.

Definition at line 51 of file AlgorithmProperty.cpp.

◆ operator+=()

AlgorithmProperty & Mantid::API::AlgorithmProperty::operator+= ( Kernel::Property const *  )
inlineoverridevirtual

Add the value of another property. Doesn't make sense here.

Implements Mantid::Kernel::Property.

Definition at line 57 of file AlgorithmProperty.h.

◆ setBaseValue()

std::string Mantid::API::AlgorithmProperty::setBaseValue ( const HeldType algm)
private

Set the value from the algorithm pointer.

Parameters
algm
Returns
An empty string if the value is valid, otherwise the string will contain the error

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().

◆ setValue()

std::string Mantid::API::AlgorithmProperty::setValue ( const std::string &  value)
overridevirtual

Sets the value of the algorithm from a string representation.

Set value of the algorithm Attempts to create an Algorithm object.

Parameters
value:: The string format for an algorithm,
See also
Algorithm::toString
Returns
An empty string if the value is valid, otherwise the string will contain the error

Implements Mantid::Kernel::Property.

Definition at line 60 of file AlgorithmProperty.cpp.

References Mantid::API::Algorithm::fromString(), setBaseValue(), and value().

◆ setValueFromJson()

std::string Mantid::API::AlgorithmProperty::setValueFromJson ( const Json::Value &  value)
overridevirtual

Sets the value of the algorithm from a Json representation.

Set the value of the algorithm property from a Json value.

Parameters
valueA reference
Returns
An empty string if the value is valid, otherwise the string will contain the error

Implements Mantid::Kernel::Property.

Definition at line 74 of file AlgorithmProperty.cpp.

References Mantid::API::Algorithm::fromJson(), setBaseValue(), and value().

◆ value()

std::string Mantid::API::AlgorithmProperty::value ( ) const
overridevirtual

Return the algorithm as string.

Returns
The algorithm serialized as a string

Implements Mantid::Kernel::Property.

Definition at line 40 of file AlgorithmProperty.cpp.

References m_algmStr.

Referenced by setValue(), and setValueFromJson().

◆ valueAsJson()

Json::Value Mantid::API::AlgorithmProperty::valueAsJson ( ) const
overridevirtual

Create a Json::Value from the algorithm value.

Returns
A Json::Value objectValue encoding the algorithm

Implements Mantid::Kernel::Property.

Definition at line 45 of file AlgorithmProperty.cpp.

Member Data Documentation

◆ m_algmStr

std::string Mantid::API::AlgorithmProperty::m_algmStr
private

Definition at line 75 of file AlgorithmProperty.h.

Referenced by setBaseValue(), and value().


The documentation for this class was generated from the following files: