Home > classes > @minfo > minfo.m

minfo

PURPOSE ^

MINFO a helper class for LTPDA methods.

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

 MINFO a helper class for LTPDA methods.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 MINFO is a helper class for LTPDA methods. It holds minformation about the
 method.

   >> ii = minfo(mname, mclass, mpackage, mcategory, mversion, param_sets, plists, argsmin, argsmax)

   Inputs:
     mname     - The method name
     mclass    - The method class
     mpackage  - The package (if applicable)
     mcategory - The category of the method
     mversion  - The version of the method
     sets      - A cell array of parameter set names
     plists    - An array of parameter lists
     argsmin   - Minimum number of input arguments [0 is unbounded]
     argsmax   - Maximum number of input arguments [0 is unbounded]

   Outputs:
     ii  - an minfo object


 M Hewitson 27-05-08

 $Id: minfo.m,v 1.15 2008/09/03 16:34:49 hewitson Exp $

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % MINFO a helper class for LTPDA methods.
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % MINFO is a helper class for LTPDA methods. It holds minformation about the
0005 % method.
0006 %
0007 %   >> ii = minfo(mname, mclass, mpackage, mcategory, mversion, param_sets, plists, argsmin, argsmax)
0008 %
0009 %   Inputs:
0010 %     mname     - The method name
0011 %     mclass    - The method class
0012 %     mpackage  - The package (if applicable)
0013 %     mcategory - The category of the method
0014 %     mversion  - The version of the method
0015 %     sets      - A cell array of parameter set names
0016 %     plists    - An array of parameter lists
0017 %     argsmin   - Minimum number of input arguments [0 is unbounded]
0018 %     argsmax   - Maximum number of input arguments [0 is unbounded]
0019 %
0020 %   Outputs:
0021 %     ii  - an minfo object
0022 %
0023 %
0024 % M Hewitson 27-05-08
0025 %
0026 % $Id: minfo.m,v 1.15 2008/09/03 16:34:49 hewitson Exp $
0027 %
0028 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0029 
0030 classdef minfo < ltpda_nuo
0031 
0032   %------------------------------------------------
0033   %---------- Private read-only Properties --------
0034   %------------------------------------------------
0035   properties (SetAccess = private)
0036     mname     = '';
0037     mclass    = '';
0038     mpackage  = '';
0039     mcategory = '';
0040     mversion  = '';
0041     sets      = {};
0042     plists    = [];
0043     argsmin   = 1;
0044     argsmax   = 0;
0045   end
0046   
0047   properties (SetAccess = protected)
0048     version = '$Id: minfo.m,v 1.15 2008/09/03 16:34:49 hewitson Exp $';
0049   end
0050 
0051   %------------------------------------------------
0052   %-------- Declaration of public methods --------
0053   %------------------------------------------------
0054   methods
0055 
0056     %------------------------------------------------
0057     %-------- Property rules                 --------
0058     %------------------------------------------------
0059 
0060     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0061     %                                Constructor                                %
0062     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0063     function ii = minfo(varargin)
0064 
0065       %%% Call superclass
0066       ii = ii@ltpda_nuo(varargin{:});
0067 
0068       %%%%%%%%%%   Set dafault values   %%%%%%%%%%
0069 
0070       switch nargin
0071         case 0
0072         case 1
0073 
0074           if isstruct(varargin{1})
0075             %%%%%%%%%%   ii = minfo(structure)   %%%%%%%%%%
0076             %%%%%%%%%%   necessary for readxml   %%%%%%%%%%
0077 
0078             %%% Set properties which are declared in this class
0079             ii.mname     = varargin{1}.mname;
0080             ii.mclass    = varargin{1}.mclass;
0081             ii.mpackage  = varargin{1}.mpackage;
0082             ii.mcategory = varargin{1}.mcategory;
0083             ii.mversion  = varargin{1}.mversion;
0084             ii.sets      = varargin{1}.sets;
0085             ii.plists    = varargin{1}.plists;
0086             ii.argsmin   = varargin{1}.argsmin;
0087             ii.argsmax   = varargin{1}.argsmax;
0088             ii.version   = varargin{1}.version;
0089 
0090           elseif isa(varargin{1}, 'minfo')
0091             ii = copy(varargin{1}, 1);
0092           else
0093             ii.mname = varargin{1};
0094           end
0095 
0096         case 2
0097           ii.mname = varargin{1};
0098           ii.mclass = varargin{2};
0099         case 3
0100           ii.mname = varargin{1};
0101           ii.mclass = varargin{2};
0102           ii.mpackage = varargin{3};
0103         case 4
0104           ii.mname = varargin{1};
0105           ii.mclass = varargin{2};
0106           ii.mpackage = varargin{3};
0107           ii.mcategory = varargin{4};
0108         case 5
0109           ii.mname = varargin{1};
0110           ii.mclass = varargin{2};
0111           ii.mpackage = varargin{3};
0112           ii.mcategory = varargin{4};
0113           ii.mversion = varargin{5};
0114         case 6
0115           ii.mname = varargin{1};
0116           ii.mclass = varargin{2};
0117           ii.mpackage = varargin{3};
0118           ii.mcategory = varargin{4};
0119           ii.mversion = varargin{5};
0120           ii.sets = varargin{6};
0121         case 7
0122           ii.mname = varargin{1};
0123           ii.mclass = varargin{2};
0124           ii.mpackage = varargin{3};
0125           ii.mcategory = varargin{4};
0126           ii.mversion = varargin{5};
0127           ii.sets = varargin{6};
0128           % add plists until we have at least as many as set
0129           % descriptions
0130           pls = varargin{7};
0131           while numel(pls) < numel(ii.sets)
0132             pls = [pls plist];
0133           end
0134           ii.plists = pls;
0135           % Check we have one set description per plist
0136           if numel(ii.plists) ~= numel(ii.sets)
0137             sets = ii.sets;
0138             while numel(sets) < numel(ii.plists)
0139               sets = [sets {''}];
0140             end
0141             ii.sets = sets;
0142           end
0143         case 8
0144           ii.mname = varargin{1};
0145           ii.mclass = varargin{2};
0146           ii.mpackage = varargin{3};
0147           ii.mcategory = varargin{4};
0148           ii.mversion = varargin{5};
0149           ii.sets = varargin{6};
0150           % add plists until we have at least as many as set
0151           % descriptions
0152           pls = varargin{7};
0153           while numel(pls) < numel(ii.sets)
0154             pls = [pls plist];
0155           end
0156           ii.plists = pls;
0157           % Check we have one set description per plist
0158           if numel(ii.plists) ~= numel(ii.sets)
0159             sets = ii.sets;
0160             while numel(sets) < numel(ii.plists)
0161               sets = [sets {''}];
0162             end
0163             ii.sets = sets;
0164           end
0165           ii.argsmin = varargin{8};
0166         case 9
0167           ii.mname = varargin{1};
0168           ii.mclass = varargin{2};
0169           ii.mpackage = varargin{3};
0170           ii.mcategory = varargin{4};
0171           ii.mversion = varargin{5};
0172           ii.sets = varargin{6};
0173           % add plists until we have at least as many as set
0174           % descriptions
0175           pls = varargin{7};
0176           while numel(pls) < numel(ii.sets)
0177             pls = [pls plist];
0178           end
0179           ii.plists = pls;
0180           % Check we have one set description per plist
0181           if numel(ii.plists) ~= numel(ii.sets)
0182             sets = ii.sets;
0183             while numel(sets) < numel(ii.plists)
0184               sets = [sets {''}];
0185             end
0186             ii.sets = sets;
0187           end
0188           ii.argsmin = varargin{8};
0189           ii.argsmax = varargin{9};
0190         otherwise
0191           error('### Unknown number of constructor arguments');
0192       end
0193     end % End of constructor
0194   end % End public methods
0195 
0196   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0197   %                              Methods (public)                             %
0198   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0199 
0200   methods
0201     varargout = char(varargin)
0202     varargout = copy(varargin)
0203     varargout = display(varargin)
0204     varargout = setMversion(varargin)
0205   end
0206 
0207   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0208   %                              Methods (protected)                          %
0209   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0210 
0211   methods (Access = protected)
0212   end
0213 
0214   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0215   %                          Methods (Static, Public)                         %
0216   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0217 
0218   methods (Static = true)
0219 
0220     varargout = update_struct(varargin);
0221 
0222     function out = VEROUT()
0223       out = '$Id: minfo.m,v 1.15 2008/09/03 16:34:49 hewitson Exp $';
0224     end
0225 
0226     function ii = getInfo(varargin)
0227       ii = utils.helper.generic_getInfo(varargin{:}, 'minfo');
0228     end
0229 
0230     function out = SETS()
0231       out = {'Default'};
0232     end
0233 
0234     function out = getDefaultPlist(set)
0235       switch set
0236         case 'Default'
0237           out = plist();
0238         otherwise
0239           out = plist();
0240       end
0241     end
0242 
0243   end
0244 
0245   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0246   %                          Methods (Static, Private)                        %
0247   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0248 
0249   methods (Static = true, Access = private)
0250   end
0251 
0252 end
0253 
0254 % END

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