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.12 2008/02/23 19:49:11 hewitson 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.12 2008/02/23 19:49:11 hewitson Exp $
0012 %
0013 % HISTORY:     29-03-2007 M Hewitson
0014 %                 Creation
0015 %
0016 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0017 
0018 VERSION = '$Id: string.m,v 1.12 2008/02/23 19:49:11 hewitson Exp $';
0019 CATEGORY = 'Helper';
0020 
0021 %%%%%   'Params' && 'Version' Call   %%%%%
0022 if nargin == 2
0023   if isa(pl, 'plist') && ischar(varargin{1})
0024     in = varargin{1};
0025     if strcmp(in, 'Params')
0026       pstr = plist();
0027       return
0028     elseif strcmp(in, 'Version')
0029       pstr = VERSION;
0030       return
0031     elseif strcmp(in, 'Category')
0032       pstr = CATEGORY;
0033       return
0034     end
0035   end
0036 end
0037 
0038 if ~isempty(pl.plist)
0039   pstr = sprintf('plist(%s)', string(pl.plist));
0040 else
0041   np   = length(pl.params);
0042   pstr = '';
0043   if np > 0
0044     pstr = ['plist('];
0045     for j=1:np
0046       p = pl.params(j);
0047       if ischar(p.val)
0048         pstr = [pstr ''''  p.key ''', ''' char(p.val) ''', '];
0049       elseif isnumeric(p.val)
0050         pstr = [pstr ''''  p.key ''', ' ltpda_mat2str(p.val) ', '];
0051       elseif isa(p.val, 'ao')
0052         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0053       elseif isa(p.val, 'history')
0054         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0055       elseif isa(p.val, 'miir')
0056         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0057       elseif isa(p.val, 'mfir')
0058         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0059       elseif isa(p.val, 'specwin')
0060         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0061       elseif isa(p.val, 'pole') || isa(p.val, 'zero') || isa(p.val, 'pzmodel')
0062         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0063       elseif isa(p.val, 'time')
0064         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0065       elseif isa(p.val, 'plist')
0066         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0067       elseif isa(p.val, 'timeformat')
0068         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0069       elseif isa(p.val, 'timespan')
0070         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0071       elseif isa(p.val, 'param')
0072         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0073       elseif isa(p.val, 'provenance')
0074         pstr = [pstr '''' p.key ''', ' string(p.val) ', '];
0075       elseif iscell(p.val)
0076         val_str = ['{ '];
0077         for ii = 1:numel(p.val)
0078           cell_val = p.val{ii};
0079           if ischar(cell_val)
0080             val_str = [val_str '''' p.val{ii} ''', ' ];
0081           elseif isnumeric(cell_val)
0082             val_str = [val_str ltpda_mat2str(p.val{ii}) ', ' ];
0083           elseif isobject(cell_val)
0084             val_str = [val_str string(p.val{ii}) ', ' ];
0085           else
0086             error('### Unknown object in cell array');
0087           end
0088         end
0089         val_str = val_str(1:end-2);
0090         val_str = [val_str ' }'];
0091         pstr = [pstr '''' p.key ''', ' val_str ', '];
0092       elseif isa(p.val, 'cdata') || isa(p.val, 'fsdata') || ...
0093           isa(p.val, 'tsdata')|| isa(p.val, 'xydata') || ...
0094           isa(p.val, 'xyzdata')
0095         pstr = [pstr '''' p.key ''', ' class(p.val) '(), '];
0096       else
0097         error('!!! Can not handle the class [%s].', class(p.val));
0098       end
0099     end
0100 
0101     % close bracket
0102     if ~isempty(pstr)
0103       pstr = pstr(1:end-2);
0104     end
0105     pstr = [pstr ')'];
0106   else
0107     pstr = 'plist()';
0108   end
0109 end
0110 
0111 % END

Generated on Mon 31-Mar-2008 13:54:54 by m2html © 2003