Mercurial > hg > ltpda
diff m-toolbox/classes/@ltpda_uoh/ltpda_uoh.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children | bc767aaa99a8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/@ltpda_uoh/ltpda_uoh.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,225 @@ +% LTPDA_UOH is the abstract ltpda base class for ltpda user object classes with history +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DESCRIPTION: LTPDA_UOH is the ltpda base class for ltpda user object classes +% This class is an abstract class and it is not possible to create +% an instance of this class. +% +% SUPER CLASSES: ltpda_uo < ltpda_obj +% +% SUB CLASSES: ao, filterbank, timespan, ssm, smodel, pest, matrix, collection, ltpda_tf +% +% LTPDA_UOH PROPERTIES: +% +% Protected Properties (read only) +% UUID - Universally Unique Identifier of 128-bit +% description - description of the object +% hist - history of the object (history object) +% mdlfile - model xml file of the LTPDAworkbench +% name - name of the object +% plotinfo - plist with the plot information +% procinfo - plist with additional information for an object. +% +% VERSION: $Id: ltpda_uoh.m,v 1.64 2011/09/16 04:59:23 hewitson Exp $ +% +% SEE ALSO: ltpda_obj, ltpda_uo, ltpda_tf, ltpda_filter, +% ao, miir, mfir, filterbank, timespan, pzmodel, history, ssm, +% parfrac, rational, smodel, pest, matrix, collection +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +classdef (Hidden = true) ltpda_uoh < ltpda_uo + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Property definition % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %---------- Public (read/write) Properties ---------- + properties + end + + %---------- Protected read-only Properties ---------- + properties (SetAccess = protected) + hist = []; % history of the object (history object) + procinfo = []; % plist with additional information for an object. + plotinfo = []; % plist with the plot information + end + + %---------- Private Properties ---------- + properties (GetAccess = protected, SetAccess = protected) + end + + %---------- Abstract Properties ---------- + properties (Abstract = true, SetAccess = protected) + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Check property setting % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods + function set.hist(obj, val) + if ~(isa(val, 'history') || isempty(val)) + error('### The value for the property ''hist'' must be\n### a history-object or empty but it is\n### from the class %s', class(val)); + end + obj.hist = val; + end + function set.procinfo(obj, val) + if ~isa(val, 'plist') && ~isempty(val) + error('### The value for the property ''procinfo'' should be a plist but it is from the class [%s]', class(val)); + end + if isempty(val) || nparams(val) == 0 + obj.procinfo = []; + else + obj.procinfo = val; + end + end + function set.plotinfo(obj, val) + if ~isa(val, 'plist') && ~isempty(val) + error('### The value for the property ''plotinfo'' should be a plist but it is from the class [%s]', class(val)); + end + if isempty(val) || nparams(val) == 0 + obj.plotinfo = []; + else + obj.plotinfo = val; + end + end + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Constructor % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods + function obj = ltpda_uoh(varargin) + end + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Methods (protected) % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods (Access = protected) + varargout = setPropertyValue(varargin) + varargout = setObjectProperties(varargin) + varargout = addHistory(varargin) + varargout = addHistoryWoChangingUUID(varargin) + obj = fromFile(pbj, pli) + obj = fromRepository(obj, pli) + obj = fromLISO(obj, filename) + obj = fromDataInMAT(obj, data, filename) + obj = fromDatafile(obj, pli) + obj = fromComplexDatafile(obj, pli) + obj = fromModel(obj,pli) + obj = fromStruct(obj, a_struct) + varargout = fromDom(varargin) + varargout = csvGenerateData(varargin) + end + methods (Access = public) + varargout = setProperties(varargin) + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Methods (public) % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods + varargout = index(varargin) + varargin = creator(varargin) + varargin = created(varargin) + + varargout = setPlotinfo(varargin) + varargout = setProcinfo(varargin) + varargout = csvexport(varargin) + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Methods (public, hidden) % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods (Hidden = true) + varargout = testCallerIsMethod(varargin) + varargout = clearHistory(varargin) + varargout = setHist(obj, val) + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Methods (static) % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods (Static) + + varargout = update_struct(varargin); + + function ii = getInfo(varargin) + ii = utils.helper.generic_getInfo(varargin{:}, 'ltpda_uoh'); + end + + function out = VEROUT() + out = '$Id: ltpda_uoh.m,v 1.64 2011/09/16 04:59:23 hewitson Exp $'; + end + + function out = SETS() + out = SETS@ltpda_uo; + end + + function out = buildplist(out, set) + out = buildplist@ltpda_uo(out, set); + + switch lower(set) + end + end + + end + + methods (Static, Access=protected) + + + function pl = addGlobalKeys(pl) + % Name + p = param({'Name','The name of the constructed object.'}, paramValue.EMPTY_STRING); + pl.append(p); + + % Description + p = param({'Description','The description of the constructed object.'}, paramValue.EMPTY_STRING); + pl.append(p); + + % Plotinfo + p = param({'plotinfo',['The plot information for the constructed object. This information is interpreted by iplot. The value should be '... + 'a plist with any or all of the following keys:<ul>'... + '<li>''linestyle'' - choose a MATLAB linestyle</li>'... + '<li>''linewidth'' - choose a the line width</li>'... + '<li>''color'' - choose a color for the resulting trace</li>'... + '<li>''marker'' - choose a marker for the resulting trace</li>'... + '<li>''legend_on'' - choose a true or false to include in the legend or not</li>'... + '</ul>']}, paramValue.EMPTY_DOUBLE); + pl.append(p); + + + end + + function pl = removeGlobalKeys(pl) + pl.remove('name'); + pl.remove('description'); + end + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Methods (static) % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods (Static, Hidden) + end + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % Methods (abstract) % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + methods (Abstract) + varargout = generateConstructorPlist(varargin) + end + +end +