package com.smart.framework;
public interface SmartApplicationConfiguration {
/**
* This method will set current application name to framework.
* @param smartApplication = Instance of <b>SmartApplication</b>.
* @return appName = String application name.
*/
public String AppName(SmartApplication smartApplication);
/**
* This method will tell <b>SmartFramework</b> whether the project is using SQLite database or not.
* @return isDbEnabled = boolean value (<b>true</b> or <b>false</b>)
*/
public boolean IsDBEnabled();
/**
* This method will tell <b>SmartFramework</b> whether the project is using SharedPreferences or not.
* @return IsSharedPreferenceEnabled = boolean value (<b>true</b> or <b>false</b>)
*/
public boolean IsSharedPreferenceEnabled();
/**
* This method will tell <b>SmartFramework</b> whether the crash handler should be attached to project or not.<br>
* <b>Crash Handler</b> is a functionality which enables framework to write uncaught Exceptions to a log file in <b>sdcard</b> with name specified in ApplicationConfiguration.<br>
* <b>Note</b> : If this flag is set to enabled, crash logs will not be shown to logcat.
* @return IsSharedPreferenceEnabled = boolean value (<b>true</b> or <b>false</b>)
*/
public boolean IsCrashHandlerEnabled();
/**
* This method will set the file name of crash log to be generated by <b>Crash Handler</b>.
* @return CrashHandlerFileName = String file name for crash log.
*/
public String CrashHandlerFileName();
/**
* This method will set the security key to use <b>SmartFramework</b>.
* @return SecurityKey = String security key
*/
public String SecurityKey();
/**
* This file will set the .sql file name which is to be read from assets folder and run sql queries written into it for creation of SQLite database in the project.<br><br>
* <b>Note </b>: SQLite database will only be created if and only if the <b>IsDBEnabled</b> flag is set to true. (No matter what .sql file name is set here)
* @return DatabaseSQL = String .sql file name.
*/
public String DatabaseSQL();
/**
* This will will set the name of SQLite database to be generated for current project.
* @return DatabaseName = String Database Name
*/
public String DatabaseName();
/**
* This method will set the version number to the SQLite database to be generated. The database will be regenerated if the version number given here is greater than the previous one, otherwise it will
* generate fresh copy of SQLite database.
* @return DatabaseVersion = Int Database Version number.
*/
public int DatabaseVersion();
}