Don't recreate OS object everytime
This commit is contained in:
@@ -25,6 +25,8 @@ import java.util.Map;
|
|||||||
import com.sheepit.client.hardware.cpu.CPU;
|
import com.sheepit.client.hardware.cpu.CPU;
|
||||||
|
|
||||||
public abstract class OS {
|
public abstract class OS {
|
||||||
|
private static OS instance = null;
|
||||||
|
|
||||||
public abstract String name();
|
public abstract String name();
|
||||||
|
|
||||||
public abstract CPU getCPU();
|
public abstract CPU getCPU();
|
||||||
@@ -59,21 +61,22 @@ public abstract class OS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static OS getOS() {
|
public static OS getOS() {
|
||||||
|
if (instance == null) {
|
||||||
String os = System.getProperty("os.name").toLowerCase();
|
String os = System.getProperty("os.name").toLowerCase();
|
||||||
if (os.contains("win")) {
|
if (os.contains("win")) {
|
||||||
return new Windows();
|
instance = new Windows();
|
||||||
}
|
}
|
||||||
else if (os.contains("mac")) {
|
else if (os.contains("mac")) {
|
||||||
return new Mac();
|
instance = new Mac();
|
||||||
}
|
}
|
||||||
else if (os.contains("nix") || os.contains("nux")) {
|
else if (os.contains("nix") || os.contains("nux")) {
|
||||||
return new Linux();
|
instance = new Linux();
|
||||||
}
|
}
|
||||||
else if (os.contains("freebsd")) {
|
else if (os.contains("freebsd")) {
|
||||||
return new FreeBSD();
|
instance = new FreeBSD();
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user