001 package railo.runtime.orm; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.db.DataSource; 005 import railo.runtime.exp.PageException; 006 007 public interface ORMEngine { 008 009 // (CFML Compatibility Mode) is not so strict in input interpretation 010 public static final int MODE_LAZY = 0; 011 // more strict in input interpretation 012 public static final int MODE_STRICT = 1; 013 014 015 016 017 018 019 020 /** 021 * @return returns the label of the Engine, like "Hibernate" or "Transfer" 022 */ 023 public String getLabel(); 024 025 026 027 public int getMode(); 028 029 030 public ORMSession createSession(PageContext pc) throws PageException; 031 public Object getSessionFactory(PageContext pc) throws PageException; 032 033 public void init(PageContext pc) throws PageException; 034 035 public ORMConfiguration getConfiguration(PageContext pc); 036 037 038 public DataSource getDataSource(); 039 040 041 042 public String[] getEntityNames(); 043 044 public boolean reload(PageContext pc, boolean force) throws PageException; 045 046 047 }