/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.dlect.db; import java.util.List; import javax.ejb.Local; import javax.persistence.metamodel.SingularAttribute; import org.dlect.export.University; import org.dlect.helpers.DatabaseWhereOp; import org.dlect.internal.data.SemesterData; import org.dlect.internal.data.UniversityData; /** * * @author lee */ @Local public interface DataToDatabaseEJBLocal { public void flush(); public <RT, V> List<RT> getAllEqualTo(SingularAttribute<RT, V> attr, V val); public <RT, V> List<RT> getAllWhere(SingularAttribute<RT, V> attr, DatabaseWhereOp<V> condition, V val); public <RT, V> RT getEqualTo(SingularAttribute<RT, V> attr, V val); public <RT, V> RT getEqualTo(SingularAttribute<RT, V> attr, V val, RT ifNone); public <RT, V1, V2> RT getEqualToWithFK(SingularAttribute<RT, V1> attr1, V1 val1, SingularAttribute<RT, V2> attr2, V2 val2); public <RT, V1, V2> RT getEqualToWithFK(SingularAttribute<RT, V1> attr1, V1 val1, SingularAttribute<RT, V2> attr2, V2 val2, RT ifNone); public UniversityData getFromExport(University u); /** * * @param uni This is expected to be the university object stored inside the database. * @param semCode * * @return */ public SemesterData getSemesterDataFromCode(UniversityData uni, String semCode); public <T> T merge(T genData); public <T> void persist(T genData); }