KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > db > DBStringFactory


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/db/DBStringFactory.java,v 1.14 2002/02/16 15:28:34 alex Exp $
3  *
4  */

5 package com.teamkonzept.db;
6
7 import org.apache.log4j.Category;
8
9 /**
10  * provides databasespecific strings
11  *
12  * @author
13  * @version
14  */

15 public class DBStringFactory{
16
17     /** no default */
18     private static final String JavaDoc NO_DEFAULT = " NO_DEFAULT ";
19     private static final String JavaDoc DEFAULT_IS_NULL = " IS NULL ";
20     private static final String JavaDoc DEFAULT_IS_NOT_NULL = " IS NOT NULL ";
21     private static final String JavaDoc DEFAULT_NULL_VALUE = " NULL ";
22     private static final String JavaDoc DEFAULT_TEMP = " ";
23     private static final String JavaDoc DEFAULT_TRANS = " ";
24     private static final String JavaDoc DEFAULT_JOIN = " ";
25     private static final String JavaDoc DEFAULT_FROM = " ";
26     private static final String JavaDoc DEFAULT_ESCAPE = " ESCAPE '\\' ";
27     /** wird nur für postgres gebraucht, da postgres casesensitive sortiert */
28     private static final String JavaDoc DEFAULT_UPPER_ORDER = "";
29
30     public static String JavaDoc equalsNull(){
31         return getDBStringFactory().specEqualsNull();
32     }
33     public static String JavaDoc declareAsTemp(){
34         return getDBStringFactory().specDeclareAsTemp();
35     }
36     public static String JavaDoc declareForTransaction(){
37         return getDBStringFactory().specDeclareForTransaction();
38     }
39     public static String JavaDoc notEqualsNull(){
40         return getDBStringFactory().specNotEqualsNull();
41     }
42     public static String JavaDoc nullValue(){
43         return getDBStringFactory().specNullValue();
44     }
45     public static String JavaDoc nvl(){
46         return getDBStringFactory().specNvl();
47     }
48     public static String JavaDoc checkExistence(){
49         return getDBStringFactory().specCheckExistence();
50     }
51     public static String JavaDoc getFromSystem(){
52         return getDBStringFactory().specGetFromSystem();
53     }
54     public static String JavaDoc leftOuterJoin(String JavaDoc leftColumn, String JavaDoc rightColumn){
55         return getDBStringFactory().specLeftOuterJoin(leftColumn, rightColumn);
56     }
57     public static String JavaDoc rightOuterJoin(String JavaDoc leftColumn, String JavaDoc rightColumn){
58         return getDBStringFactory().specRightOuterJoin(leftColumn, rightColumn);
59     }
60
61     public static String JavaDoc leftOuterJoinFrom(String JavaDoc[] columns, String JavaDoc leftTable, String JavaDoc rightTable){
62         return getDBStringFactory().specLeftOuterJoinFrom(columns, leftTable, rightTable);
63     }
64     public static String JavaDoc rightOuterJoinFrom(String JavaDoc[] columns, String JavaDoc leftTable, String JavaDoc rightTable){
65         return getDBStringFactory().specRightOuterJoinFrom(columns, leftTable, rightTable);
66     }
67         
68     /** Escape befehl für like stm. */
69     public static String JavaDoc escape(){
70         return getDBStringFactory().specEscape();
71     }
72     
73     /** wird nur für postgres gebraucht, da postgres casesensitive sortiert
74      @return upperbefehl */

75     public static String JavaDoc upper_order(){
76         return getDBStringFactory().specupperorder();
77     }
78     
79     public static DBStringFactory getDBStringFactory(){
80         return getDBStringFactory(TKDBManager.getManager().getConnectionData());
81     }
82         
83     public static DBStringFactory getDBStringFactory(TKConnectData connectData){
84         
85         if(connectData instanceof TKOracleConnectData){
86             return new OracleStringFactory();
87         }
88         if(connectData instanceof TKSybaseConnectData){
89             return new SybaseStringFactory();
90         }
91         if(connectData instanceof TKPostgreSQLConnectData){
92             return new PostgreSQLStringFactory();
93         }
94         else{
95             return new DBStringFactory();
96         }
97     }
98
99
100     public static DBStringFactory getDBStringFactory(TKOracleConnectData connectData){
101         return new OracleStringFactory();
102     }
103     
104     public static DBStringFactory getDBStringFactory(TKSybaseConnectData connectData){
105         return new SybaseStringFactory();
106     }
107
108     public static DBStringFactory getDBStringFactory(TKPostgreSQLConnectData connectData){
109         return new PostgreSQLStringFactory();
110     }
111     
112     /* defaultimplementations, can be overridden by subclasses */
113     
114     protected String JavaDoc specNullValue(){
115         return DEFAULT_NULL_VALUE;
116     };
117     
118     /** create a temporary table */
119     protected String JavaDoc specDeclareAsTemp(){
120         return DEFAULT_TEMP;
121     }
122
123     /** data in temporary table is persistent for one transaction */
124     protected String JavaDoc specDeclareForTransaction(){
125         return DEFAULT_TRANS;
126     }
127     /** compare a value to null */
128     protected String JavaDoc specEqualsNull(){
129         return DEFAULT_IS_NULL;
130     }
131     
132     /** escape */
133     protected String JavaDoc specEscape(){
134         return DEFAULT_ESCAPE;
135     }
136     
137     /** wird nur für postgres gebraucht, da postgres casesensitive sortiert */
138     protected String JavaDoc specupperorder(){
139         return DEFAULT_UPPER_ORDER;
140     }
141     
142     
143     protected String JavaDoc specNotEqualsNull(){
144         return DEFAULT_IS_NOT_NULL;
145     }
146     
147     /** if null then...*/
148     protected String JavaDoc specNvl(){
149         return NO_DEFAULT;
150     }
151     
152     protected String JavaDoc specCheckExistence(){
153         return NO_DEFAULT;
154     }
155
156     protected String JavaDoc specGetFromSystem(){
157         return DEFAULT_FROM;
158     }
159         
160     /** left outer loin on the given columns */
161     protected String JavaDoc specLeftOuterJoin(String JavaDoc leftColumn, String JavaDoc rightColumn){
162         return DEFAULT_JOIN;
163     }
164     /** right outer loin on the given columns */
165     protected String JavaDoc specRightOuterJoin(String JavaDoc leftColumn, String JavaDoc rightColumn){
166         return DEFAULT_JOIN;
167     }
168
169     /** left outer loin on the given columns */
170     protected String JavaDoc specLeftOuterJoinFrom(String JavaDoc[] columns, String JavaDoc leftTable, String JavaDoc rightTable){
171         return DEFAULT_JOIN;
172     }
173     /** right outer loin on the given columns */
174     protected String JavaDoc specRightOuterJoinFrom(String JavaDoc[] columns, String JavaDoc leftTable, String JavaDoc rightTable){
175         return DEFAULT_JOIN;
176     }
177 }
178
179
180
Popular Tags