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

63 lines
2.1 KiB
Java
Raw Normal View History

package _VisualDVM.Passes.Server;
import Common.Passes.Pass;
2025-02-18 16:21:20 +03:00
import _VisualDVM.Repository.Server.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;
2025-03-13 00:32:20 +03:00
public abstract class ClientPass<S extends RepositoryServer, T> extends Pass<T> {
protected RepositoryPass request;
2025-03-13 00:32:20 +03:00
protected boolean isSafe() {
2025-02-14 03:16:43 +03:00
return true;
}
@Override
protected boolean needsAnimation() {
2025-02-04 17:07:03 +03:00
return false;
}
2025-03-13 00:32:20 +03:00
protected boolean requestNeedsAnimation() {
return true;
}
@Override
public String getButtonText() {
return "";
}
protected abstract S getServer();
2025-03-13 00:32:20 +03:00
protected boolean SendRequest(ServerCode code_in, String arg_in, Serializable object_in) {
request = null;
2025-03-13 00:32:20 +03:00
request = new RepositoryPass(getServer()) {
@Override
protected boolean needsAnimation() {
return requestNeedsAnimation();
}
@Override
public String getDescription() {
return code_in.getDescription();
}
@Override
protected int getTimeout() {
2025-02-15 23:30:48 +03:00
return 0;
}
@Override
protected void ServerAction() throws Exception {
2025-02-14 03:16:43 +03:00
if (isSafe())
2025-03-13 00:32:20 +03:00
Command(new SafeServerExchangeUnit(code_in, arg_in, object_in));
2025-02-14 03:16:43 +03:00
else
2025-03-13 00:32:20 +03:00
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();
}
2025-03-13 00:32:20 +03:00
protected boolean SendRequest(ServerCode code_in, String arg_in) {
return SendRequest(code_in, arg_in, null);
2025-02-04 16:55:55 +03:00
}
2025-03-13 00:32:20 +03:00
protected boolean SendRequest(ServerCode code_in) {
return SendRequest(code_in, "", null);
}
}