1 4 package org.oddjob.designer.elements; 5 6 import org.oddjob.designer.elements.date.DateTimeAttribute; 7 import org.oddjob.designer.elements.date.TimeZoneAttribute; 8 import org.oddjob.designer.elements.simple.NumberAttribute; 9 import org.oddjob.designer.elements.simple.SimpleTextAttribute; 10 import org.oddjob.designer.model.DesignDefinition; 11 import org.oddjob.designer.model.DesignElementType; 12 import org.oddjob.designer.model.ElementField; 13 import org.oddjob.designer.model.FieldGroup; 14 import org.oddjob.designer.model.FieldSelection; 15 16 19 public class FormatDE extends DesignElementType { 20 21 private SimpleTextAttribute format; 22 private TimeZoneAttribute timeZone; 23 private DateTimeAttribute date; 24 private NumberAttribute number; 25 26 public FormatDE() { 27 setFormat(new SimpleTextAttribute()); 28 setTimeZone(new TimeZoneAttribute()); 29 setDate(new DateTimeAttribute()); 30 setNumber(new NumberAttribute()); 31 } 32 33 public SimpleTextAttribute getFormat() { 34 return format; 35 } 36 37 public void setFormat(SimpleTextAttribute format) { 38 format.addObserver(detailObserver); 39 this.format = format; 40 } 41 42 public TimeZoneAttribute getTimeZone() { 43 return timeZone; 44 } 45 46 public void setTimeZone(TimeZoneAttribute timeZone) { 47 timeZone.addObserver(detailObserver); 48 this.timeZone = timeZone; 49 } 50 51 public DateTimeAttribute getDate() { 52 return date; 53 } 54 55 public void setDate(DateTimeAttribute date) { 56 date.addObserver(detailObserver); 57 this.date = date; 58 } 59 60 public NumberAttribute getNumber() { 61 return number; 62 } 63 64 public void setNumber(NumberAttribute number) { 65 number.addObserver(detailObserver); 66 this.number = number; 67 } 68 69 public DesignDefinition detail() { 70 return new FieldGroup(toString()) 71 .add(new ElementField("Format", format)) 72 .add(new FieldSelection() 73 .add(new FieldGroup("Date Time") 74 .add(new ElementField("Date", date)) 75 .add(new ElementField("Time Zone", timeZone))) 76 .add(new ElementField("Number", number))); 77 } 78 79 public String toString() { 80 return "Format"; 81 } 82 83 public void clear() { 84 format.clear(); 85 timeZone.clear(); 86 date.clear(); 87 number.clear(); 88 super.clear(); 89 } 90 } 91 | Popular Tags |