


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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


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