1 package org.apache.slide.projector.descriptor; 2 3 import java.util.Date ; 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 getValueClass() { 15 return DateValue.class; 16 } 17 18 public String getElementName() { 19 return "date"; 20 } 21 22 public Value load(Element element) { 23 return new DateValue(new Date (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 earliest = element.getAttributeValue("earliest"); 34 String latest = element.getAttributeValue("latest"); 35 if ( earliest != null ) valueDescriptor.setEarliest(new Date (Long.valueOf(earliest).longValue())); 36 if ( latest != null ) valueDescriptor.setLatest(new Date (Long.valueOf(latest).longValue())); 37 return valueDescriptor; 38 } 39 } | Popular Tags |