1 16 package org.outerj.daisy.books.store; 17 18 import org.outerx.daisy.x10Bookstoremeta.BookInstanceMetaDataDocument; 19 20 import java.util.Date ; 21 import java.util.GregorianCalendar ; 22 23 public final class BookInstanceMetaData { 24 private final Date createdOn; 25 private final long createdBy; 26 private String bookPath; 27 private String label; 28 29 public BookInstanceMetaData(String label, Date createdOn, long createdBy) { 30 if (createdOn == null) 31 throw new IllegalArgumentException ("createdOn parameter can not be null"); 32 if (label == null) 33 throw new IllegalArgumentException ("label parameter can not be null"); 34 this.createdOn = createdOn; 35 this.createdBy = createdBy; 36 this.label = label; 37 } 38 39 public Date getCreatedOn() { 40 return createdOn; 41 } 42 43 public long getCreatedBy() { 44 return createdBy; 45 } 46 47 public String getBookPath() { 48 return bookPath; 49 } 50 51 public String getLabel() { 52 return label; 53 } 54 55 public void setBookPath(String bookPath) { 56 this.bookPath = bookPath; 57 } 58 59 public void setLabel(String label) { 60 this.label = label; 61 } 62 63 public BookInstanceMetaDataDocument getXml() { 64 BookInstanceMetaDataDocument document = BookInstanceMetaDataDocument.Factory.newInstance(); 65 BookInstanceMetaDataDocument.BookInstanceMetaData metaDataXml = document.addNewBookInstanceMetaData(); 66 metaDataXml.setLabel(label); 67 metaDataXml.setCreatedBy(createdBy); 68 GregorianCalendar calendar = new GregorianCalendar (); 69 calendar.setTime(createdOn); 70 metaDataXml.setCreatedOn(calendar); 71 if (bookPath != null) 72 metaDataXml.setBookPath(bookPath); 73 return document; 74 } 75 76 public Object clone() { 77 BookInstanceMetaData clone = new BookInstanceMetaData(label, createdOn, createdBy); 78 clone.bookPath = bookPath; 79 return clone; 80 } 81 } 82 | Popular Tags |