Clover Coverage Report - Impex Parent 1.0.21-SNAPSHOT (Aggregated)
Coverage timestamp: Tue Feb 8 2011 11:33:53 EST
0   123   0   -
0   27   -   0
0     -  
1    
 
  Platform       Line # 36 0 - 0 0 - -1.0
 
No Tests
 
1    package org.apache.torque.engine.platform;
2   
3    /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements. See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership. The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10    * with the License. You may obtain a copy of the License at
11    *
12    * http://www.apache.org/licenses/LICENSE-2.0
13    *
14    * Unless required by applicable law or agreed to in writing,
15    * software distributed under the License is distributed on an
16    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17    * KIND, either express or implied. See the License for the
18    * specific language governing permissions and limitations
19    * under the License.
20    */
21   
22    import java.sql.Connection;
23    import java.sql.DatabaseMetaData;
24    import java.sql.SQLException;
25    import java.util.List;
26   
27    import org.apache.torque.engine.database.model.Domain;
28    import org.apache.torque.engine.database.model.SchemaType;
29   
30    /**
31    * Interface for RDBMS platform specific behaviour.
32    *
33    * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
34    * @version $Id: Platform.java,v 1.1.6.2 2008-04-18 17:04:37 jkeller Exp $
35    */
 
36    public interface Platform {
37    /** constant for native id method */
38    String IDENTITY = "identity";
39    /** constant for native id method */
40    String SEQUENCE = "sequence";
41   
42    /**
43    * Given a JDBC url return a url that can connect directly to the database server itself. ie no database specified
44    */
45    String getServerUrl(String url);
46   
47    /**
48    * Given an artifact id, return a string a schema name based on the artifact id that is allowed by the db vendor
49    */
50    String getSchemaName(String artifactId);
51   
52    /**
53    * Returns the native IdMethod (sequence|identity)
54    *
55    * @return the native IdMethod
56    */
57    String getNativeIdMethod();
58   
59    /**
60    * Returns the max column length supported by the db.
61    *
62    * @return the max column length
63    */
64    int getMaxColumnNameLength();
65   
66    /**
67    * Returns the db specific domain for a jdbcType.
68    *
69    * @param jdbcType
70    * the jdbcType name
71    * @return the db specific domain
72    */
73    Domain getDomainForSchemaType(SchemaType jdbcType);
74   
75    /**
76    * @return The RDBMS-specific SQL fragment for <code>NULL</code> or <code>NOT NULL</code>.
77    */
78    String getNullString(boolean notNull);
79   
80    /**
81    * @return The RDBMS-specific SQL fragment for autoincrement.
82    */
83    String getAutoIncrement();
84   
85    /**
86    * Returns if the RDBMS-specific SQL type has a size attribute.
87    *
88    * @param sqlType
89    * the SQL type
90    * @return true if the type has a size attribute
91    */
92    boolean hasSize(String sqlType);
93   
94    /**
95    * Returns if the RDBMS-specific SQL type has a scale attribute.
96    *
97    * @param sqlType
98    * the SQL type
99    * @return true if the type has a scale attribute
100    */
101    boolean hasScale(String sqlType);
102   
103    /**
104    * Returns whether the "not null part" of the definition of a column should be generated before the
105    * "autoincrement part" in a "create table" statement.
106    *
107    * @return true if the "not null part" should be first, false if the "autoincrement part" should be first in a
108    * "create table" statement.
109    */
110    boolean createNotNullBeforeAutoincrement();
111   
112    String filterInvalidDefaultValues(String defaultValue);
113   
114    public boolean isSpecialDefault(String defaultValue);
115   
116    String getViewDefinition(Connection con, String schema, String viewName);
117   
118    Long getSequenceNextVal(Connection con, String schema, String sequenceName);
119   
120    public List<String> getPrimaryKeys(DatabaseMetaData dbMeta, String dbSchema, String tableName) throws SQLException;
121   
122    public List<String> getTableNames(DatabaseMetaData dbMeta, String databaseSchema) throws SQLException;
123    }