KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > slide > projector > descriptor > DateValueFactory


1 package org.apache.slide.projector.descriptor;
2
3 import java.util.Date JavaDoc;
4
5 import org.apache.slide.projector.value.DateValue;
6 import org.apache.slide.projector.value.Value;
7 import org.jdom.Element;
8
9 import de.zeigermann.xml.XMLEncode;
10 import de.zeigermann.xml.XMLStringWriter;
11 import de.zeigermann.xml.XMLWriter;
12
13 public class DateValueFactory implements ValueFactory {
14     public Class JavaDoc getValueClass() {
15         return DateValue.class;
16     }
17     
18     public String JavaDoc getElementName() {
19         return "date";
20     }
21
22     public Value load(Element element) {
23         return new DateValue(new Date JavaDoc(Long.valueOf(element.getText()).longValue()));
24     }
25
26     public void save(Value value, XMLStringWriter writer) {
27         DateValue dateValue = (DateValue)value;
28         writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(dateValue.toString()), XMLWriter.createEndTag(getElementName()));
29     }
30
31     public ValueDescriptor loadDescriptor(Element element) {
32         DateValueDescriptor valueDescriptor = new DateValueDescriptor();
33         String JavaDoc earliest = element.getAttributeValue("earliest");
34         String JavaDoc latest = element.getAttributeValue("latest");
35         if ( earliest != null ) valueDescriptor.setEarliest(new Date JavaDoc(Long.valueOf(earliest).longValue()));
36         if ( latest != null ) valueDescriptor.setLatest(new Date JavaDoc(Long.valueOf(latest).longValue()));
37         return valueDescriptor;
38     }
39 }
Popular Tags