 	<cfreturn loc.rv>
 </cffunction>
 
-<cffunction name="$classData" returntype="struct" access="public" output="false">
-	<cfreturn variables.wheels.class>
-</cffunction>
-
-<cffunction name="$softDeletion" returntype="boolean" access="public" output="false">
-	<cfreturn variables.wheels.class.softDeletion>
-</cffunction>
-
-<cffunction name="$softDeleteColumn" returntype="string" access="public" output="false">
-	<cfreturn variables.wheels.class.softDeleteColumn>
-</cffunction>
+<cfscript>
+
+public struct function $classData() {
+	return variables.wheels.class;
+}
+
+public boolean function $softDeletion() {
+	return variables.wheels.class.softDeletion;
+}
+
+public string function $softDeleteColumn() {
+	return variables.wheels.class.softDeleteColumn;
+}
+
+</cfscript>

				);
			}
		} else {
			loc.info = $dbinfo(
				type="version",
				dataSource=variables.wheels.class.dataSource,
				username=variables.wheels.class.username,
				password=variables.wheels.class.password
			);
		}
		if (FindNoCase("SQLServer", loc.info.driver_name) || FindNoCase("SQL Server", loc.info.driver_name)) {
			loc.adapterName = "SQLServer";
		} else if (FindNoCase("MySQL", loc.info.driver_name) || FindNoCase("MariaDB", loc.info.driver_name)) {
			loc.adapterName = "MySQL";
		} else if (FindNoCase("Oracle", loc.info.driver_name)) {
			loc.adapterName = "Oracle";
		} else if (FindNoCase("PostgreSQL", loc.info.driver_name)) {
			loc.adapterName = "PostgreSQL";
		} else if (FindNoCase("H2", loc.info.driver_name)) {
			loc.adapterName = "H2";
		} else {
			$throw(
				type="Wheels.DatabaseNotSupported",
				message="#loc.info.database_productname# is not supported by CFWheels.",
				extendedInfo="Use SQL Server, MySQL, MariaDB, Oracle, PostgreSQL or H2."
			);
		}
		loc.rv = CreateObject("component", "adapters.#loc.adapterName#").init(
			dataSource=variables.wheels.class.dataSource,
			username=variables.wheels.class.username,
			password=variables.wheels.class.password
		);
		application.wheels.adapterName = loc.adapterName;
	</cfscript>
	<cfreturn loc.rv>
</cffunction>

<cffunction name="$initModelObject" returntype="any" access="public" output="false">


<cffunction name="$assignAdapter" returntype="any" access="public" output="false">
	<cfscript>
		if (get("showErrorInformation")) {
			try {
				local.info = $dbinfo(dataSource=variables.wheels.class.dataSource, username=variables.wheels.class.username, password=variables.wheels.class.password, type="version");
			} catch (any e) {
				$throw(
					type="Wheels.DataSourceNotFound",
