Class Platform

java.lang.Object
de.willuhn.jameica.system.Platform
Direct Known Subclasses:
PlatformMacOS

public class Platform extends Object
Hilfsklasse, um Plattform-/OS-spezfisches Verhalten zu behandeln.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Konstante fuer: FreeBSD
    static final int
    Konstante fuer: FreeBSD 64Bit.
    static final int
    Konstante fuer: Linux.
    static final int
    Konstante fuer: Linux 64Bit
    static final int
    Konstante fuer: Mac OS.
    static final int
    Konstante fuer: Betriebssystem unbekannt.
    static final int
    Konstante fuer: Windows.
    static final int
    Konstante fuer: Windows 64Bit.
    protected File
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Liefert das Default-Workdir, wenn kein abweichendes angegeben ist.
    static Platform
    Liefert eine plattform-spezifische Instanz.
    int
    Liefert das Betriebssystem.
    Liefert das Benutzerverzeichnis, in dem Jameica alle Daten speichert.
    static boolean
    Prueft, ob sich der angegebene Ordner oder die Datei innerhalb des Programmordners befindet.
    int
    mapSWTKey(int key)
    Mappt OS-spezifisch einzelne Keys auf andere.
    Wie mapSWTKey(int), jedoch fuer String-Repraesentationen von Shortcuts.
    Macht eine absolute Pfadangabe aus der Pfad- oder Datei basierend auf dem Jameica-Benutzerverzeichnis.
    Versucht, die Pfad- oder Datei-Angabe basierend auf dem Jameica-Benutzerverzeichnis zu relativieren.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • OS_UNKNOWN

      public static final int OS_UNKNOWN
      Konstante fuer: Betriebssystem unbekannt.
      See Also:
    • OS_LINUX

      public static final int OS_LINUX
      Konstante fuer: Linux.
      See Also:
    • OS_WINDOWS

      public static final int OS_WINDOWS
      Konstante fuer: Windows.
      See Also:
    • OS_MAC

      public static final int OS_MAC
      Konstante fuer: Mac OS.
      See Also:
    • OS_LINUX_64

      public static final int OS_LINUX_64
      Konstante fuer: Linux 64Bit
      See Also:
    • OS_WINDOWS_64

      public static final int OS_WINDOWS_64
      Konstante fuer: Windows 64Bit.
      See Also:
    • OS_FREEBSD

      public static final int OS_FREEBSD
      Konstante fuer: FreeBSD
      See Also:
    • OS_FREEBSD_64

      public static final int OS_FREEBSD_64
      Konstante fuer: FreeBSD 64Bit.
      See Also:
    • workdir

      protected File workdir
  • Constructor Details

    • Platform

      public Platform()
  • Method Details

    • getInstance

      public static Platform getInstance()
      Liefert eine plattform-spezifische Instanz.
      Returns:
      Instanz.
    • inProgramDir

      public static boolean inProgramDir(File f) throws IOException
      Prueft, ob sich der angegebene Ordner oder die Datei innerhalb des Programmordners befindet.
      Parameters:
      f - der zu pruefende Ordner oder die Datei.
      Returns:
      true, wenn sich der Ordner oder die Datei im Programmordner befindet.
      Throws:
      IOException - falls kein Zugriff auf das Dateiverzeichnis moeglich
    • getWorkdir

      public File getWorkdir() throws Exception
      Liefert das Benutzerverzeichnis, in dem Jameica alle Daten speichert. Falls es noch nicht existiert, wird es automatisch angelegt.
      Returns:
      Benutzerverzeichnis.
      Throws:
      de.willuhn.util.ApplicationException - wenn das Benutzerverzeichnis nicht lesbar ist oder nicht erstellt werden konnte.
      Exception
    • getDefaultWorkdir

      public String getDefaultWorkdir()
      Liefert das Default-Workdir, wenn kein abweichendes angegeben ist.
      Returns:
      das Default-Workdir.
    • getOS

      public int getOS()
      Liefert das Betriebssystem. Siehe dazu die Konstanten Platform.OS_*.
      Returns:
      Betriebssystem.
    • toRelative

      public String toRelative(String path)
      Versucht, die Pfad- oder Datei-Angabe basierend auf dem Jameica-Benutzerverzeichnis zu relativieren. Falls es sich nicht um eine relative Pfadangabe innerhalb des Benutzerverzeichnisses handelt, wird der Pfad unveraendert zurueckgeliefert.
      Parameters:
      path - der Pfad oder die Datei.
      Returns:
      die relativierte Angabe oder der originale Pfad.
    • toAbsolute

      public String toAbsolute(String path)
      Macht eine absolute Pfadangabe aus der Pfad- oder Datei basierend auf dem Jameica-Benutzerverzeichnis. Falls es sich bereits um eine absolute Pfadangabe handelt, wird der Pfad unveraendert zurueckgegeben.
      Parameters:
      path - er Pfad.
      Returns:
      die absolute Angabe oder der originale Pfad.
    • mapSWTKey

      public int mapSWTKey(int key)
      Mappt OS-spezifisch einzelne Keys auf andere.

      In der Default-Implementierung wird hier 1:1 der Eingabewert zurueckgegeben. In PlatformMacOS aber wird z.B. ALT gegen COMMAND ersetzt.

      Parameters:
      key - der Key.
      Returns:
      der gemappte Key.
      See Also:
    • mapSWTShortcut

      public String mapSWTShortcut(String shortcut)
      Wie mapSWTKey(int), jedoch fuer String-Repraesentationen von Shortcuts. Parameter ist z.Bsp. "ALT+S". Auf macOS wird das auf "CMD+S" gemappt.
      Parameters:
      shortcut - der Shortcut.
      Returns:
      der gemappte Shortcut.
      See Also: