view m-toolbox/classes/@param/setProperty.m @ 39:11e3ed9d2115 database-connection-manager

Implement databases listing in database connection dialog
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Mon, 05 Dec 2011 16:20:06 +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