Files
VisualSapfor/src/_VisualDVM/Passes/Server/ClientPass.java

68 lines
2.3 KiB
Java
Raw Normal View History

package _VisualDVM.Passes.Server;
import Common.Passes.Pass;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.Repository.RepositoryServer;
2025-02-14 02:17:56 +03:00
import _VisualDVM.Repository.Server.SafeServerExchangeUnit;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
import java.io.Serializable;
public abstract class ClientPass <S extends RepositoryServer,T> extends Pass<T> {
protected RepositoryPass request;
2025-02-14 03:16:43 +03:00
protected boolean isSafe(){
return true;
}
@Override
protected boolean needsAnimation() {
2025-02-04 17:07:03 +03:00
return false;
}
protected boolean requestNeedsAnimation(){
return true;
}
@Override
public String getButtonText() {
return "";
}
protected abstract S getServer();
protected boolean SendRequest(ServerCode code_in, String arg_in, Serializable object_in, int delay){
request = null;
request = new RepositoryPass(getServer()) {
@Override
protected boolean needsAnimation() {
return requestNeedsAnimation();
}
@Override
public String getDescription() {
return code_in.getDescription();
}
@Override
protected int getTimeout() {
return delay;
}
@Override
protected void ServerAction() throws Exception {
2025-02-14 03:16:43 +03:00
if (isSafe())
Command(new SafeServerExchangeUnit(code_in, arg_in,object_in));
else
unsafe_command(new ServerExchangeUnit_2021(code_in,arg_in,object_in)); //только для отдельных команд.
target = server_response.object;
}
@Override
protected boolean validate() {
return Log.isEmpty();
}
};
return request.Do();
}
protected boolean SendRequest(ServerCode code_in,String arg_in, Serializable object_in){
return SendRequest(code_in,arg_in, object_in, Constants.SocketTimeout);
}
2025-02-04 16:55:55 +03:00
protected boolean SendRequest(ServerCode code_in, String arg_in){
return SendRequest(code_in,arg_in,null);
}
protected boolean SendRequest(ServerCode code_in){
return SendRequest(code_in, "", null);
}
}