1 package net.javacoding.jspider.core.storage.impl; 2 3 import net.javacoding.jspider.core.storage.SiteDAO; 4 import net.javacoding.jspider.core.storage.spi.SiteDAOSPI; 5 import net.javacoding.jspider.core.storage.spi.StorageSPI; 6 import net.javacoding.jspider.core.logging.Log; 7 import net.javacoding.jspider.core.model.SiteInternal; 8 import net.javacoding.jspider.api.model.Site; 9 10 import java.net.URL ; 11 12 15 class SiteDAOImpl implements SiteDAO { 16 17 protected Log log; 18 protected StorageSPI storage; 19 protected SiteDAOSPI spi; 20 21 protected int counter; 22 23 public SiteDAOImpl ( Log log, StorageSPI storage, SiteDAOSPI spi ) { 24 this.log = log; 25 this.storage = storage; 26 this.spi = spi; 27 this.counter = 0; 28 } 29 30 public Site createSite(URL siteURL) { 31 int id = ++counter; 32 SiteInternal si = new SiteInternal (id, storage, siteURL); 33 spi.create(id, si); 34 return si; 35 } 36 37 public Site find(URL siteURL) { 38 return spi.find(siteURL); 39 } 40 41 public void save(Site site) { 42 SiteInternal si = TypeTranslator.translate(site); 43 spi.save(si.getId(), si); 44 } 45 46 public Site[] findAll() { 47 return spi.findAll(); 48 } 49 } 50 | Popular Tags |