Home > classes > @timeformat > timeformat.m

timeformat

PURPOSE ^

TIMEFORMAT timeformat object class constructor.

SYNOPSIS ^

function varargout = timeformat(varargin)

DESCRIPTION ^

 TIMEFORMAT timeformat object class constructor.

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

 DESCRIPTION:  TIMEFORMAT timeformat object class constructor.
               Create a timeformat object.

 PROPERTIES:   format_str         - current matlab string
               format_nr          - current matlab number
               default_matlab_str - default matlab string (read only)
               default_matlab_nr  - default matlab number (read only)
               default_java_str   - default java string   (read only)

 REMARK:       This class is a PRIVATE class and should not be uses by the
               user.
               The default properties must match together. They must represent
               the same time format.

 CONSTRUCTORS: timeformat(format_str,
                          default_matlab_str,
                          default_matlab_nr,
                          default_java_str)

 VERSION:      $Id: timeformat.m,v 1.6 2008/01/15 17:36:36 ingo Exp $

 HISTORY:      23-07-2007 Diepholz
                  Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function varargout = timeformat(varargin)
0002 % TIMEFORMAT timeformat object class constructor.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION:  TIMEFORMAT timeformat object class constructor.
0007 %               Create a timeformat object.
0008 %
0009 % PROPERTIES:   format_str         - current matlab string
0010 %               format_nr          - current matlab number
0011 %               default_matlab_str - default matlab string (read only)
0012 %               default_matlab_nr  - default matlab number (read only)
0013 %               default_java_str   - default java string   (read only)
0014 %
0015 % REMARK:       This class is a PRIVATE class and should not be uses by the
0016 %               user.
0017 %               The default properties must match together. They must represent
0018 %               the same time format.
0019 %
0020 % CONSTRUCTORS: timeformat(format_str,
0021 %                          default_matlab_str,
0022 %                          default_matlab_nr,
0023 %                          default_java_str)
0024 %
0025 % VERSION:      $Id: timeformat.m,v 1.6 2008/01/15 17:36:36 ingo Exp $
0026 %
0027 % HISTORY:      23-07-2007 Diepholz
0028 %                  Creation
0029 %
0030 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0031 
0032 VERSION  = '$Id: timeformat.m,v 1.6 2008/01/15 17:36:36 ingo Exp $';
0033 
0034 % Check if this is a call for parameters
0035 if nargin == 2
0036   if isa(varargin{1}, 'timeformat') && ischar(varargin{2})
0037     in = char(varargin{2});
0038     if strcmp(in, 'Params')
0039       varargout{1} = plist;
0040       return
0041     elseif strcmp(in, 'Version')
0042       varargout{1} = VERSION;
0043       return
0044     end
0045   end
0046 end
0047 
0048 %%%%%%%%%%%%%%%%%%%%%%%%%   define time properties   %%%%%%%%%%%%%%%%%%%%%%%%%%
0049 
0050   function tf = init()
0051     tf.format_str = '';
0052     tf.format_nr  = -1;
0053     tf.default_matlab_str = '';
0054     tf.default_matlab_nr  = -1;
0055     tf.default_java_str   = '';
0056     tf = class(tf, 'timeformat');
0057   end
0058 
0059 
0060 %%%%%%%%%%%%%%%%%%%%%%%%   Create timeformat object   %%%%%%%%%%%%%%%%%%%%%%%%%
0061 
0062 % Create empty time format object
0063 if nargin == 0
0064   tf = init();
0065   varargout{1} = tf;
0066 elseif nargin == 1
0067 
0068   %%%%%%%%%% Create from XML fragment %%%%%%%%%%%
0069   if isa(varargin{1}, 'org.apache.xerces.dom.DeferredElementImpl')
0070     tf = fromxml(varargin{1});
0071     varargout{1} = tf;
0072 
0073   %%%%%%%%%%   tf = timeformat(timeformat-object)   %%%%%%%%%%
0074   elseif isa(varargin{1}, 'timeformat')
0075 
0076     tf = varargin{1};
0077     varargout{1} = tf;
0078 
0079   %%%%%%%%%%   tf = timeformat('foo.mat')   %%%%%%%%%%
0080   %%%%%%%%%%   tf = timeformat('foo.xml')   %%%%%%%%%%
0081   elseif ischar(varargin{1})
0082 
0083     filename = varargin{1};
0084     [path, name, ext, vers] = fileparts(filename);
0085     switch ext
0086       case '.mat'
0087         tf = load(filename);
0088         tf = tf.a;
0089       case '.xml'
0090         tf = xmlparse(timeformat, filename);
0091       otherwise
0092         error('### Unknown file type.');
0093     end
0094 
0095     varargout{1} = tf;
0096 
0097   %%%%%%%%%%   t1 = time(struct)   %%%%%%%%%%
0098   elseif isstruct(varargin{1})
0099 
0100     tf = init();
0101 
0102     fields = fieldnames(varargin{1});
0103     for ii = 1:length(fields)
0104       field = fields{ii};
0105       try
0106         tf.(field) = varargin{1}.(field);
0107       catch
0108         error('### The field ''%s'' in the struct is not a timeformat property.', field)
0109       end
0110     end
0111   else
0112     error ('### Unknown constructor');
0113   end
0114 
0115   varargout{1} = tf;
0116 
0117 elseif nargin == 2
0118   %%%%%%%%%%% From DATABASE
0119   if isa(varargin{1}, 'database')
0120     varargout{1} = retrieve(varargin{1}, varargin{2:end});
0121   else
0122     error('### Incorrect constructor call.');
0123   end
0124 
0125 elseif nargin == 4
0126   tf = init();
0127 
0128   tf.format_str         = varargin{1};
0129   tf.default_matlab_str = varargin{2};
0130   tf.default_matlab_nr  = varargin{3};
0131   tf.default_java_str   = varargin{4};
0132 
0133   if strcmp(tf.format_str, tf.default_matlab_str)
0134     tf.format_nr = tf.default_matlab_nr;
0135   end
0136 
0137   varargout{1} = tf;
0138 end
0139 
0140 
0141 
0142 end

Generated on Tue 22-Jan-2008 10:39:13 by m2html © 2003