1 package org.apache.jcs.auxiliary.disk.jdbc;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.jcs.auxiliary.disk.AbstractDiskCacheAttributes;
23
24 /***
25 * The configurator will set these values based on what is in the cache.ccf
26 * file.
27 * <p>
28 * @author Aaron Smuts
29 */
30 public class JDBCDiskCacheAttributes
31 extends AbstractDiskCacheAttributes
32 {
33 private static final long serialVersionUID = -6535808344813320062L;
34
35 private static final String DEFAULT_TABLE_NAME = "JCS_STORE";
36
37 private String userName;
38
39 private String password;
40
41 private String url;
42
43 private String database = "";
44
45 private String driverClassName;
46
47 private String tableName = DEFAULT_TABLE_NAME;
48
49 private boolean testBeforeInsert = true;
50
51 /*** This is the default limit on the maximum number of active connections. */
52 public static final int DEFAULT_MAX_ACTIVE = 10;
53
54 private int maxActive = DEFAULT_MAX_ACTIVE;
55
56 /*** This is the default setting for the cleanup routine. */
57 public static final int DEFAULT_SHRINKER_INTERVAL_SECONDS = 300;
58
59 private int shrinkerIntervalSeconds = DEFAULT_SHRINKER_INTERVAL_SECONDS;
60
61 private boolean UseDiskShrinker = true;
62
63 /***
64 * @param userName
65 * The userName to set.
66 */
67 public void setUserName( String userName )
68 {
69 this.userName = userName;
70 }
71
72 /***
73 * @return Returns the userName.
74 */
75 public String getUserName()
76 {
77 return userName;
78 }
79
80 /***
81 * @param password
82 * The password to set.
83 */
84 public void setPassword( String password )
85 {
86 this.password = password;
87 }
88
89 /***
90 * @return Returns the password.
91 */
92 public String getPassword()
93 {
94 return password;
95 }
96
97 /***
98 * @param url
99 * The url to set.
100 */
101 public void setUrl( String url )
102 {
103 this.url = url;
104 }
105
106 /***
107 * @return Returns the url.
108 */
109 public String getUrl()
110 {
111 return url;
112 }
113
114 /***
115 * This is appended to the url.
116 * @param database
117 * The database to set.
118 */
119 public void setDatabase( String database )
120 {
121 this.database = database;
122 }
123
124 /***
125 * @return Returns the database.
126 */
127 public String getDatabase()
128 {
129 return database;
130 }
131
132 /***
133 * @param driverClassName
134 * The driverClassName to set.
135 */
136 public void setDriverClassName( String driverClassName )
137 {
138 this.driverClassName = driverClassName;
139 }
140
141 /***
142 * @return Returns the driverClassName.
143 */
144 public String getDriverClassName()
145 {
146 return driverClassName;
147 }
148
149 /***
150 * @param tableName
151 * The tableName to set.
152 */
153 public void setTableName( String tableName )
154 {
155 this.tableName = tableName;
156 }
157
158 /***
159 * @return Returns the tableName.
160 */
161 public String getTableName()
162 {
163 return tableName;
164 }
165
166 /***
167 * If this is true then the disk cache will check to see if the item already
168 * exists in the database. If it is false, it will try to insert. If the
169 * isnert fails it will try to update.
170 * @param testBeforeInsert
171 * The testBeforeInsert to set.
172 */
173 public void setTestBeforeInsert( boolean testBeforeInsert )
174 {
175 this.testBeforeInsert = testBeforeInsert;
176 }
177
178 /***
179 * @return Returns the testBeforeInsert.
180 */
181 public boolean isTestBeforeInsert()
182 {
183 return testBeforeInsert;
184 }
185
186 /***
187 * @param maxActive
188 * The maxActive to set.
189 */
190 public void setMaxActive( int maxActive )
191 {
192 this.maxActive = maxActive;
193 }
194
195 /***
196 * @return Returns the maxActive.
197 */
198 public int getMaxActive()
199 {
200 return maxActive;
201 }
202
203 /***
204 * @param shrinkerIntervalSecondsArg
205 * The shrinkerIntervalSeconds to set.
206 */
207 public void setShrinkerIntervalSeconds( int shrinkerIntervalSecondsArg )
208 {
209 this.shrinkerIntervalSeconds = shrinkerIntervalSecondsArg;
210 }
211
212 /***
213 * @return Returns the shrinkerIntervalSeconds.
214 */
215 public int getShrinkerIntervalSeconds()
216 {
217 return shrinkerIntervalSeconds;
218 }
219
220 /***
221 * @param useDiskShrinker
222 * The useDiskShrinker to set.
223 */
224 public void setUseDiskShrinker( boolean useDiskShrinker )
225 {
226 UseDiskShrinker = useDiskShrinker;
227 }
228
229 /***
230 * @return Returns the useDiskShrinker.
231 */
232 public boolean isUseDiskShrinker()
233 {
234 return UseDiskShrinker;
235 }
236
237 /***
238 * For debugging.
239 */
240 public String toString()
241 {
242 StringBuffer buf = new StringBuffer();
243 buf.append( "\nJDBCCacheAttributes" );
244 buf.append( "\n UserName [" + getUserName() + "]" );
245 buf.append( "\n Url [" + getUrl() + "]" );
246 buf.append( "\n Database [" + getDatabase() + "]" );
247 buf.append( "\n DriverClassName [" + getDriverClassName() + "]" );
248 buf.append( "\n TableName [" + getTableName() + "]" );
249 buf.append( "\n TestBeforeInsert [" + isTestBeforeInsert() + "]" );
250 buf.append( "\n MaxActive [" + getMaxActive() + "]" );
251 buf.append( "\n AllowRemoveAll [" + isAllowRemoveAll() + "]" );
252 buf.append( "\n ShrinkerIntervalSeconds [" + getShrinkerIntervalSeconds() + "]" );
253 buf.append( "\n UseDiskShrinker [" + isUseDiskShrinker() + "]" );
254 return buf.toString();
255 }
256 }