Home > classes > @param > display.m

display

PURPOSE ^

DISPLAY display a parameter

SYNOPSIS ^

function varargout = display(varargin)

DESCRIPTION ^

 DISPLAY display a parameter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: DISPLAY display a parameter
              Is called for the parameter object when the semicolon is not used.

 CALL:        param('a', 1)
              txt = display(param('a', 1));

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

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

 VERSION:     $Id: display.m,v 1.34 2008/08/14 15:00:50 hewitson Exp $

 HISTORY:     30-01-2007 M Hewitson
                 Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % DISPLAY display a parameter
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % DESCRIPTION: DISPLAY display a parameter
0005 %              Is called for the parameter object when the semicolon is not used.
0006 %
0007 % CALL:        param('a', 1)
0008 %              txt = display(param('a', 1));
0009 %
0010 % M-FILE INFO: Get information about this methods by calling
0011 %              >> param.getInfo('display')
0012 %
0013 %              Get information about a specified set-plist by calling:
0014 %              >> param.getInfo('display', 'None')
0015 %
0016 % VERSION:     $Id: display.m,v 1.34 2008/08/14 15:00:50 hewitson Exp $
0017 %
0018 % HISTORY:     30-01-2007 M Hewitson
0019 %                 Creation
0020 %
0021 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0022 
0023 function varargout = display(varargin)
0024 
0025   %%% Check if this is a call for parameters
0026   if utils.helper.isinfocall(varargin{:})
0027     varargout{1} = getInfo(varargin{3});
0028     return
0029   end
0030 
0031   objs = utils.helper.collect_objects(varargin(:), 'param');
0032 
0033   txt = {};
0034 
0035   for ii = 1:numel(objs)
0036     banner = sprintf('---- param %d ----', i);
0037     txt{end+1} = banner;
0038 
0039     % get key and value
0040     name = objs(ii).key;
0041     v    = objs(ii).val;
0042 
0043     txt{end+1} = ['key: ' name];
0044 
0045     % convert value for printing
0046 
0047     %%%%%   Character   %%%%%
0048     if ischar(v)
0049       MAXLENGTH = 100;
0050       if length(v) > MAXLENGTH
0051         txt{end+1} = ['val: ''' v(1:MAXLENGTH) ' ...'''];
0052       else
0053         txt{end+1} = ['val: ''' v ''''];
0054       end
0055 
0056       %%%%%   Logical   %%%%%
0057     elseif islogical(v)
0058       if v == true
0059         txt{end+1} = 'val: true';
0060       else
0061         txt{end+1} = 'val: false';
0062       end
0063 
0064       %%%%%   Numeric   %%%%%
0065     elseif isnumeric(v)
0066       sval = '';
0067       if size(v,1) == 1 || size(v,2) == 1
0068         for j=1:min(length(v), 10)
0069           sval = [sval sprintf('%g ', v(j))];
0070         end
0071         if length(v) > 10
0072           sval = [sval '...'];
0073         end
0074       elseif isempty(v)
0075         sval = '[]';
0076       else
0077         sval = sprintf('Matrix [%dx%d]', size(v,1), size(v,2));
0078       end
0079       txt{end+1} = ['val: ' sval];
0080 
0081       %%%%%   Symbolic Object   %%%%%
0082     elseif isa(v, 'sym')
0083       sval = char(v);
0084       txt{end+1} = ['val: ' sval];
0085 
0086       %%%%%   Specwin Object   %%%%%
0087     elseif isa(v, 'specwin');
0088       txt{end+1} = ['val: specwin'];
0089       txt = [txt char(v)];
0090 
0091       %%%%%   Provenance Object   %%%%%
0092     elseif isa(v, 'provenance')
0093       txt{end+1} = ['val: ' v.creator '@' v.hostname ' (' v.ip ')'];
0094 
0095       %%%%%   miir and mfir Object   %%%%%
0096     elseif isa(v, 'miir') || isa(v, 'mfir')
0097       txt{end+1} = ['val: ' char(v)];
0098 
0099       %%%%%   time, timespan and timeformat Object   %%%%%
0100     elseif isa(v, 'time') || isa(v, 'timespan') || isa(v, 'timeformat')
0101       txt{end+1} = ['val: ' char(v)];
0102 
0103       %%%%%   ao                              %%%%%
0104       %%%%%   cdata, fsdata, tsdata, xydata   %%%%%
0105       %%%%%   plist, param                    %%%%%
0106       %%%%%   history                         %%%%%
0107     elseif isa(v, 'ao')    || isa(v, 'fsdata')  || isa(v, 'tsdata') || ...
0108         isa(v, 'cdata') || isa(v, 'xydata')  || isa(v, 'plist')  || ...
0109         isa(v, 'param') || isa(v, 'history')
0110       vinfo = whos('v');
0111       txt{end+1} = ['val: ' vinfo.class '-object'];
0112 
0113       %%%%%   pole, zero and pole/zero model Object   %%%%%
0114     elseif isa(v, 'pole') || isa(v, 'zero') || isa(v, 'pzmodel')
0115       sval = '';
0116       for j=1:length(v)
0117         sval = [sval ' ' char(v(j))];
0118       end
0119       txt{end+1} = ['val: ' sval];
0120 
0121       %%%%%   Structures   %%%%%
0122     elseif isstruct(v)
0123 
0124       fields = fieldnames(v);
0125       txt{end+1} = 'val: structure';
0126       for ii=1:length(fields)
0127         field = fields{ii};
0128         if ischar(v.(field))
0129           txt{end+1} = ['     ' field ': ''' v.(field) ''''];
0130         elseif isnumeric(v.(field))
0131           txt{end+1} = ['     ' field ': ' utils.helper.mat2str(v.(field))];
0132         elseif isobject(v.(field))
0133           txt{end+1} = ['     ' field ': ' class(v.(field)) '-object'];
0134         else
0135           txt{end+1} = ['     ' field ': ' num2str(size(v.(field),1)) 'x' num2str(size(v.(field),2)) ' ' class(v.(field))];
0136         end
0137       end
0138 
0139       %%%%%   Cell   %%%%%
0140     elseif iscell(v)
0141       sval = '{';
0142       for ii = 1:length(v)
0143         if ischar(v{ii})
0144           sval = [sval '''' v{ii} ''' '];
0145         elseif isnumeric(v{ii})
0146           sval = [sval '[' utils.helper.mat2str(v{ii}) '] '];
0147         elseif isobject(v{ii})
0148           sval = [sval '''' class(v{ii}) ''' '];
0149         else
0150           error('### Do not use a [%s] in a cell array', class(v));
0151         end
0152       end
0153       if length(sval) > 1
0154         sval(end) = '}';
0155       else
0156         sval(end+1) = '}';
0157       end
0158       txt{end+1} = ['val: ' sval];
0159 
0160       %%%%%   JAVA   %%%%%
0161     elseif isjava(v)
0162       txt{end+1} = ['val: ' class(v)];
0163 
0164     else
0165       if isobject(v)
0166         txt{end+1} = sprintf('val: <%s>', class(v));
0167       elseif isa(v, 'function_handle')
0168         txt{end+1} = sprintf('val: function handle: %s', func2str(v));
0169       else
0170         txt{end+1} = sprintf('val: <unknown type>');
0171       end
0172     end
0173 
0174     banner_end(1:length(banner)) = '-';
0175     txt{end+1} = banner_end;
0176 
0177   end
0178 
0179   %%% Prepare output
0180   if nargout == 0
0181     for ii=1:length(txt)
0182       disp(txt{ii});
0183     end
0184   elseif nargout == 1
0185     varargout{1} = txt;
0186   end
0187 
0188 end
0189 
0190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0191 %                               Local Functions                               %
0192 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0193 
0194 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0195 %
0196 % FUNCTION:    getInfo
0197 %
0198 % DESCRIPTION: Get Info Object
0199 %
0200 % HISTORY:     11-07-07 M Hewitson
0201 %                Creation.
0202 %
0203 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0204 
0205 function ii = getInfo(varargin)
0206   if nargin == 1 && strcmpi(varargin{1}, 'None')
0207     sets = {};
0208     pl   = [];
0209   else
0210     sets = {'Default'};
0211     pl   = getDefaultPlist;
0212   end
0213   % Build info object
0214   ii = minfo(mfilename, 'param', '', 'Output', '$Id: display.m,v 1.34 2008/08/14 15:00:50 hewitson Exp $', sets, pl);
0215 end
0216 
0217 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0218 %
0219 % FUNCTION:    getDefaultPlist
0220 %
0221 % DESCRIPTION: Get Default Plist
0222 %
0223 % HISTORY:     11-07-07 M Hewitson
0224 %                Creation.
0225 %
0226 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0227 
0228 function plo = getDefaultPlist()
0229   plo = plist();
0230 end
0231

Generated on Mon 25-Aug-2008 22:39:29 by m2html © 2003