48 lines
2 KiB
Java
48 lines
2 KiB
Java
import java.util.Optional;
|
|
|
|
public class ScanMaker {
|
|
|
|
public static Optional<ScanType> createScan(String type, String accessString) {
|
|
return switch (type) {
|
|
case "HTTPGet" -> Optional.of(new HTTPGet(accessString));
|
|
case "HTTPHead" -> Optional.of(new HTTPHead(accessString));
|
|
case "Ping" -> Optional.of(new Ping(accessString));
|
|
case "PortConnect" -> Optional.of(new PortConnect(accessString));
|
|
default -> Optional.empty();
|
|
};
|
|
}
|
|
|
|
public static Optional<ScanType> validateAndCreate(String label, String accessString) {
|
|
return switch (label) {
|
|
case "HTTP GET" -> HTTPGet.validateAccessString(accessString) ? Optional.of(new HTTPGet(accessString)) : Optional.empty();
|
|
case "HTTP HEAD" -> HTTPHead.validateAccessString(accessString) ? Optional.of(new HTTPHead(accessString)) : Optional.empty();
|
|
case "Ping" -> Ping.validateAccessString(accessString) ? Optional.of(new Ping(accessString)) : Optional.empty();
|
|
case "Port Connect" -> PortConnect.validateAccessString(accessString) ? Optional.of(new PortConnect(accessString)) : Optional.empty();
|
|
default -> Optional.empty();
|
|
};
|
|
}
|
|
|
|
public static String getTypeName(ScanType scan) {
|
|
return scan.getClass().getSimpleName();
|
|
}
|
|
|
|
public static String getDisplayLabel(String typeName) {
|
|
return switch (typeName) {
|
|
case "HTTPGet" -> "HTTP GET";
|
|
case "HTTPHead" -> "HTTP HEAD";
|
|
case "Ping" -> "Ping";
|
|
case "PortConnect" -> "Port Connect";
|
|
default -> typeName;
|
|
};
|
|
}
|
|
|
|
public static String getInternalTypeName(String label) {
|
|
return switch (label) {
|
|
case "HTTP GET" -> "HTTPGet";
|
|
case "HTTP HEAD" -> "HTTPHead";
|
|
case "Ping" -> "Ping";
|
|
case "Port Connect" -> "PortConnect";
|
|
default -> label;
|
|
};
|
|
}
|
|
}
|