Home > classes > @param > param.m

param

PURPOSE ^

PARAM Parameter object class constructor.

SYNOPSIS ^

function p = param(varargin)

DESCRIPTION ^

 PARAM Parameter object class constructor.
     Create a parameter object.
 
     p = param('name', val)   - creates a numeric parameter
     p = param('name', 'val') - creates a string parameter
 
 M Hewitson 30-01-07
 
 $Id: param.html,v 1.1 2007/06/08 14:15:06 hewitson Exp $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function p = param(varargin)
0002 
0003 % PARAM Parameter object class constructor.
0004 %     Create a parameter object.
0005 %
0006 %     p = param('name', val)   - creates a numeric parameter
0007 %     p = param('name', 'val') - creates a string parameter
0008 %
0009 % M Hewitson 30-01-07
0010 %
0011 % $Id: param.html,v 1.1 2007/06/08 14:15:06 hewitson Exp $
0012 %
0013 
0014 ALGONAME = mfilename;
0015 VERSION  = '$Id: param.html,v 1.1 2007/06/08 14:15:06 hewitson Exp $';
0016 
0017 if nargin == 0
0018   p.key     = '';
0019   p.val     = [];
0020   p.version = VERSION;
0021   p = class(p, 'param');  
0022 elseif nargin == 1
0023   if isa(varargin{1}, 'plist')
0024     pl = varargin{1};
0025     key = find(pl, 'key');
0026     val = find(pl, 'val');
0027     if isempty(key) 
0028       error('### building a parameter from a plist requires one parameter in the plist is called ''key''');
0029     end
0030     if isempty(val) 
0031       error('### building a parameter from a plist requires one parameter in the plist is called ''val''');
0032     end
0033     p.key = key;
0034     p.val = val;
0035     p.version = VERSION;
0036     p = class(p, 'param');
0037   elseif isstruct(varargin{1})
0038     
0039     p = class(varargin{1}, 'param');
0040     
0041   else
0042     error('### unknown constructor type for param object.');
0043   end
0044 elseif nargin == 2
0045   
0046   if isa(varargin{1}, 'plist') || isa(varargin{2}, 'plist')
0047     if isa(varargin{1}, 'plist')
0048       pl = varargin{1};
0049       pi  = pl(1);
0050       key = pi.key;
0051     else
0052       val = varargin{1};
0053     end
0054     
0055     if isa(varargin{2}, 'plist')
0056       pl = varargin{2};
0057       pi  = pl(1);
0058       key = pi.key;
0059     else
0060       val = varargin{2};
0061     end
0062     
0063     p.key     = key;
0064     p.val     = val;
0065     p.version = VERSION;
0066     p = class(p, 'param');
0067     
0068   else    
0069     p.key     = varargin{1};
0070     p.val     = varargin{2};
0071     p.version = VERSION;
0072     p = class(p, 'param');
0073   end
0074 else
0075   error('### Unknown number of constructor arguments.');
0076 end
0077

Generated on Fri 08-Jun-2007 16:09:11 by m2html © 2003