org.apache.torque.templates.platform
Class PlatformDefaultImpl

java.lang.Object
  extended by org.apache.torque.templates.platform.PlatformDefaultImpl
All Implemented Interfaces:
Platform
Direct Known Subclasses:
PlatformDerbyImpl, PlatformHsqldbImpl, PlatformMssqlImpl, PlatformMysqlImpl, PlatformOracleImpl, PlatformPostgresqlImpl

public class PlatformDefaultImpl
extends Object
implements Platform

Default implementation for the Platform interface.

Version:
$Id: PlatformDefaultImpl.java 1379244 2012-08-31 01:05:22Z tfischer $
Author:
Martin Poeschl

Constructor Summary
PlatformDefaultImpl()
          Default constructor.
 
Method Summary
 boolean createNotNullBeforeAutoincrement()
          Returns whether the "not null part" of the definition of a column should be generated before the "autoincrement part" in a "create table" statement.
protected  boolean escapeBackslashes()
          Returns whether backslashes must be escaped in string literals.
 String getAutoIncrement()
           
 String getDateString(Date date)
          Formats the given date as date string which is parseable by the database.
 String getNullString(boolean notNull)
           
 String getSizeSuffix(String sqlType)
          Returns a possible SQL suffix for column definitions of certain SQL Types, e.g.
 SqlType getSqlTypeForSchemaType(SchemaType schemaType)
          Returns the db specific SQL type for a Torque type.
 String getTimestampString(Date date)
          Formats the given date as timestamp string which is parseable by the database.
 String getTimeString(Date date)
          Formats the given date as time string which is parseable by the database.
 boolean hasScale(String sqlType)
          Returns if the RDBMS-specific SQL type has a scale attribute.
 boolean hasSize(String sqlType)
          Returns if the RDBMS-specific SQL type has a size attribute.
 String quoteAndEscape(String text)
          Quotes and escapes a string such that it can be used as literal String value in SQL.
protected  void setSchemaTypeToSqlTypeMapping(SchemaType schemaType, SqlType sqlType)
          Adds a mapping to the torque schema type -> sql type map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlatformDefaultImpl

public PlatformDefaultImpl()
Default constructor.

Method Detail

setSchemaTypeToSqlTypeMapping

protected void setSchemaTypeToSqlTypeMapping(SchemaType schemaType,
                                             SqlType sqlType)
Adds a mapping to the torque schema type -> sql type map.

Parameters:
schemaType - the torque schema type which should be mapped, not null.
sqlType - the sql type for the torque schema type, not null.

getSqlTypeForSchemaType

public SqlType getSqlTypeForSchemaType(SchemaType schemaType)
Description copied from interface: Platform
Returns the db specific SQL type for a Torque type.

Specified by:
getSqlTypeForSchemaType in interface Platform
Parameters:
schemaType - the Torque type, not null.
Returns:
the db specific SQL type, or null if no SQL type is defined for the given Torque type.
See Also:
Platform.getSqlTypeForSchemaType(SchemaType)

getNullString

public String getNullString(boolean notNull)
Specified by:
getNullString in interface Platform
Returns:
Only produces a SQL fragment if null values are disallowed.
See Also:
Platform.getNullString(boolean)

getAutoIncrement

public String getAutoIncrement()
Specified by:
getAutoIncrement in interface Platform
Returns:
The RDBMS-specific SQL fragment for autoincrement.
See Also:
Platform.getAutoIncrement()

hasScale

public boolean hasScale(String sqlType)
Description copied from interface: Platform
Returns if the RDBMS-specific SQL type has a scale attribute.

Specified by:
hasScale in interface Platform
Parameters:
sqlType - the SQL type
Returns:
true if the type has a scale attribute
See Also:
TODO collect info for all platforms

hasSize

public boolean hasSize(String sqlType)
Description copied from interface: Platform
Returns if the RDBMS-specific SQL type has a size attribute.

Specified by:
hasSize in interface Platform
Parameters:
sqlType - the SQL type
Returns:
true if the type has a size attribute
See Also:
TODO collect info for all platforms

getSizeSuffix

public String getSizeSuffix(String sqlType)
Returns a possible SQL suffix for column definitions of certain SQL Types, e.g. for Oracle VARCHAR2 columns, it typically makes sense to use 'x CHAR' instead of 'x' as size.

Specified by:
getSizeSuffix in interface Platform
Parameters:
sqlType - the SQL type to determine the suffix for.
Returns:
The size suffix, not null. This implementation always returns the empty string.

createNotNullBeforeAutoincrement

public boolean createNotNullBeforeAutoincrement()
Description copied from interface: Platform
Returns whether the "not null part" of the definition of a column should be generated before the "autoincrement part" in a "create table" statement.

Specified by:
createNotNullBeforeAutoincrement in interface Platform
Returns:
true if the "not null part" should be first, false if the "autoincrement part" should be first in a "create table" statement.
See Also:
Platform.createNotNullBeforeAutoincrement()

quoteAndEscape

public String quoteAndEscape(String text)
Description copied from interface: Platform
Quotes and escapes a string such that it can be used as literal String value in SQL.

Specified by:
quoteAndEscape in interface Platform
Parameters:
text - The string to escape, or null.
Returns:
the escaped String, not null.
See Also:
Platform.quoteAndEscape(String)

escapeBackslashes

protected boolean escapeBackslashes()
Returns whether backslashes must be escaped in string literals.

Returns:
true if backslashes bust be escaped, false otherwise.

getDateString

public String getDateString(Date date)
Formats the given date as date string which is parseable by the database.

Specified by:
getDateString in interface Platform
Parameters:
date - the date to format.
Returns:
the date string, inclusive string escaping.

getTimeString

public String getTimeString(Date date)
Formats the given date as time string which is parseable by the database.

Specified by:
getTimeString in interface Platform
Parameters:
date - the date to format.
Returns:
the time string, inclusive string escaping.

getTimestampString

public String getTimestampString(Date date)
Formats the given date as timestamp string which is parseable by the database.

Specified by:
getTimestampString in interface Platform
Parameters:
date - the date to format.
Returns:
the timestamp string, inclusive string escaping.


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.