Home > classes > @plist > string.m

string

PURPOSE ^

STRING converts a plist object to a command string which will recreate the plist object.

SYNOPSIS ^

function pstr = string(pl, varargin)

DESCRIPTION ^

 STRING converts a plist object to a command string which will recreate the plist object.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: STRING converts a plist object to a command string which will
              recreate the plist object.

 CALL:        cmd = string(pl)

 VERSION:     $Id: string.m,v 1.7 2008/01/02 17:58:51 ingo Exp $

 HISTORY:     29-03-2007 M Hewitson
                 Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function pstr = string(pl, varargin)
0002 % STRING converts a plist object to a command string which will recreate the plist object.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: STRING converts a plist object to a command string which will
0007 %              recreate the plist object.
0008 %
0009 % CALL:        cmd = string(pl)
0010 %
0011 % VERSION:     $Id: string.m,v 1.7 2008/01/02 17:58:51 ingo Exp $
0012 %
0013 % HISTORY:     29-03-2007 M Hewitson
0014 %                 Creation
0015 %
0016 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0017 
0018 VERSION = '$Id: string.m,v 1.7 2008/01/02 17:58:51 ingo Exp $';
0019 
0020 %%%%%   'Params' && 'Version' Call   %%%%%
0021 if nargin == 2
0022   if isa(pl, 'plist') && ischar(varargin{1})
0023     in = varargin{1};
0024     if strcmp(in, 'Params')
0025       pstr = plist();
0026       return
0027     elseif strcmp(in, 'Version')
0028       pstr = VERSION;
0029       return
0030     end
0031   end
0032 end
0033 
0034 np   = length(pl.params);
0035 pstr = '';
0036 if np > 0
0037   pstr = ['plist('];
0038   for j=1:np
0039     p = pl.params(j);
0040     if ischar(p.val)
0041       pstr = [pstr ''''  p.key ''', ''' char(p.val) ''', '];
0042     elseif isnumeric(p.val)
0043       pstr = [pstr ''''  p.key ''', ' ltpda_mat2str(p.val) ', '];
0044     elseif isa(p.val, 'ao')
0045       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0046     elseif isa(p.val, 'history')
0047       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0048     elseif isa(p.val, 'miir')
0049       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0050     elseif isa(p.val, 'mfir')
0051       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0052     elseif isa(p.val, 'specwin')
0053       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0054     elseif isa(p.val, 'pole') || isa(p.val, 'zero') || isa(p.val, 'pzmodel')
0055       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0056     elseif isa(p.val, 'time')
0057       pstr = [pstr '''' p.key ''', ' string(p.val) ', '];      
0058     elseif iscell(p.val)
0059       val_str = ['{ '];
0060       for ii = 1:numel(p.val)
0061         cell_val = p.val{ii};
0062         if ischar(cell_val)
0063           val_str = [val_str '''' p.val{ii} ''', ' ];
0064         elseif isnumeric(cell_val)
0065           val_str = [val_str ltpda_mat2str(p.val{ii}) ', ' ];
0066         else
0067           error('### Unknown object in cell array');
0068         end
0069       end
0070       val_str = val_str(1:end-2);
0071       val_str = [val_str ' }'];
0072       pstr = [pstr '''' p.key ''', ' val_str ', '];
0073     else
0074       warning('!!! unknown parameter type. Can''t convert to string.');
0075     end
0076   end
0077 
0078   % close bracket
0079   if ~isempty(pstr)
0080     pstr = pstr(1:end-2);
0081   end
0082   pstr = [pstr ')'];
0083 end
0084 
0085 % END

Generated on Tue 22-Jan-2008 10:39:13 by m2html © 2003