Home > classes > @ao > save.m

save

PURPOSE ^

SAVE overloads save operator for analysis objects.

SYNOPSIS ^

function varargout = save(varargin)

DESCRIPTION ^

 SAVE overloads save operator for analysis objects.

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

 DESCRIPTION: SAVE overloads save operator for analysis objects.

 CALL:        Save an analysis object as a .mat file.
                >> save(a, 'blah.mat')
              Save an analysis object as an XML file.
                >> save(a, 'blah.xml')

 Parameters: 'filename' - name of the file

 VERSION:     $Id: save.m,v 1.10 2007/08/29 18:46:02 hewitson Exp $

 The following call returns a parameter list object that contains the
 default parameter values:

 >> pl = save(ao, 'Params')

 HISTORY: 14-02-07 M Hewitson
             Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function varargout = save(varargin)
0002 % SAVE overloads save operator for analysis objects.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SAVE overloads save operator for analysis objects.
0007 %
0008 % CALL:        Save an analysis object as a .mat file.
0009 %                >> save(a, 'blah.mat')
0010 %              Save an analysis object as an XML file.
0011 %                >> save(a, 'blah.xml')
0012 %
0013 % Parameters: 'filename' - name of the file
0014 %
0015 % VERSION:     $Id: save.m,v 1.10 2007/08/29 18:46:02 hewitson Exp $
0016 %
0017 % The following call returns a parameter list object that contains the
0018 % default parameter values:
0019 %
0020 % >> pl = save(ao, 'Params')
0021 %
0022 % HISTORY: 14-02-07 M Hewitson
0023 %             Creation
0024 %
0025 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0026 
0027 % Check if this is a call for parameters
0028 if nargin == 2
0029   if isa(varargin{1}, 'ao') && ischar(varargin{2})
0030     in = char(varargin{2});
0031     if strcmp(in, 'Params')
0032       varargout{1} = getDefaultPL();
0033       return
0034     end
0035   end
0036 end
0037 
0038 
0039 ALGONAME = mfilename;
0040 VERSION  = '$Id: save.m,v 1.10 2007/08/29 18:46:02 hewitson Exp $';
0041 
0042 if nargin ~= 2
0043   help mfilename;
0044   error('### incorrect inputs');
0045 end
0046 
0047 % analysis object
0048 a = varargin{1};
0049 if isa(varargin{2}, 'plist')
0050   filename = find(varargin{2}, 'filename');
0051   plo = varargin{2};
0052 else
0053   % filename
0054   filename = varargin{2};
0055   plo = plist(param('filename', filename));
0056 end
0057 
0058 % Inspect filename
0059 [path,name,ext,vers] = fileparts(filename);
0060 
0061 switch ext
0062   case '.mat'
0063 
0064     save(filename, 'a');
0065 
0066   case '.xml'
0067 
0068     hist = a.hist;
0069     h = history(ALGONAME, VERSION, plo, hist);
0070 
0071     a = set(a, 'hist', h);
0072     a = set(a, 'name', sprintf('save(%s,%s)', a.name, filename));
0073     a = set(a, 'tag', a.tag);
0074 
0075     % convert AO to xml
0076     x = xml(a);
0077     % Save the XML document.
0078     xmlwrite(filename,x.docNode);
0079 
0080   otherwise
0081     error('### unknown file extension.');
0082 end
0083 
0084 % no outputs
0085 if nargout == 1
0086   varargout{1} = a;
0087 else
0088   for j=1:nargout
0089     varargout{j} = [];
0090   end
0091 end
0092 
0093 % Get default params
0094 function plo = getDefaultPL()
0095 
0096 disp('* creating default plist...');
0097 plo = plist();
0098 plo = append(plo, param('filename', ''));
0099 disp('* done.');
0100 
0101 
0102 % END

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