Электронный магазин на Java и XML

         

Начало кода класса...



Листинг 6.34. Начало кода класса DateTime (DateTime.java)

package com.XmlEcomBook.Chap06; import org.w3c.dom.Element; import java.util.StringTokenizer; import java.io.IOException; import java.io.OutputStream; public class DateTime extends Object { private String dayOfWeek = null; private Integer month = null; private Integer dayOfMonth = null; private Integer year = null; private Integer hour = null; private Integer minute = null; private Integer seconds = null; public DateTime() { } public DateTime(Element dateElement) { dayOfWeek = Util.extractTextFrom( "day_of_week", dateElement );
month = Util.extractIntFrom( "month", dateElement );
dayOfMonth = Util.extractIntFrom ( "day_of_month", dateElement );
year = Util.extractIntFrom( "year", dateElement );
hour = Util.extractIntFrom( "hour", dateElement );
minute = Util.extractIntFrom( "minute", dateElement );
seconds = Util.extractIntFrom( "seconds", dateElement );
}

Класс DateTime анализирует дату и время, полученные из форм HTML. Анализ осуществляется с помощью метода fromString, приведенного в листинге 6.36. Этот метод использует объект StringTokerrizer для разделения строки на фрагменты — лексемы. Каждая лексема, выделенная из строки объектом String- Tokenizer, проходит проверку. Если лексема содержит в себе строку day (день), то это день недели, и соответствующее значение сохраняется в поле dayOfWeek (день недели). Так как часть строки, содержащая дату, разделена символами дефиса (-), то при обнаружении такого символа из строки выделяются лексемы, идентифицирующие месяц, день месяца и год. Если в строке обнаружен символ двоеточия (:), то это указывает, что данная часть строки содержит значение времени суток, поэтому из строки выделяются часы, минуты и секунды.



Содержание раздела