View Javadoc
1   package org.apache.commons.jcs3.auxiliary.remote.behavior;
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.commons.jcs3.auxiliary.AuxiliaryCacheAttributes;
23  import org.apache.commons.jcs3.auxiliary.remote.RemoteLocation;
24  import org.apache.commons.jcs3.auxiliary.remote.server.behavior.RemoteType;
25  
26  /**
27   * This specifies what a remote cache configuration object should look like.
28   */
29  public interface ICommonRemoteCacheAttributes
30      extends AuxiliaryCacheAttributes
31  {
32      /** The default timeout for the custom RMI socket factory */
33      int DEFAULT_RMI_SOCKET_FACTORY_TIMEOUT_MILLIS = 10000;
34  
35      /**
36       * Gets the remoteTypeName attribute of the IRemoteCacheAttributes object
37       * <p>
38       * @return The remoteTypeName value
39       */
40      String getRemoteTypeName();
41  
42      /**
43       * Sets the remoteTypeName attribute of the IRemoteCacheAttributes object
44       * <p>
45       * @param s The new remoteTypeName value
46       */
47      void setRemoteTypeName( String s );
48  
49      /**
50       * Gets the remoteType attribute of the IRemoteCacheAttributes object
51       * <p>
52       * @return The remoteType value
53       */
54      RemoteType getRemoteType();
55  
56      /**
57       * Sets the remoteType attribute of the IRemoteCacheAttributes object
58       * <p>
59       * @param p The new remoteType value
60       */
61      void setRemoteType( RemoteType p );
62  
63      /**
64       * Gets the remoteServiceName attribute of the IRemoteCacheAttributes object
65       * <p>
66       * @return The remoteServiceName value
67       */
68      String getRemoteServiceName();
69  
70      /**
71       * Sets the remoteServiceName attribute of the IRemoteCacheAttributes object
72       * <p>
73       * @param s The new remoteServiceName value
74       */
75      void setRemoteServiceName( String s );
76  
77      /**
78       * Sets the location attribute of the RemoteCacheAttributes object.
79       * <p>
80       * @param location The new location value
81       */
82      void setRemoteLocation( RemoteLocation location );
83  
84      /**
85       * Sets the location attribute of the RemoteCacheAttributes object.
86       * <p>
87       * @param host The new remoteHost value
88       * @param port The new remotePort value
89       */
90      void setRemoteLocation( String host, int port );
91  
92      /**
93       * Gets the location attribute of the RemoteCacheAttributes object.
94       * <p>
95       * @return The remote location value
96       */
97      RemoteLocation getRemoteLocation();
98  
99      /**
100      * Gets the clusterServers attribute of the IRemoteCacheAttributes object
101      * <p>
102      * @return The clusterServers value
103      */
104     String getClusterServers();
105 
106     /**
107      * Sets the clusterServers attribute of the IRemoteCacheAttributes object
108      * <p>
109      * @param s The new clusterServers value
110      */
111     void setClusterServers( String s );
112 
113     /**
114      * Gets the removeUponRemotePut attribute of the IRemoteCacheAttributes object
115      * <p>
116      * @return The removeUponRemotePut value
117      */
118     boolean getRemoveUponRemotePut();
119 
120     /**
121      * Sets the removeUponRemotePut attribute of the IRemoteCacheAttributes object
122      * <p>
123      * @param r The new removeUponRemotePut value
124      */
125     void setRemoveUponRemotePut( boolean r );
126 
127     /**
128      * Gets the getOnly attribute of the IRemoteCacheAttributes object
129      * <p>
130      * @return The getOnly value
131      */
132     boolean getGetOnly();
133 
134     /**
135      * Sets the getOnly attribute of the IRemoteCacheAttributes object
136      * <p>
137      * @param r The new getOnly value
138      */
139     void setGetOnly( boolean r );
140 
141     /**
142      * Should cluster updates be propagated to the locals
143      * <p>
144      * @return The localClusterConsistency value
145      */
146     boolean isLocalClusterConsistency();
147 
148     /**
149      * Should cluster updates be propagated to the locals
150      * <p>
151      * @param r The new localClusterConsistency value
152      */
153     void setLocalClusterConsistency( boolean r );
154 
155     /**
156      * This sets a general timeout on the rmi socket factory. By default the socket factory will
157      * block forever.
158      * <p>
159      * We have a default setting. The default rmi behavior should never be used.
160      * <p>
161      * @return int milliseconds
162      */
163     int getRmiSocketFactoryTimeoutMillis();
164 
165     /**
166      * This sets a general timeout on the RMI socket factory. By default the socket factory will
167      * block forever.
168      * <p>
169      * @param rmiSocketFactoryTimeoutMillis
170      */
171     void setRmiSocketFactoryTimeoutMillis( int rmiSocketFactoryTimeoutMillis );
172 }