Class Platform

  • Direct Known Subclasses:
    PlatformMacOS

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

      Fields 
      Modifier and Type Field Description
      static int OS_FREEBSD
      Konstante fuer: FreeBSD
      static int OS_FREEBSD_64
      Konstante fuer: FreeBSD 64Bit.
      static int OS_LINUX
      Konstante fuer: Linux.
      static int OS_LINUX_64
      Konstante fuer: Linux 64Bit
      static int OS_MAC
      Konstante fuer: Mac OS.
      static int OS_UNKNOWN
      Konstante fuer: Betriebssystem unbekannt.
      static int OS_WINDOWS
      Konstante fuer: Windows.
      static int OS_WINDOWS_64
      Konstante fuer: Windows 64Bit.
      protected java.io.File workdir  
    • Constructor Summary

      Constructors 
      Constructor Description
      Platform()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getDefaultWorkdir()
      Liefert das Default-Workdir, wenn kein abweichendes angegeben ist.
      static Platform getInstance()
      Liefert eine plattform-spezifische Instanz.
      int getOS()
      Liefert das Betriebssystem.
      java.io.File getWorkdir()
      Liefert das Benutzerverzeichnis, in dem Jameica alle Daten speichert.
      static boolean inProgramDir​(java.io.File f)
      Prueft, ob sich der angegebene Ordner oder die Datei innerhalb des Programmordners befindet.
      int mapSWTKey​(int key)
      Mappt OS-spezifisch einzelne Keys auf andere.
      java.lang.String mapSWTShortcut​(java.lang.String shortcut)
      Wie mapSWTKey(int), jedoch fuer String-Repraesentationen von Shortcuts.
      java.lang.String toAbsolute​(java.lang.String path)
      Macht eine absolute Pfadangabe aus der Pfad- oder Datei basierend auf dem Jameica-Benutzerverzeichnis.
      java.lang.String toRelative​(java.lang.String path)
      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 Detail

      • OS_UNKNOWN

        public static final int OS_UNKNOWN
        Konstante fuer: Betriebssystem unbekannt.
        See Also:
        Constant Field Values
      • OS_WINDOWS

        public static final int OS_WINDOWS
        Konstante fuer: Windows.
        See Also:
        Constant Field Values
      • OS_LINUX_64

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

        public static final int OS_WINDOWS_64
        Konstante fuer: Windows 64Bit.
        See Also:
        Constant Field Values
      • OS_FREEBSD_64

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

        protected java.io.File workdir
    • Constructor Detail

      • Platform

        public Platform()
    • Method Detail

      • getInstance

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

        public static boolean inProgramDir​(java.io.File f)
                                    throws java.io.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:
        java.io.IOException - falls kein Zugriff auf das Dateiverzeichnis moeglich
      • getWorkdir

        public java.io.File getWorkdir()
                                throws java.lang.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.
        java.lang.Exception
      • getDefaultWorkdir

        public java.lang.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 java.lang.String toRelative​(java.lang.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 java.lang.String toAbsolute​(java.lang.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:
        willuhn/jameica#6
      • mapSWTShortcut

        public java.lang.String mapSWTShortcut​(java.lang.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:
        mapSWTKey(int)