Package oshi.software.common
Class AbstractOperatingSystem
java.lang.Object
oshi.software.common.AbstractOperatingSystem
- All Implemented Interfaces:
OperatingSystem
- Direct Known Subclasses:
FreeBsdOperatingSystem,LinuxOperatingSystem,MacOperatingSystem,SolarisOperatingSystem,WindowsOperatingSystem
public abstract class AbstractOperatingSystem extends java.lang.Object implements OperatingSystem
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractOperatingSystem.FamilyVersionInfoNested classes/interfaces inherited from interface oshi.software.os.OperatingSystem
OperatingSystem.OSVersionInfo, OperatingSystem.ProcessSort -
Constructor Summary
Constructors Constructor Description AbstractOperatingSystem() -
Method Summary
Modifier and Type Method Description intgetBitness()Gets the bitness (32 or 64) of the operating system.java.lang.StringgetFamily()Operating system family.java.lang.StringgetManufacturer()Manufacturer.java.util.List<OSProcess>getProcesses()Gets currently running processes.java.util.List<OSProcess>getProcesses(java.util.Collection<java.lang.Integer> pids)Gets information on aCollectionof currently running processes.OSService[]getServices()Gets the all services on the system.OperatingSystem.OSVersionInfogetVersionInfo()Operating system version information.booleanisElevated()Determine whether the current process has elevated permissions such as sudo / Administratorprotected java.util.List<OSProcess>processSort(java.util.List<OSProcess> processes, int limit, OperatingSystem.ProcessSort sort)Sorts an array of processes using the specified sorting, returning an array with the top limit results if positive.protected abstract intqueryBitness(int jvmBitness)Backup OS-specific query to determine bitness if previous checks failprotected abstract booleanqueryElevated()protected abstract AbstractOperatingSystem.FamilyVersionInfoqueryFamilyVersionInfo()protected abstract java.lang.StringqueryManufacturer()java.lang.StringtoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface oshi.software.os.OperatingSystem
getChildProcesses, getFileSystem, getInternetProtocolStats, getNetworkParams, getProcess, getProcessCount, getProcesses, getProcessId, getSystemBootTime, getSystemUptime, getThreadCount
-
Constructor Details
-
AbstractOperatingSystem
public AbstractOperatingSystem()
-
-
Method Details
-
getManufacturer
public java.lang.String getManufacturer()Description copied from interface:OperatingSystemManufacturer.- Specified by:
getManufacturerin interfaceOperatingSystem- Returns:
- String.
-
queryManufacturer
protected abstract java.lang.String queryManufacturer() -
getFamily
public java.lang.String getFamily()Description copied from interface:OperatingSystemOperating system family.- Specified by:
getFamilyin interfaceOperatingSystem- Returns:
- String.
-
getVersionInfo
Description copied from interface:OperatingSystemOperating system version information.- Specified by:
getVersionInfoin interfaceOperatingSystem- Returns:
- Version information.
-
queryFamilyVersionInfo
-
getBitness
public int getBitness()Description copied from interface:OperatingSystemGets the bitness (32 or 64) of the operating system.- Specified by:
getBitnessin interfaceOperatingSystem- Returns:
- The number of bits supported by the operating system.
-
queryBitness
protected abstract int queryBitness(int jvmBitness)Backup OS-specific query to determine bitness if previous checks fail- Parameters:
jvmBitness- The bitness of the JVM- Returns:
- The operating system bitness
-
isElevated
public boolean isElevated()Description copied from interface:OperatingSystemDetermine whether the current process has elevated permissions such as sudo / Administrator- Specified by:
isElevatedin interfaceOperatingSystem- Returns:
- True if this process has elevated permissions
-
getServices
Description copied from interface:OperatingSystemGets the all services on the system. The definition of what is a service is platform-dependent.- Specified by:
getServicesin interfaceOperatingSystem- Returns:
- An array of
OSServiceobjects
-
queryElevated
protected abstract boolean queryElevated() -
processSort
protected java.util.List<OSProcess> processSort(java.util.List<OSProcess> processes, int limit, OperatingSystem.ProcessSort sort)Sorts an array of processes using the specified sorting, returning an array with the top limit results if positive.- Parameters:
processes- The array to sortlimit- The number of results to return if positive; if zero returns all resultssort- The sorting to use, or null- Returns:
- An array of size limit (if positive) or of all processes, sorted as specified
-
getProcesses
Description copied from interface:OperatingSystemGets currently running processes. No order is guaranteed.- Specified by:
getProcessesin interfaceOperatingSystem- Returns:
- An
UnmodifiableListofOSProcessobjects for the specified number (or all) of currently running processes, sorted as specified. The list may contain null elements or processes with a state ofOSProcess.State.INVALIDif a process terminates during iteration.
-
getProcesses
Description copied from interface:OperatingSystemGets information on aCollectionof currently running processes. This has potentially improved performance vs. iterating individual processes.- Specified by:
getProcessesin interfaceOperatingSystem- Parameters:
pids- A collection of process IDs- Returns:
- An
UnmodifiableListofOSProcessobjects for the specified process ids if it is running
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-