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 }