Home > classes > @param > char.m

char

PURPOSE ^

CHAR convert a param object into a string.

SYNOPSIS ^

function varargout = char(varargin)

DESCRIPTION ^

 CHAR convert a param object into a string.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: CHAR convert a param object into a string.

 CALL:        string = char(obj)

 M-FILE INFO: Get information about this methods by calling
              >> param.getInfo('char')

              Get information about a specified set-plist by calling:
              >> param.getInfo('char', 'set')

 VERSION:     $Id: char.m,v 1.17 2008/09/04 15:29:31 ingo Exp $

 HISTORY:     04-02-2007 M Hewitson
                 Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % CHAR convert a param object into a string.
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % DESCRIPTION: CHAR convert a param object into a string.
0005 %
0006 % CALL:        string = char(obj)
0007 %
0008 % M-FILE INFO: Get information about this methods by calling
0009 %              >> param.getInfo('char')
0010 %
0011 %              Get information about a specified set-plist by calling:
0012 %              >> param.getInfo('char', 'set')
0013 %
0014 % VERSION:     $Id: char.m,v 1.17 2008/09/04 15:29:31 ingo Exp $
0015 %
0016 % HISTORY:     04-02-2007 M Hewitson
0017 %                 Creation
0018 %
0019 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0020 
0021 function varargout = char(varargin)
0022 
0023   %%% Check if this is a call for parameters
0024   if utils.helper.isinfocall(varargin{:})
0025     varargout{1} = getInfo(varargin{3});
0026     return
0027   end
0028 
0029   objs = utils.helper.collect_objects(varargin(:), 'param');
0030 
0031   pstr = '';
0032   for ii = 1:numel(objs)
0033 
0034     pp = objs(ii);
0035 
0036     if isempty(pp.key)
0037       pp.key = '''''';
0038     end
0039 
0040     %%%%%%%%%%   cell   %%%%%%%%%%
0041     if iscell(pp.val)
0042       pstr = [pstr pp.key '={'];
0043       for ii = 1:length(pp.val)
0044         if ischar(pp.val{ii})
0045           pstr = [pstr '''' pp.val{ii} ''', ' ];
0046         elseif isnumeric(pp.val{ii})
0047           pstr = [pstr '' mat2str(pp.val{ii},2) ', '];
0048         elseif isa(pp.val{ii}, 'sym')          
0049           pstr = [pstr '''' char(pp.val{ii}) ''', ' ];
0050         else
0051           pstr = [pstr '' class(pp.val{ii}) '-object, '];
0052         end
0053       end
0054       if strcmp(pstr(end-1:end), ', ')
0055         pstr = [pstr(1:end-2) '}, '];
0056       else
0057         pstr = [pstr '}, '];
0058       end
0059 
0060       %%%%%%%%%%   character   %%%%%%%%%%
0061     elseif ischar(pp.val)
0062       sval = char(pp.val);
0063       if isempty(sval)
0064         sval = [''''''];
0065       elseif length(sval) >= 10
0066         sval = [sval(1:10) '...'];
0067       end
0068       pstr = [pstr pp.key '=' sval ', '];
0069 
0070       %%%%%%%%%%   numbers   %%%%%%%%%%
0071     elseif isnumeric(pp.val)
0072       val_str = utils.helper.mat2str(pp.val);
0073       if length(val_str) > 25
0074         val_str = [val_str(1:25) ' ...]'];
0075       end
0076       pstr = [pstr pp.key '=' val_str ', '];
0077 
0078       %%%%%%%%%%   specwin   %%%%%%%%%%
0079     elseif isa(pp.val, 'specwin')
0080       % display only the window name here
0081       w = pp.val;
0082       pstr = [pstr pp.key '=' w.type ', '];
0083 
0084       %%%%%%%%%%   miir   %%%%%%%%%%
0085     elseif isa(pp.val, 'miir')
0086       f = pp.val;
0087       if strcmp(f.infile', '')
0088         pstr = [pstr pp.key '=' f.name ', '];
0089       else
0090         pstr = [pstr pp.key '=' f.infile ', '];
0091       end
0092 
0093       %%%%%%%%%%   mfir   %%%%%%%%%%
0094     elseif isa(pp.val, 'mfir')
0095       f = pp.val;
0096       pstr = [pstr pp.key '=' f.name ', '];
0097 
0098       %%%%%%%%%%   time, timeformat, timespan   %%%%%%%%%%
0099     elseif isa(pp.val, 'time') || isa(pp.val, 'timeformat') || isa(pp.val, 'timespan')
0100       pstr = [pstr pp.key '=' char(pp.val) ', '];
0101       %%%%%%%%%%%%% symbols %%%%%%%%%%%%
0102     elseif isa(pp.val, 'sym')
0103       sval = char(pp.val);
0104       if isempty(sval)
0105         sval = [''''''];
0106       elseif length(sval) >= 10
0107         sval = [sval(1:10) '...'];
0108       end
0109       pstr = [pstr pp.key '=' sval ', '];      
0110       %%%%%%%%%%   all other classes   %%%%%%%%%%
0111     else
0112       pstr = [pstr pp.key '=' class(pp.val) '-object, '];
0113     end
0114 
0115   end
0116 
0117   % remove last ', '
0118   if length(pstr)>1
0119     pstr = pstr(1:end-2);
0120   end
0121 
0122   %%% Prepare output
0123   varargout{1} = pstr;
0124 end
0125 
0126 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0127 %                               Local Functions                               %
0128 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0129 
0130 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0131 %
0132 % FUNCTION:    getInfo
0133 %
0134 % DESCRIPTION: Get Info Object
0135 %
0136 % HISTORY:     11-07-07 M Hewitson
0137 %                Creation.
0138 %
0139 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0140 
0141 function ii = getInfo(varargin)
0142   if nargin == 1 && strcmpi(varargin{1}, 'None')
0143     sets = {};
0144     pl   = [];
0145   else
0146     sets = {'Default'};
0147     pl   = getDefaultPlist;
0148   end
0149   % Build info object
0150   ii = minfo(mfilename, 'param', '', utils.const.categories.output, '$Id: char.m,v 1.17 2008/09/04 15:29:31 ingo Exp $', sets, pl);
0151 end
0152 
0153 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0154 %
0155 % FUNCTION:    getDefaultPlist
0156 %
0157 % DESCRIPTION: Get Default Plist
0158 %
0159 % HISTORY:     11-07-07 M Hewitson
0160 %                Creation.
0161 %
0162 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0163 
0164 function plo = getDefaultPlist()
0165   plo = plist();
0166 end
0167

Generated on Mon 08-Sep-2008 13:18:47 by m2html © 2003