


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


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