view m-toolbox/classes/@rational/generateConstructorPlist.m @ 44:409a22968d5e
default
Add unit tests
author |
Daniele Nicolodi <nicolodi@science.unitn.it> |
date |
Tue, 06 Dec 2011 18:42:11 +0100 (2011-12-06) |
parents |
f0afece42f48 |
children |
|
line source
% GENERATECONSTRUCTORPLIST generates a PLIST from the properties which can rebuild the object.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DESCRIPTION: GENERATECONSTRUCTORPLIST generates a PLIST from the
% properties which can rebuild the object.
%
% CALL: pl = obj.generateConstructorPlist();
%
% <a href="matlab:utils.helper.displayMethodInfo('ao', 'generateConstructorPlist')">Parameters Description</a>
%
% VERSION: $Id: generateConstructorPlist.m,v 1.4 2011/04/08 08:56:33 hewitson Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function pl = generateConstructorPlist(varargin)
% Check if this is a call for parameters
if utils.helper.isinfocall(varargin{:})
pl = getInfo(varargin{3});
return
end
obj = varargin{1};
pl = plist();
% Add procinfo
appendProperty(pl, obj, 'procinfo');
% Add plotinfo
appendProperty(pl, obj, 'plotinfo');
% Add name
appendProperty(pl, obj, 'name', false);
% Add description
appendProperty(pl, obj, 'description');
% Add iunits
appendProperty(pl, obj, 'iunits');
% Add ounits
appendProperty(pl, obj, 'ounits');
% Add den
appendProperty(pl, obj, 'den');
% Add num
appendProperty(pl, obj, 'num');
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Local Functions %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% FUNCTION: appendProperty
%
% CALL: appendProperty(pl, obj, propName)
% appendProperty(pl, obj, propName, isemptyCheck)
%
% DESCRIPTION: Get Info Object
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function appendProperty(pl, obj, propName, isemptyCheck)
if nargin <= 3
isemptyCheck = true;
end
if isemptyCheck
if ~isempty(obj.(propName))
pl.append(propName, obj.(propName));
else
% Don't append the property to the PLIST
end
else
pl.append(propName, obj.(propName));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% FUNCTION: getInfo
%
% DESCRIPTION: Get Info Object
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function ii = getInfo(varargin)
if nargin == 1 && strcmpi(varargin{1}, 'None')
sets = {};
pl = [];
else
sets = {'Default'};
pl = getDefaultPlist;
end
% Build info object
ii = minfo(mfilename, 'ao', 'ltpda', utils.const.categories.internal, '$Id: generateConstructorPlist.m,v 1.4 2011/04/08 08:56:33 hewitson Exp $', sets, pl);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% FUNCTION: getDefaultPlist
%
% DESCRIPTION: Get Default Plist
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function plout = getDefaultPlist()
persistent pl;
if exist('pl', 'var')==0 || isempty(pl)
pl = buildplist();
end
plout = pl;
end
function pl = buildplist()
pl = plist.EMPTY_PLIST;
end