Mercurial > hg > ltpda
view m-toolbox/classes/@param/setProperty.m @ 44:409a22968d5e default
Add unit tests
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Tue, 06 Dec 2011 18:42:11 +0100 |
parents | f0afece42f48 |
children |
line wrap: on
line source
% SETPROPERTY set a property to a parameter. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % DESCRIPTION: SETPROPERTY set a property to a parameter. If the property % name exists then replace the value otherwise add this % property. % % CALL: obj = obj.setProperty(propertyName, val); % % INPUTS: propertyName: Property name of the paramValue object % value: Value of the property % % VERSION: $Id: setProperty.m,v 1.2 2011/02/22 15:53:12 hewitson Exp $ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function obj = setProperty(obj, propertyName, value) if nargin ~= 3 error('### This method works only with three inputs.'); end if ~isempty(obj.val) obj = copy(obj, nargout); % if the value is not a paramValue, we need to promote it before % setting the property. if ~isa(obj.val, 'paramValue') obj.val = paramValue(1, {obj.val}); end obj.val.setProperty(propertyName, value); else error('### There is no value set! Therefore it is not possible to set for this value a property.') end end