View Javadoc

1   package org.apache.jcs.auxiliary.lateral.socket.tcp;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.jcs.auxiliary.AuxiliaryCacheAttributes;
23  import org.apache.jcs.auxiliary.lateral.LateralCacheAttributes;
24  import org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes;
25  
26  /***
27   * This interface defines functions that are particular to the TCP Lateral Cache
28   * plugin. It extends the generic LateralCacheAttributes interface which in turn
29   * extends the AuxiliaryCache interface.
30   *
31   * @author Aaron Smuts
32   *
33   */
34  public class TCPLateralCacheAttributes
35      extends LateralCacheAttributes
36      implements ITCPLateralCacheAttributes
37  {
38  
39      private static final long serialVersionUID = 1077889204513905220L;
40  
41      private static final String DEFAULT_UDP_DISCOVERY_ADDRESS = "228.5.6.7";
42  
43      private static final int DEFAULT_UDP_DISCOVERY_PORT = 6789;
44  
45      private static final boolean DEFAULT_UDP_DISCOVERY_ENABLED = true;
46  
47      private static final boolean DEFAULT_ALLOW_GET = true;
48  
49      private static final boolean DEFAULT_ALLOW_PUT = true;
50  
51      private static final boolean DEFAULT_ISSUE_REMOVE_FOR_PUT = false;
52  
53      private static final boolean DEFAULT_FILTER_REMOVE_BY_HASH_CODE = true;
54  
55      // TCP --------------------------------------------
56      private String tcpServers = "";
57  
58      // used to identify the service that this manager will be
59      // operating on
60      private String tcpServer = "";
61  
62      private int tcpListenerPort = 0;
63  
64      // udp discovery for tcp server
65      private String udpDiscoveryAddr = DEFAULT_UDP_DISCOVERY_ADDRESS;
66  
67      private int udpDiscoveryPort = DEFAULT_UDP_DISCOVERY_PORT;
68  
69      private boolean udpDiscoveryEnabled = DEFAULT_UDP_DISCOVERY_ENABLED;
70  
71      private boolean allowPut = DEFAULT_ALLOW_GET;
72  
73      private boolean allowGet = DEFAULT_ALLOW_PUT;
74  
75      private boolean issueRemoveOnPut = DEFAULT_ISSUE_REMOVE_FOR_PUT;
76  
77      private boolean filterRemoveByHashCode = DEFAULT_FILTER_REMOVE_BY_HASH_CODE;
78  
79      /*
80       * (non-Javadoc)
81       *
82       * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#setTcpServer(java.lang.String)
83       */
84      public void setTcpServer( String val )
85      {
86          this.tcpServer = val;
87      }
88  
89      /*
90       * (non-Javadoc)
91       *
92       * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#getTcpServer()
93       */
94      public String getTcpServer()
95      {
96          return this.tcpServer;
97      }
98  
99      /*
100      * (non-Javadoc)
101      *
102      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#setTcpServers(java.lang.String)
103      */
104     public void setTcpServers( String val )
105     {
106         this.tcpServers = val;
107     }
108 
109     /*
110      * (non-Javadoc)
111      *
112      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#getTcpServers()
113      */
114     public String getTcpServers()
115     {
116         return this.tcpServers;
117     }
118 
119     /*
120      * (non-Javadoc)
121      *
122      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#setTcpListenerPort(int)
123      */
124     public void setTcpListenerPort( int val )
125     {
126         this.tcpListenerPort = val;
127     }
128 
129     /*
130      * (non-Javadoc)
131      *
132      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#getTcpListenerPort()
133      */
134     public int getTcpListenerPort()
135     {
136         return this.tcpListenerPort;
137     }
138 
139     /*
140      * (non-Javadoc)
141      *
142      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#setUdpDiscoveryEnabled(boolean)
143      */
144     public void setUdpDiscoveryEnabled( boolean udpDiscoveryEnabled )
145     {
146         this.udpDiscoveryEnabled = udpDiscoveryEnabled;
147     }
148 
149     /*
150      * (non-Javadoc)
151      *
152      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#isUdpDiscoveryEnabled()
153      */
154     public boolean isUdpDiscoveryEnabled()
155     {
156         return this.udpDiscoveryEnabled;
157     }
158 
159     /*
160      * (non-Javadoc)
161      *
162      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#getUdpDiscoveryPort()
163      */
164     public int getUdpDiscoveryPort()
165     {
166         return this.udpDiscoveryPort;
167     }
168 
169     /*
170      * (non-Javadoc)
171      *
172      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#setUdpDiscoveryPort(int)
173      */
174     public void setUdpDiscoveryPort( int udpDiscoveryPort )
175     {
176         this.udpDiscoveryPort = udpDiscoveryPort;
177     }
178 
179     /*
180      * (non-Javadoc)
181      *
182      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#getUdpDiscoveryAddr()
183      */
184     public String getUdpDiscoveryAddr()
185     {
186         return this.udpDiscoveryAddr;
187     }
188 
189     /*
190      * (non-Javadoc)
191      *
192      * @see org.apache.jcs.auxiliary.lateral.behavior.ILateralCacheAttributes#setUdpDiscoveryAddr(java.lang.String)
193      */
194     public void setUdpDiscoveryAddr( String udpDiscoveryAddr )
195     {
196         this.udpDiscoveryAddr = udpDiscoveryAddr;
197     }
198 
199     /*
200      * (non-Javadoc)
201      *
202      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#setAllowGet(boolean)
203      */
204     public void setAllowGet( boolean allowGet )
205     {
206         this.allowGet = allowGet;
207     }
208 
209     /*
210      * (non-Javadoc)
211      *
212      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#isAllowGet()
213      */
214     public boolean isAllowGet()
215     {
216         return this.allowGet;
217     }
218 
219     /*
220      * (non-Javadoc)
221      *
222      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#setAllowPut(boolean)
223      */
224     public void setAllowPut( boolean allowPut )
225     {
226         this.allowPut = allowPut;
227     }
228 
229     /*
230      * (non-Javadoc)
231      *
232      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#isAllowPut()
233      */
234     public boolean isAllowPut()
235     {
236         return this.allowPut;
237     }
238 
239     /*
240      * (non-Javadoc)
241      *
242      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#setIssueRemoveOnPut(boolean)
243      */
244     public void setIssueRemoveOnPut( boolean issueRemoveOnPut )
245     {
246         this.issueRemoveOnPut = issueRemoveOnPut;
247     }
248 
249     /*
250      * (non-Javadoc)
251      *
252      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#isIssueRemoveOnPut()
253      */
254     public boolean isIssueRemoveOnPut()
255     {
256         return this.issueRemoveOnPut;
257     }
258 
259     /*
260      * (non-Javadoc)
261      *
262      * @see org.apache.jcs.auxiliary.AuxiliaryCacheAttributes#copy()
263      */
264     public AuxiliaryCacheAttributes copy()
265     {
266         try
267         {
268             return (AuxiliaryCacheAttributes) this.clone();
269         }
270         catch ( Exception e )
271         {
272             //noop
273         }
274         return this;
275     }
276 
277     /*
278      * (non-Javadoc)
279      *
280      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#isFilterRemoveByHashCode()
281      */
282     public boolean isFilterRemoveByHashCode()
283     {
284         return this.filterRemoveByHashCode;
285     }
286 
287     /*
288      * (non-Javadoc)
289      *
290      * @see org.apache.jcs.auxiliary.lateral.socket.tcp.behavior.ITCPLateralCacheAttributes#setFilterRemoveByHashCode(boolean)
291      */
292     public void setFilterRemoveByHashCode( boolean filter )
293     {
294         this.filterRemoveByHashCode = filter;
295     }
296 
297     /***
298      * Used to key the instance TODO create another method for this and use
299      * toString for debugging only.
300      *
301      * @return String
302      */
303     public String toString()
304     {
305         return this.getTcpServer() + ":" + this.getTcpListenerPort();
306     }
307 
308 }