Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/activemq/store/jdbc/adapter/CachingStatementProvider.java


1   /**
2    * 
3    * Copyright 2004 Hiram Chirino
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.activemq.store.jdbc.adapter;
19  
20  import org.activemq.store.jdbc.StatementProvider;
21  
22  /**
23   * A StatementProvider filter that caches the responses
24   * of the filtered StatementProvider.
25   * 
26   * @version $Revision: 1.1 $
27   */
28  public class CachingStatementProvider implements StatementProvider {
29      
30      final private StatementProvider statementProvider;
31  
32      private String addMessageStatment;
33      private String addXidStatment;
34      private String[] createSchemaStatments;
35      private String[] dropSchemaStatments;
36      private String findAllMessagesStatment;
37      private String findAllXidStatment;
38      private String findLastSequenceIdInMsgs;
39      private String findMessageStatment;
40      private String findMessageAttributesStatment;
41      private String findMessageAttributesForUpdateStatment;
42      private String removeMessageStatment;
43      private String removeXidStatment;
44      private String updateMessageStatment;
45    private String createDurableSubStatment;
46    private String updateDurableSubStatment;
47    private String findDurableSubStatment;
48    private String findAllDurableSubMessagesStatment;
49    private String updateLastAckOfDurableSub;
50    private String findMessageSequenceIdStatment;
51      private String removeAllMessagesStatment;
52      private String removeAllSubscriptionsStatment;
53      private String deleteSubscriptionStatment;
54      private String deleteOldMessagesStatment;
55      private String findExpiredMessagesStatement;
56      private String deleteMessageStatement;
57      private String findLastSequenceIdInAcks;
58      private String setDeadLetterFlagStatement;
59  
60      public CachingStatementProvider(StatementProvider statementProvider) {
61          this.statementProvider = statementProvider;
62      }
63      
64      public StatementProvider getNext() {
65          return statementProvider;
66      }
67      
68      public String getAddMessageStatment() {
69          if (addMessageStatment == null) {
70              addMessageStatment = statementProvider.getAddMessageStatment();
71          }
72          return addMessageStatment;
73      }
74  
75      public String getAddXidStatment() {
76          if (addXidStatment == null) {
77              addXidStatment = statementProvider.getAddXidStatment();
78          }
79          return addXidStatment;
80      }
81  
82      public String[] getCreateSchemaStatments() {
83          if( createSchemaStatments==null ) {
84              createSchemaStatments = statementProvider.getCreateSchemaStatments();
85          }
86          return createSchemaStatments;
87      }
88  
89      public String[] getDropSchemaStatments() {
90          if( dropSchemaStatments==null ) {
91              dropSchemaStatments = statementProvider.getDropSchemaStatments();
92          }
93          return dropSchemaStatments;
94      }
95  
96      public String getFindAllMessagesStatment() {
97          if( findAllMessagesStatment==null ) {
98              findAllMessagesStatment = statementProvider.getFindAllMessagesStatment();
99          }
100         return findAllMessagesStatment;
101     }
102 
103     public String getFindAllXidStatment() {
104         if( findAllXidStatment==null ) {
105             findAllXidStatment = statementProvider.getFindAllXidStatment();
106         }
107         return findAllXidStatment;
108     }
109 
110     public String getFindLastSequenceIdInMsgs() {
111         if( findLastSequenceIdInMsgs==null ) {
112             findLastSequenceIdInMsgs = statementProvider.getFindLastSequenceIdInMsgs();
113         }
114         return findLastSequenceIdInMsgs;
115     }
116 
117     public String getFindLastSequenceIdInAcks() {
118         if( findLastSequenceIdInAcks==null ) {
119             findLastSequenceIdInAcks = statementProvider.getFindLastSequenceIdInAcks();
120         }
121         return findLastSequenceIdInAcks;
122     }
123 
124     public String getFindMessageStatment() {
125         if( findMessageStatment==null ) {
126             findMessageStatment = statementProvider.getFindMessageStatment();
127         }
128         return findMessageStatment;
129     }
130 
131     public String getFindMessageAttributesStatment() {
132         if( findMessageAttributesStatment==null ) {
133           findMessageAttributesStatment = statementProvider.getFindMessageAttributesStatment();
134         }
135         return findMessageAttributesStatment;
136     }
137 
138     public String getFindMessageAttributesForUpdateStatment() {
139         if( findMessageAttributesForUpdateStatment==null ) {
140           findMessageAttributesForUpdateStatment = statementProvider.getFindMessageAttributesForUpdateStatment();
141         }
142         return findMessageAttributesForUpdateStatment;
143     }
144 
145     /**
146      * @return
147      */
148     public String getRemoveMessageStatment() {
149         if( removeMessageStatment==null ) {
150             removeMessageStatment = statementProvider.getRemoveMessageStatment();
151         }
152         return removeMessageStatment;
153     }
154 
155     public String getRemoveXidStatment() {
156         if( removeXidStatment==null ) {
157             removeXidStatment = statementProvider.getRemoveXidStatment();
158         }
159         return removeXidStatment;
160     }
161 
162     public String getUpdateMessageStatment() {
163         if( updateMessageStatment==null ) {
164             updateMessageStatment = statementProvider.getUpdateMessageStatment();
165         }
166         return updateMessageStatment;
167     }
168 
169   public String getCreateDurableSubStatment() {
170     if(createDurableSubStatment==null) {
171       createDurableSubStatment = statementProvider.getCreateDurableSubStatment();
172     }
173     return createDurableSubStatment;
174   }
175 
176   public String getUpdateDurableSubStatment() {
177     if( updateDurableSubStatment == null ) {
178       updateDurableSubStatment = statementProvider.getUpdateDurableSubStatment();
179     }
180     return updateDurableSubStatment;
181   }
182 
183   public String getFindDurableSubStatment() {
184     if(findDurableSubStatment==null) {
185       findDurableSubStatment = statementProvider.getFindDurableSubStatment();
186     }
187     return findDurableSubStatment;
188   }
189 
190   public String getFindAllDurableSubMessagesStatment() {
191     if(findAllDurableSubMessagesStatment==null) {
192       findAllDurableSubMessagesStatment = statementProvider.getFindAllDurableSubMessagesStatment();
193     }
194     return findAllDurableSubMessagesStatment;
195   }
196 
197   public String getUpdateLastAckOfDurableSub() {
198     if(updateLastAckOfDurableSub==null) {
199       updateLastAckOfDurableSub = statementProvider.getUpdateLastAckOfDurableSub();
200     }
201     return updateLastAckOfDurableSub;
202   }
203 
204   public String getFindMessageSequenceIdStatment() {
205     if ( findMessageSequenceIdStatment==null ) {
206       findMessageSequenceIdStatment = statementProvider.getFindMessageSequenceIdStatment();
207     }
208     return findMessageSequenceIdStatment;
209   }
210 
211     public String getRemoveAllMessagesStatment() {
212     if ( removeAllMessagesStatment==null ) {
213         removeAllMessagesStatment = statementProvider.getRemoveAllMessagesStatment();
214     }
215     return removeAllMessagesStatment;
216     }
217 
218     public String getRemoveAllSubscriptionsStatment() {
219     if ( removeAllSubscriptionsStatment==null ) {
220         removeAllSubscriptionsStatment = statementProvider.getRemoveAllSubscriptionsStatment();
221     }
222     return removeAllSubscriptionsStatment;
223     }
224 
225     public String getDeleteSubscriptionStatment() {
226         if ( deleteSubscriptionStatment==null ) {
227             deleteSubscriptionStatment = statementProvider.getDeleteSubscriptionStatment();
228         }
229         return deleteSubscriptionStatment;
230     }
231 
232     public String getDeleteOldMessagesStatment() {
233         if ( deleteOldMessagesStatment==null ) {
234             deleteOldMessagesStatment = statementProvider.getDeleteOldMessagesStatment();
235         }
236         return deleteOldMessagesStatment;
237     }
238     
239     public String getFindExpiredMessagesStatment() {
240       if ( findExpiredMessagesStatement==null) {
241         findExpiredMessagesStatement = statementProvider.getFindExpiredMessagesStatment();
242       }
243       return findExpiredMessagesStatement;
244     }
245     
246     public String getDeleteMessageStatement() {
247       if ( deleteMessageStatement==null) {
248         deleteMessageStatement = statementProvider.getDeleteMessageStatement();
249       }
250       return deleteMessageStatement;
251     }
252     
253     public String getSetDeadLetterFlagStatement() {
254       if ( setDeadLetterFlagStatement==null) {
255         setDeadLetterFlagStatement = statementProvider.getSetDeadLetterFlagStatement();
256       }
257       return setDeadLetterFlagStatement;
258     }
259 
260     public void setTablePrefix(String tablePrefix) {
261         statementProvider.setTablePrefix(tablePrefix);
262     }
263 
264     public String getTablePrefix() {
265         return statementProvider.getTablePrefix();
266     }
267 }