001package dk.netarkivet.harvester.datamodel.dao;
002
003import javax.inject.Provider;
004
005import dk.netarkivet.harvester.datamodel.DomainDAO;
006import dk.netarkivet.harvester.datamodel.HarvestDefinitionDAO;
007import dk.netarkivet.harvester.datamodel.JobDAO;
008import dk.netarkivet.harvester.datamodel.eav.EAV;
009import dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldDAO;
010
011public class DAOProviderFactory {
012        
013    public static Provider<HarvestDefinitionDAO> getHarvestDefinitionDAOProvider() {
014        return new Provider<HarvestDefinitionDAO>(){
015            @Override
016            public HarvestDefinitionDAO get() {
017                return HarvestDefinitionDAO.getInstance();
018            }
019        };
020    }
021
022    public static Provider<JobDAO> getJobDAOProvider() {
023        return new Provider<JobDAO>(){
024            @Override
025            public JobDAO get() {
026                return JobDAO.getInstance();
027            }
028        };
029    }
030
031    public static Provider<DomainDAO> getDomainDAOProvider() {
032        return new Provider<DomainDAO>(){
033            @Override
034            public DomainDAO get() {
035                return DomainDAO.getInstance();
036            }
037        };
038    }
039
040    public static Provider<ExtendedFieldDAO> getExtendedFieldDAOProvider() {
041        return new Provider<ExtendedFieldDAO>(){
042            @Override
043            public ExtendedFieldDAO get() {
044                return ExtendedFieldDAO.getInstance();
045            }
046        };
047    }
048
049    public static Provider<EAV> getEAVDAOProvider() {
050        return new Provider<EAV>() {
051                @Override
052                public EAV get() {
053                         return EAV.getInstance();
054                }
055        };
056    }
057
058    /*
059    public static Provider<HarvestDefinitionDAO> getHarvestDefinitionDAOProvider() {
060        return (Provider<HarvestDefinitionDAO>) HarvestDefinitionDAO.getInstance();
061    }
062    
063    public static Provider<JobDAO> getJobDAOProvider() {
064        return () -> JobDAO.getInstance();
065    }
066
067    public static Provider<DomainDAO> getDomainDAOProvider() {
068        return () -> DomainDAO.getInstance();
069    }
070
071    public static Provider<ExtendedFieldDAO> getExtendedFieldDAOProvider() {
072        return () -> ExtendedFieldDAO.getInstance();
073    }
074
075    public static Provider<EAV> getEAVDAOProvider() {
076        return () -> EAV.getInstance();
077    }
078    */
079
080}