01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.sql.framework.codegen.jdbc;
20:
21: import java.util.Map;
22:
23: import org.netbeans.modules.sql.framework.codegen.AbstractGeneratorFactory;
24: import org.netbeans.modules.sql.framework.codegen.SQLOperatorFactory;
25: import org.netbeans.modules.sql.framework.codegen.Statements;
26: import org.netbeans.modules.sql.framework.codegen.TypeGenerator;
27: import org.netbeans.modules.sql.framework.codegen.base.BaseDB;
28:
29: /**
30: * For JDBC or ANSI standard Database code generations.
31: * @author Girish Patil
32: * @version $Revision$
33: */
34: public class JdbcDB extends BaseDB {
35:
36: /* Defines relative location of vendor-specific template configuration resource file. */
37: private static final String TEMPLATE_FILE = "/org/netbeans/modules/sql/framework/codegen/jdbc/config/templates.xml";
38:
39: /* Reference to JDBC operatordef info file. */
40: private static final String JDBC_OPERATOR_DEFINITION_FILE = "org/netbeans/modules/sql/framework/codegen/jdbc/config/operator-script.xml";
41:
42: public Statements createStatements() {
43: return new JdbcStatements(this );
44: }
45:
46: public String getEscapedName(String name) {
47: StringBuilder escapedName = new StringBuilder(50);
48:
49: escapedName.append("\"");
50: escapedName.append(name);
51: escapedName.append("\"");
52:
53: return escapedName.toString();
54: }
55:
56: public TypeGenerator createTypeGenerator() {
57: return new JdbcTypeGenerator();
58: }
59:
60: protected Map loadTemplates() {
61: super .loadTemplates();
62:
63: Map localMap = loadTemplates(TEMPLATE_FILE);
64: this .templateMaps.putAll(localMap);
65:
66: return this .templateMaps;
67: }
68:
69: public SQLOperatorFactory getOperatorFactory() {
70: if (factory == null) {
71: factory = new SQLOperatorFactory(
72: JDBC_OPERATOR_DEFINITION_FILE, super
73: .getOperatorFactory());
74: }
75: return factory;
76: }
77:
78: public AbstractGeneratorFactory createGeneratorFactory() {
79: return new JdbcGeneratorFactory(this );
80: }
81:
82: public int getDBType() {
83: return JDBCDB;
84: }
85:
86: }
|