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.html,v 1.12 2008/03/31 10:27:44 hewitson 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.html,v 1.12 2008/03/31 10:27:44 hewitson Exp $
0026 %
0027 % HISTORY:      23-07-2007 Diepholz
0028 %                  Creation
0029 %
0030 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0031 
0032 VERSION  = '$Id: timeformat.html,v 1.12 2008/03/31 10:27:44 hewitson Exp $';
0033 CATEGORY = 'Constructor';
0034 
0035 % Check if this is a call for parameters
0036 if nargin == 2
0037   if isa(varargin{1}, 'timeformat') && ischar(varargin{2})
0038     in = char(varargin{2});
0039     if strcmp(in, 'Params')
0040       varargout{1} = plist;
0041       return
0042     elseif strcmp(in, 'Version')
0043       varargout{1} = VERSION;
0044       return
0045     elseif strcmp(in, 'Category')
0046       varargout{1} = CATEGORY;
0047       return
0048     end
0049   end
0050 end
0051 
0052 %%%%%%%%%%%%%%%%%%%%%%%%%   define time properties   %%%%%%%%%%%%%%%%%%%%%%%%%%
0053 
0054   function tf = init()
0055     tf.format_str = '';
0056     tf.format_nr  = -1;
0057     tf.default_matlab_str = '';
0058     tf.default_matlab_nr  = -1;
0059     tf.default_java_str   = '';
0060     tf = class(tf, 'timeformat');
0061   end
0062 
0063 
0064 %%%%%%%%%%%%%%%%%%%%%%%%   Create timeformat object   %%%%%%%%%%%%%%%%%%%%%%%%%
0065 
0066 % Create empty time format object
0067 if nargin == 0
0068   tf = init();
0069   varargout{1} = tf;
0070 elseif nargin == 1
0071 
0072   %%%%%%%%%%   tf = timeformat(timeformat-object)   %%%%%%%%%%
0073   if isa(varargin{1}, 'timeformat')
0074 
0075     tf = varargin{1};
0076     varargout{1} = tf;
0077 
0078   %%%%%%%%%%   tf = timeformat('foo.mat')   %%%%%%%%%%
0079   %%%%%%%%%%   tf = timeformat('foo.xml')   %%%%%%%%%%
0080   elseif ischar(varargin{1})
0081 
0082     filename = varargin{1};
0083     [path, name, ext, vers] = fileparts(filename);
0084     switch ext
0085       case '.mat'
0086         tf = load(filename);
0087         tf = tf.a;
0088       case '.xml'
0089         root_node = xmlread(filename);
0090         tf = ltpda_xmlread(root_node, 'timeformat');
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 Mon 31-Mar-2008 12:20:24 by m2html © 2003