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.db2v8;
20:
21: import java.util.Map;
22: import org.netbeans.modules.sql.framework.codegen.AbstractGeneratorFactory;
23: import org.netbeans.modules.sql.framework.codegen.SQLOperatorFactory;
24: import org.netbeans.modules.sql.framework.codegen.Statements;
25: import org.netbeans.modules.sql.framework.codegen.TypeGenerator;
26: import org.netbeans.modules.sql.framework.codegen.db2v7.DB2V7DB;
27: import org.netbeans.modules.sql.framework.codegen.db2v7.DB2V7GeneratorFactory;
28: import org.netbeans.modules.sql.framework.codegen.db2v7.DB2V7TypeGenerator;
29:
30: /**
31: * IBM DB2-specific concrete implementation of DB interface.
32: *
33: * @author Ritesh Adval
34: * @version $Revision$
35: */
36: public class DB2V8DB extends DB2V7DB {
37:
38: /* Defines relative location of vendor-specific template configuration resource file. */
39: private static final String TEMPLATE_FILE = "/org/netbeans/modules/sql/framework/codegen/db2v8/config/templates.xml";
40: /* Reference to db2 operatordef info file. */
41: private static final String DB2V8_OPERATOR_DEFINITION_FILE = "org/netbeans/modules/sql/"
42: + "framework/codegen/db2v7/config/operator-script.xml";
43:
44: @Override
45: public Statements createStatements() {
46: return new DB2V8Statements(this );
47: }
48:
49: @Override
50: public TypeGenerator createTypeGenerator() {
51: return new DB2V7TypeGenerator();
52: }
53:
54: @Override
55: @SuppressWarnings(value="unchecked")
56: protected Map loadTemplates() {
57: super .loadTemplates();
58:
59: Map localMap = loadTemplates(TEMPLATE_FILE);
60: this .templateMaps.putAll(localMap);
61:
62: return this .templateMaps;
63: }
64:
65: @Override
66: public SQLOperatorFactory getOperatorFactory() {
67: if (factory == null) {
68: factory = new SQLOperatorFactory(
69: DB2V8_OPERATOR_DEFINITION_FILE, super
70: .getOperatorFactory());
71: }
72: return factory;
73: }
74:
75: @Override
76: public AbstractGeneratorFactory getGeneratorFactory() {
77: return new DB2V7GeneratorFactory(this );
78: }
79:
80: @Override
81: public int getDBType() {
82: return DB2V8DB;
83: }
84: }
|