1 22 23 package org.xquark.schema.datatypes; 24 25 import java.text.SimpleDateFormat ; 26 27 import org.apache.xerces.impl.xpath.regex.RegularExpression; 28 29 class GYearType extends AbstractDateTimeType { 30 private static final String RCSRevision = "$Revision: 1.1 $"; 31 private static final String RCSName = "$Name: $"; 32 33 private SimpleDateFormat format; 34 private RegularExpression regex; 35 36 GYearType() { 37 super("gYear", PrimitiveType.GYEAR); 38 format = new SimpleDateFormat ("yyyy"); 39 format.setLenient(false); 40 regex = new RegularExpression("(-)?([0-9]{4,})"+TIMEZONE_PATTERN, "X"); 41 } 42 43 protected SimpleDateFormat getDateTimeFormat() { 44 return format; 45 } 46 47 protected RegularExpression getRegularExpression() { 48 return regex; 49 } 50 51 protected boolean isTimeFormat() { 52 return false; 53 } 54 55 protected boolean isDateFormat() { 56 return true; 57 } 58 59 protected DateTime createDateTime(long millis, long tz, boolean tzSpecified) { 60 return new Value(millis, tz, tzSpecified); 61 } 62 63 class Value extends DateTime { 64 65 public Value(long millis, long tz, boolean tzSpecified) { 66 super(millis, tz, tzSpecified); 67 } 68 69 protected boolean checkClass(Object obj) { 70 return obj instanceof Value; 71 } 72 73 public String toString() { 74 return stringValue(this); 75 } 76 } 77 } 78 | Popular Tags |