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 }