Package de.willuhn.jameica.system
Class Platform
- java.lang.Object
-
- de.willuhn.jameica.system.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: FreeBSDstatic int
OS_FREEBSD_64
Konstante fuer: FreeBSD 64Bit.static int
OS_LINUX
Konstante fuer: Linux.static int
OS_LINUX_64
Konstante fuer: Linux 64Bitstatic 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)
WiemapSWTKey(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.
-
-
-
Field Detail
-
OS_UNKNOWN
public static final int OS_UNKNOWN
Konstante fuer: Betriebssystem unbekannt.- See Also:
- Constant Field Values
-
OS_LINUX
public static final int OS_LINUX
Konstante fuer: Linux.- See Also:
- Constant Field Values
-
OS_WINDOWS
public static final int OS_WINDOWS
Konstante fuer: Windows.- See Also:
- Constant Field Values
-
OS_MAC
public static final int OS_MAC
Konstante fuer: Mac OS.- 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
public static final int OS_FREEBSD
Konstante fuer: FreeBSD- 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
-
-
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 KonstantenPlatform.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)
WiemapSWTKey(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)
-
-