Class SubsystemType

java.lang.Object
com.pnfsoftware.jeb.util.base.DynamicEnum<SubsystemType>
com.pnfsoftware.jeb.core.units.codeobject.SubsystemType

@Ser public class SubsystemType extends DynamicEnum<SubsystemType>
Dynamic enumeration of subsystems/OS types.
  • Field Details

    • map

      protected static LinkedHashMap<String,SubsystemType> map
      Registered subsystem types.
    • UNKNOWN

      public static final SubsystemType UNKNOWN
      unknown subsystem
    • UNIX

      public static final SubsystemType UNIX
      Unix-like, super generic
    • LINUX

      public static final SubsystemType LINUX
      Linux, generic
    • MAC

      public static final SubsystemType MAC
      macOS, generic
    • WINDOWS

      public static final SubsystemType WINDOWS
      Windows, generic
    • WINDOWS_KERNEL

      public static final SubsystemType WINDOWS_KERNEL
      Windows kernel-mode.
    • WINDOWS_USER

      public static final SubsystemType WINDOWS_USER
      Windows user-mode (graphical, console).
    • EFI

      public static final SubsystemType EFI
      Extensible Firmware Interface and Unified EFI
    • builtinCount

      public static final int builtinCount
      Number of built-in subsystem types.
  • Constructor Details

    • SubsystemType

      protected SubsystemType(int id, String name)
  • Method Details

    • ordinal

      public int ordinal()
      Description copied from class: DynamicEnum
      Get this entry's current ordinal in its dynamic enum.
      Specified by:
      ordinal in class DynamicEnum<SubsystemType>
      Returns:
      current ordinal of this entry
    • count

      public static int count()
      Get number of registered subsystem types.
      Returns:
      number of registered subsystem types
    • values

      public static Collection<SubsystemType> values()
      Get registered subsystem types.
      Returns:
      registered subsystem types
    • valueOf

      public static SubsystemType valueOf(String name)
      Retrieve a subsystem type by name.
      Parameters:
      name - subsystem type name
      Returns:
      matching subsystem type, or UNKNOWN
    • valueOf

      public static SubsystemType valueOf(int id)
      Retrieve a subsystem type by id.
      Parameters:
      id - subsystem type id
      Returns:
      matching subsystem type, or UNKNOWN
    • register

      public static SubsystemType register(int id, String name)
      Register a subsystem type.
      Parameters:
      id - subsystem type id
      name - subsystem type name
      Returns:
      registered subsystem type
    • unregister

      public static boolean unregister(String name)
      Unregister a dynamic subsystem type.
      Parameters:
      name - subsystem type name
      Returns:
      true if the type was unregistered
    • isUnixLike

      public boolean isUnixLike()
      Determine whether this subsystem is Unix-like.
      Returns:
      true for Unix-like subsystems
    • isWindowsLike

      public boolean isWindowsLike()
      Determine whether this subsystem is Windows-like.
      Returns:
      true for Windows-like subsystems