Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 package org.apache.xmlrpc.parser;
00020
00021 import java.text.Format;
00022 import java.text.ParseException;
00023
00024 import org.xml.sax.SAXException;
00025 import org.xml.sax.SAXParseException;
00026
00027
00030 public class DateParser extends AtomicParser {
00031 private final Format f;
00032
00035 public DateParser(Format pFormat) {
00036 f = pFormat;
00037 }
00038
00039 protected void setResult(String pResult) throws SAXException {
00040 final String s = pResult.trim();
00041 if (s.length() == 0) {
00042 return;
00043 }
00044 try {
00045 super.setResult(f.parseObject(s));
00046 } catch (ParseException e) {
00047 final String msg;
00048 int offset = e.getErrorOffset();
00049 if (e.getErrorOffset() == -1) {
00050 msg = "Failed to parse date value: " + pResult;
00051 } else {
00052 msg = "Failed to parse date value " + pResult
00053 + " at position " + offset;
00054 }
00055 throw new SAXParseException(msg, getDocumentLocator(), e);
00056 }
00057 }
00058 }