Home > classes > @history > history.m

history

PURPOSE ^

HISTORY History object class constructor.

SYNOPSIS ^

function h = history(varargin)

DESCRIPTION ^

 HISTORY History object class constructor.

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

 DESCRIPTION: HISTORY History object class constructor.
              Create a history object.

 CONSTRUCTOR: h = history()
                  creates a blank history object

              h = history('name', 'version')
                  creates a history object with this name and version

              h = history('name', 'version', plist)
                  creates a history object with this name,
                  version and parameter list.

              h = history('name', 'version', plist, hi)
                  creates a history object with this name, version,
                  parameter list, and vector of input history objects.

              h = history(hi)
                  creates a new history object from the history object hi

 VERSION: $Id: history.m,v 1.14 2007/08/31 17:40:08 hewitson Exp $

 HISTORY: 30-01-2007 M Hewitson
             Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function h = history(varargin)
0002 % HISTORY History object class constructor.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: HISTORY History object class constructor.
0007 %              Create a history object.
0008 %
0009 % CONSTRUCTOR: h = history()
0010 %                  creates a blank history object
0011 %
0012 %              h = history('name', 'version')
0013 %                  creates a history object with this name and version
0014 %
0015 %              h = history('name', 'version', plist)
0016 %                  creates a history object with this name,
0017 %                  version and parameter list.
0018 %
0019 %              h = history('name', 'version', plist, hi)
0020 %                  creates a history object with this name, version,
0021 %                  parameter list, and vector of input history objects.
0022 %
0023 %              h = history(hi)
0024 %                  creates a new history object from the history object hi
0025 %
0026 % VERSION: $Id: history.m,v 1.14 2007/08/31 17:40:08 hewitson Exp $
0027 %
0028 % HISTORY: 30-01-2007 M Hewitson
0029 %             Creation
0030 %
0031 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0032 
0033 VERSION  = '$Id: history.m,v 1.14 2007/08/31 17:40:08 hewitson Exp $';
0034 
0035 %%%%%%%%%%%%%%%%%%%%%%%%   define history properties   %%%%%%%%%%%%%%%%%%%%%%%%%
0036 
0037   function h = init()
0038     h.name    = 'None';
0039     h.version = VERSION;
0040     h.plist   = [];
0041     h.inhists = [];
0042     h.invars  = {};
0043     h.n       = -1;
0044     h.pn      = -1;
0045     h.created = time;
0046     h.consver = VERSION;
0047     h = class(h, 'history');
0048   end
0049 
0050 %%%%%%%%%%%%%%%%%%%%%%%%%%   Create history object   %%%%%%%%%%%%%%%%%%%%%%%%%%%
0051 
0052 %%%%%%%%%%  h = history()   %%%%%%%%%%
0053 % create default history object
0054 if nargin == 0
0055 
0056   h = init();
0057 
0058 elseif nargin == 1
0059   
0060   %%%%%%%%%% Create from XML fragment %%%%%%%%%%%
0061   if isa(varargin{1}, 'org.apache.xerces.dom.DeferredElementImpl')
0062     h = fromxml(varargin{1});
0063   %%%%%%%%%%% From File %%%%%%%%%%%%%%%%
0064   elseif ischar(varargin{1})
0065     
0066     filename = varargin{1};
0067     [path, name, ext, vers] = fileparts(filename);
0068     switch ext
0069       case '.mat'
0070         h = load(filename);
0071       case '.xml'
0072         h = xmlparse(history, filename);
0073       otherwise
0074         error('### Unknown file type.');
0075     end
0076   %%%%%%%%%%  h = history(struct)   %%%%%%%%%%
0077   elseif isstruct(varargin{1})
0078 
0079     h = init();
0080 
0081     hstruct = varargin{1};
0082     h.name    = hstruct.name;
0083     h.version = hstruct.version;
0084     pl = hstruct.plist;
0085     if isstruct(pl)
0086       pl = plist(pl);
0087     end
0088     h.plist   = pl;
0089     inh = hstruct.inhists;
0090     inhists = [];
0091     for j=1:length(inh)
0092       if isstruct(inh(j))
0093         inhists = [inhists history(inh(j))];
0094       else
0095         inhists = [inhists inh(j)];
0096       end
0097     end
0098     h.inhists = inhists;
0099     h.invars  = hstruct.invars;
0100     h.n       = hstruct.n;
0101     h.pn      = hstruct.pn;
0102     h.created = hstruct.created;
0103     h.consver = hstruct.consver;
0104 
0105   %%%%%%%%%%  h = history(history)   %%%%%%%%%%
0106   else
0107 
0108     h = varargin{1};
0109     h.consver = VERSION;
0110   end
0111 
0112 %%%%%%%%%%  h = history(name, version)   %%%%%%%%%%
0113 elseif nargin == 2
0114   %%%%%%%%%%% Database
0115   if isa(varargin{1}, 'database')
0116     h = retrieve(varargin{1}, varargin{2:end});
0117   else
0118     h         = init();
0119     h.name    = varargin{1};
0120     h.version = varargin{2};
0121   end
0122   
0123 %%%%%%%%%%  h = history(name, version, plist)   %%%%%%%%%%
0124 elseif nargin == 3
0125   h         = init();
0126   h.name    = varargin{1};
0127   h.version = varargin{2};
0128   h.plist   = varargin{3};
0129 
0130 %%%%%%%%%%  h = history(name, version, plist, history)   %%%%%%%%%%
0131 elseif nargin == 4
0132   h         = init();
0133   h.name    = varargin{1};
0134   h.version = varargin{2};
0135   h.plist   = varargin{3};
0136   h.inhists = varargin{4};
0137 
0138 else
0139   error('### Unknown number of constructor arguments.');
0140 end
0141 
0142 end

Generated on Mon 03-Sep-2007 12:12:34 by m2html © 2003