1 2 3 4 60 61 package org.enhydra.apache.xerces.validators.datatype; 62 63 import java.util.Hashtable ; 64 65 71 72 public class YearDatatypeValidator extends DateTimeValidator { 73 74 public YearDatatypeValidator() throws InvalidDatatypeFacetException{ 75 super(); 76 } 77 78 79 public YearDatatypeValidator ( DatatypeValidator base, Hashtable facets, 80 boolean derivedByList ) throws InvalidDatatypeFacetException { 81 super (base, facets, derivedByList); 82 } 83 84 93 protected int[] parse(String str, int[] date) throws SchemaDateTimeException{ 94 resetBuffer(str); 95 96 if ( date == null ) { 98 date = new int[TOTAL_SIZE]; 99 } 100 resetDateObj(date); 101 102 int start = 0; 104 if (fBuffer.charAt(0)=='-') { 105 start = 1; 106 } 107 int sign = findUTCSign(start, fEnd); 108 if (sign == -1) { 109 date[CY]=parseIntYear(fEnd); 110 } 111 else { 112 date[CY]=parseIntYear(sign); 113 getTimeZone (date, sign); 114 } 115 116 date[M]=MONTH; 118 date[D]=1; 119 120 122 validateDateTime(date); 124 125 if ( date[utc]!=0 && date[utc]!='Z' ) { 126 normalize(date); 127 } 128 return date; 129 } 130 131 137 protected String dateToString(int[] date) { 138 139 message.setLength(0); 140 message.append(date[CY]); 141 message.append((char)date[utc]); 142 return message.toString(); 143 } 144 145 } 146 147 148 | Popular Tags |