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.36 2008/09/07 10:54:11 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.36 2008/09/07 10:54:11 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       %%%%%   Unit Object   %%%%%
0087     elseif isa(v, 'unit')
0088       sval = char(v);
0089       txt{end+1} = ['val: ' sval];
0090       
0091       %%%%%   Specwin Object   %%%%%
0092     elseif isa(v, 'specwin');
0093       txt{end+1} = ['val: specwin'];
0094       txt = [txt char(v)];
0095 
0096       %%%%%   Provenance Object   %%%%%
0097     elseif isa(v, 'provenance')
0098       txt{end+1} = ['val: ' v.creator '@' v.hostname ' (' v.ip ')'];
0099 
0100       %%%%%   miir and mfir Object   %%%%%
0101     elseif isa(v, 'miir') || isa(v, 'mfir')
0102       txt{end+1} = ['val: ' char(v)];
0103 
0104       %%%%%   time, timespan and timeformat Object   %%%%%
0105     elseif isa(v, 'time') || isa(v, 'timespan') || isa(v, 'timeformat')
0106       txt{end+1} = ['val: ' char(v)];
0107 
0108       %%%%%   ao                              %%%%%
0109       %%%%%   cdata, fsdata, tsdata, xydata   %%%%%
0110       %%%%%   plist, param                    %%%%%
0111       %%%%%   history                         %%%%%
0112     elseif isa(v, 'ao')    || isa(v, 'fsdata')  || isa(v, 'tsdata') || ...
0113         isa(v, 'cdata') || isa(v, 'xydata')  || isa(v, 'plist')  || ...
0114         isa(v, 'param') || isa(v, 'history')
0115       vinfo = whos('v');
0116       txt{end+1} = ['val: ' vinfo.class '-object'];
0117 
0118       %%%%%   pole, zero and pole/zero model Object   %%%%%
0119     elseif isa(v, 'pole') || isa(v, 'zero') || isa(v, 'pzmodel')
0120       sval = '';
0121       for j=1:length(v)
0122         sval = [sval ' ' char(v(j))];
0123       end
0124       txt{end+1} = ['val: ' sval];
0125 
0126       %%%%%   Structures   %%%%%
0127     elseif isstruct(v)
0128 
0129       fields = fieldnames(v);
0130       txt{end+1} = 'val: structure';
0131       for ii=1:length(fields)
0132         field = fields{ii};
0133         if ischar(v.(field))
0134           txt{end+1} = ['     ' field ': ''' v.(field) ''''];
0135         elseif isnumeric(v.(field))
0136           txt{end+1} = ['     ' field ': ' utils.helper.mat2str(v.(field))];
0137         elseif isobject(v.(field))
0138           txt{end+1} = ['     ' field ': ' class(v.(field)) '-object'];
0139         else
0140           txt{end+1} = ['     ' field ': ' num2str(size(v.(field),1)) 'x' num2str(size(v.(field),2)) ' ' class(v.(field))];
0141         end
0142       end
0143 
0144       %%%%%   Cell   %%%%%
0145     elseif iscell(v)
0146       sval = '{';
0147       for ii = 1:length(v)
0148         if ischar(v{ii})
0149           sval = [sval '''' v{ii} ''' '];
0150         elseif isnumeric(v{ii})
0151           sval = [sval '[' utils.helper.mat2str(v{ii}) '] '];
0152         elseif isobject(v{ii})
0153           sval = [sval '''' class(v{ii}) ''' '];
0154         else
0155           error('### Do not use a [%s] in a cell array', class(v));
0156         end
0157       end
0158       if length(sval) > 1
0159         sval(end) = '}';
0160       else
0161         sval(end+1) = '}';
0162       end
0163       txt{end+1} = ['val: ' sval];
0164 
0165       %%%%%   JAVA   %%%%%
0166     elseif isjava(v)
0167       txt{end+1} = ['val: ' class(v)];
0168 
0169     else
0170       if isobject(v)
0171         txt{end+1} = sprintf('val: <%s>', class(v));
0172       elseif isa(v, 'function_handle')
0173         txt{end+1} = sprintf('val: function handle: %s', func2str(v));
0174       else
0175         txt{end+1} = sprintf('val: <unknown type>');
0176       end
0177     end
0178 
0179     banner_end(1:length(banner)) = '-';
0180     txt{end+1} = banner_end;
0181 
0182   end
0183 
0184   %%% Prepare output
0185   if nargout == 0
0186     for ii=1:length(txt)
0187       disp(txt{ii});
0188     end
0189   elseif nargout == 1
0190     varargout{1} = txt;
0191   end
0192 
0193 end
0194 
0195 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0196 %                               Local Functions                               %
0197 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0198 
0199 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0200 %
0201 % FUNCTION:    getInfo
0202 %
0203 % DESCRIPTION: Get Info Object
0204 %
0205 % HISTORY:     11-07-07 M Hewitson
0206 %                Creation.
0207 %
0208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0209 
0210 function ii = getInfo(varargin)
0211   if nargin == 1 && strcmpi(varargin{1}, 'None')
0212     sets = {};
0213     pl   = [];
0214   else
0215     sets = {'Default'};
0216     pl   = getDefaultPlist;
0217   end
0218   % Build info object
0219   ii = minfo(mfilename, 'param', '', utils.const.categories.output, '$Id: display.m,v 1.36 2008/09/07 10:54:11 hewitson Exp $', sets, pl);
0220 end
0221 
0222 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0223 %
0224 % FUNCTION:    getDefaultPlist
0225 %
0226 % DESCRIPTION: Get Default Plist
0227 %
0228 % HISTORY:     11-07-07 M Hewitson
0229 %                Creation.
0230 %
0231 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0232 
0233 function plo = getDefaultPlist()
0234   plo = plist();
0235 end
0236

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