package com.redpois0n.oslib;

import com.redpois0n.oslib.linux.DistroDetector;
import com.redpois0n.oslib.linux.DistroSpec;

public class Debug {
	
	public static void main(String[] args) {
		DistroSpec ds = DistroDetector.detect();
		
		System.out.println(ds.getDistro().name());
		System.out.println(ds.getDistro().getName());
		System.out.println(ds.getCodename());
		System.out.println(ds.getRelease());
	}

}

@@ -54,28 +54,30 @@
 lib.
-linux.DistroDetector
+bsd.BSDOperatingSystem
 ;%0Aim
@@ -123,120 +123,815 @@
 ec;%0A
-%0Apublic class Debug %7B%0A%09%0A%09public static void main(String%5B%5D args) %7B%0A%09%09DistroSpec ds = DistroDetector.detect()
+import com.redpois0n.oslib.linux.LinuxOperatingSystem;%0Aimport com.redpois0n.oslib.osx.OSXOperatingSystem;%0Aimport com.redpois0n.oslib.solaris.SolarisOperatingSystem;%0Aimport com.redpois0n.oslib.windows.WindowsOperatingSystem;%0A%0Apublic class Debug %7B%0A%09%0A%09public static void main(String%5B%5D args) %7B%0A%09%09AbstractOperatingSystem os = OperatingSystem.getOperatingSystem();%0A%09%09%0A%09%09String display = os.getDisplayString();%0A%09%09String detailed = os.getDetailedString();%0A%09%09%0A%09%09System.out.println(%22Type: %22 + os.getType().name());%0A%09%09%0A%09%09if (os.getType() == OperatingSystem.WINDOWS) %7B%0A%09%09%09WindowsOperatingSystem wos = (WindowsOperatingSystem) os;%0A%09%09%09%0A%09%09%09System.out.println(%22Windows Version: %22 + wos.getVersion().getSearch());%0A%09%09%7D else if (os.getType() == OperatingSystem.OSX) %7B%0A%09%09%09OSXOperatingSystem xos = (OSXOperatingSystem) os
 ;%0A%09%09
-%0A
+%09%0A%09
 %09%09Sy
@@ -951,32 +951,256 @@
 tln(
-ds.getDistro().name());%0A
+%22OSX Version: %22 + xos.getVersion().getDisplay() + %22, %22 + xos.getVersion().getVersion());%0A%09%09%7D else if (os.getType() == OperatingSystem.LINUX) %7B%0A%09%09%09LinuxOperatingSystem los = (LinuxOperatingSystem) os;%0A%09%09%09%0A%09%09%09DistroSpec d = los.getDistroSpec();%0A%09%09%09%0A%09
 %09%09Sy
@@ -1212,26 +1212,38 @@
 out.println(
+%22Distro: %22 + 
 d
-s
 .getDistro()
@@ -1250,17 +1250,81 @@
 .get
-N
+DisplayString());%0A%09%09%09System.out.println(%22Codename: %22 + d.getCoden
 ame());%0A
 %09%09Sy
@@ -1311,32 +1311,33 @@
 getCodename());%0A
+%09
 %09%09System.out.pri
@@ -1337,26 +1337,39 @@
 out.println(
+%22Release: %22 + 
 d
-s
 .getCodename
@@ -1379,42 +1379,393 @@
 ;%0A%09%09
-System.out.println(ds.getRelease()
+%7D else if (os.getType() == OperatingSystem.BSD) %7B%0A%09%09%09BSDOperatingSystem bos = (BSDOperatingSystem) os;%0A%09%09%09%0A%09%09%09System.out.println(%22Flavor: %22 + bos.getFlavor().getName());%0A%09%09%7D else if (os.getType() == OperatingSystem.SOLARIS) %7B%0A%09%09%09SolarisOperatingSystem sos = (SolarisOperatingSystem) os;%0A%09%09%09%0A%09%09%7D%0A%0A%09%09System.out.println(%22Display: %22 + display);%0A%09%09System.out.println(%22Detailed: %22 + detailed
 );%0A%09

Debug class rewritten