001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.orm;
020
021import lucee.commons.io.res.Resource;
022
023public interface ORMConfiguration {
024        public static final int DBCREATE_NONE=0;
025        public static final int DBCREATE_UPDATE=1;
026        public static final int DBCREATE_DROP_CREATE=2;
027
028
029        public String hash();
030        
031        /**
032         * @return the autogenmap
033         */
034        public boolean autogenmap();
035
036        /**
037         * @return the catalog
038         */
039        public String getCatalog();
040
041        /**
042         * @return the cfcLocation
043         */
044        public Resource[] getCfcLocations();
045        
046        public boolean isDefaultCfcLocation();
047
048        /**
049         * @return the dbCreate
050         */
051        public int getDbCreate();
052
053        /**
054         * @return the dialect
055         */
056        public String getDialect();
057
058        /**
059         * @return the eventHandling
060         */
061        public boolean eventHandling();
062
063        public String eventHandler();
064
065        public String namingStrategy();
066        
067        /**
068         * @return the flushAtRequestEnd
069         */
070        public boolean flushAtRequestEnd();
071
072        /**
073         * @return the logSQL
074         */
075        public boolean logSQL();
076
077        /**
078         * @return the saveMapping
079         */
080        public boolean saveMapping();
081
082        /**
083         * @return the schema
084         */
085        public String getSchema();
086
087        /**
088         * @return the secondaryCacheEnabled
089         */
090        public boolean secondaryCacheEnabled();
091
092        /**
093         * @return the sqlScript
094         */
095        public Resource getSqlScript();
096
097        /**
098         * @return the useDBForMapping
099         */
100        public boolean useDBForMapping();
101
102        /**
103         * @return the cacheConfig
104         */
105        public Resource getCacheConfig();
106
107        /**
108         * @return the cacheProvider
109         */
110        public String getCacheProvider();
111
112        /**
113         * @return the ormConfig
114         */
115        public Resource getOrmConfig();
116
117        public boolean skipCFCWithError();
118        public boolean autoManageSession();
119
120
121
122
123        public Object toStruct();
124
125
126        
127}