package jetbrains.mps.debugger.java.api.settings;
/*Generated by MPS */
import jetbrains.mps.debug.api.IDebuggerSettings;
import org.jetbrains.annotations.NotNull;
public abstract class DebugConnectionSettings implements IDebuggerSettings {
private boolean myUseSockets = true;
private String myHostName;
private int myPort;
private String mySharedMemoryAddress = "";
protected DebugConnectionSettings() {
}
protected DebugConnectionSettings(String hostName, int port) {
myUseSockets = true;
mySharedMemoryAddress = "";
myHostName = hostName;
myPort = port;
}
protected DebugConnectionSettings(boolean useSockets, String hostName, int port, String sharedMemoryAddress) {
myUseSockets = useSockets;
myHostName = hostName;
myPort = port;
mySharedMemoryAddress = sharedMemoryAddress;
}
public abstract boolean isServerMode();
public abstract boolean isSuspend();
public boolean isUseSockets() {
return myUseSockets;
}
public void setUseSockets(boolean useSockets) {
myUseSockets = useSockets;
}
public String getHostName() {
return myHostName;
}
public void setHostName(String hostName) {
myHostName = hostName;
}
public int getPort() {
return myPort;
}
public void setPort(int port) {
myPort = port;
}
public String getSharedMemoryAddress() {
return mySharedMemoryAddress;
}
public void setSharedMemoryAddress(String sharedMemoryAddress) {
mySharedMemoryAddress = sharedMemoryAddress;
}
public String getApplicationCommandLine() {
return getCommandLine(true);
}
@NotNull
@Override
public String getCommandLine(boolean application) {
boolean serverMode = isServerMode();
if (application) {
serverMode = !(serverMode);
}
return DebugConnectionSettings.getCommandLine(serverMode, myUseSockets, isSuspend(), myHostName, myPort, mySharedMemoryAddress);
}
@Override
public boolean isEmpty() {
return false;
}
public String getAddress() {
return DebugConnectionSettings.getAddress(myUseSockets, myHostName, myPort, mySharedMemoryAddress);
}
public String getPresentation() {
return "transport: " + ((myUseSockets ? "'socket'" : "'shared memory'")) + ", address: " + getAddress();
}
protected static String getCommandLine(boolean serverMode, boolean useSockets, boolean suspend, String address) {
return "-Xrunjdwp:transport=" + ((useSockets ? "dt_socket" : "dt_shmem")) + ",server=" + (((serverMode ? 'y' : 'n'))) + ",suspend=" + (((suspend ? 'y' : 'n'))) + ",address=" + address;
}
protected static String getCommandLine(boolean serverMode, boolean useSockets, boolean suspend, String host, int port, String sharedMemoryAddress) {
return DebugConnectionSettings.getCommandLine(serverMode, useSockets, suspend, DebugConnectionSettings.getAddress(useSockets, host, port, sharedMemoryAddress));
}
private static String getAddress(boolean useSockets, String host, int port, String address) {
if (useSockets) {
return host + ":" + port;
} else {
return address;
}
}
}