0001 function p = set(p, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 VERSION = '$Id: set.m,v 1.7 2007/10/26 14:37:28 hewitson Exp $';
0022
0023
0024 if nargin == 2
0025 if isa(p, 'param') && ischar(varargin{1})
0026 in = char(varargin{1});
0027 if strcmp(in, 'Params')
0028 p = plist();
0029 return
0030 elseif strcmp(in, 'Version')
0031 p = VERSION;
0032 return
0033 end
0034 end
0035 end
0036
0037
0038 if (nargout ~= 0)
0039
0040 propArgin = varargin;
0041
0042 while length(propArgin) >= 2
0043 prop = varargin{1};
0044 val = varargin{2};
0045 propArgin = propArgin(3:end);
0046 switch prop
0047 case 'name'
0048 p.name = val;
0049 case 'version'
0050 p.version = val;
0051 case 'created'
0052 if isa(val, 'time')
0053 p.created = val;
0054 else
0055 error('### The property ''created'' must be a time-object');
0056 end
0057 case 'key'
0058 if ischar(val)
0059 p.key = val;
0060 else
0061 error('### The Key of a parameter must be a string.');
0062 end
0063 case 'val'
0064 p.val = val;
0065 otherwise
0066 error([val, ' is not a property of param class']);
0067 end
0068 end
0069
0070 else
0071 error('### please use: param = set(param, ''key'', ''value'');');
0072 end
0073