Package org.eclipse.rdf4j.common.platform

## Class AbstractPlatform

- java.lang.Object
- - org.eclipse.rdf4j.common.platform.AbstractPlatform

- All Implemented Interfaces:
    `Platform`
  Direct Known Subclasses:
    `DefaultPlatform`, `PlatformBase`, `PosixPlatform`, `WindowsPlatform`

      public abstract class AbstractPlatform
      extends Object
      implements Platform

  Utility base class for Platform implementations.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected String` | `colonReplacement` |
    `protected org.slf4j.Logger` | `logger` |
    `protected String` | `separatorReplacement` |
    `protected String` | `whitespaceReplacement` |

    - ### Fields inherited from interface org.eclipse.rdf4j.common.platform.Platform

      `APPDATA_BASEDIR_PROPERTY, OLD_DATADIR_PROPERTY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractPlatform()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `File` | `getApplicationDataDir()` | Returns the directory in which Aduna applications can store their application-dependent data, returns 'getOSApplicationDataDir' unless the system property "aduna.platform.applicationdata.dir" has been set.
    `File` | `getApplicationDataDir​(String applicationName)` | Returns the directory in which a specific application can store all its application-dependent data.
    `File` | `getOSApplicationDataDir​(String applicationName)` | Returns the operating system dependent application data directory.
    `String` | `getRelativeApplicationDataDir​(String applicationName)` | Get the directory relative to getApplicationDataDir() for the specified application.
    `String` | `getRelativeApplicationDataDir​(String applicationName, boolean caseSensitive, boolean replaceWhitespace, boolean replaceColon)` | Get the relative name of the application directory
    `File` | `getUserHome()` | Returns the directory for the current user.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.common.platform.Platform

      `dataDirPreserveCase, dataDirReplaceColon, dataDirReplaceWhitespace, getName, getOSApplicationDataDir`

- - ### Field Detail

    - #### logger

          protected final org.slf4j.Logger logger

    - #### whitespaceReplacement

          protected String whitespaceReplacement

    - #### separatorReplacement

          protected String separatorReplacement

    - #### colonReplacement

          protected String colonReplacement

  - ### Constructor Detail

    - #### AbstractPlatform

          public AbstractPlatform()

  - ### Method Detail

    - #### getUserHome

          public File getUserHome()

      Description copied from interface: `Platform`
      Returns the directory for the current user.
      Specified by:
        `getUserHome` in interface `Platform`
      Returns:
        the current user home directory

    - #### getApplicationDataDir

          public final File getApplicationDataDir()

      Description copied from interface: `Platform`
      Returns the directory in which Aduna applications can store their application-dependent data, returns 'getOSApplicationDataDir' unless the system property "aduna.platform.applicationdata.dir" has been set.
      Specified by:
        `getApplicationDataDir` in interface `Platform`
      Returns:
        the Aduna-specific application data directory

    - #### getApplicationDataDir

          public final File getApplicationDataDir​(String applicationName)

      Description copied from interface: `Platform`
      Returns the directory in which a specific application can store all its application-dependent data. This will be a sub-directory of the directory returned by the no-argument version of this method. Note: the directory might not exist yet.
      Specified by:
        `getApplicationDataDir` in interface `Platform`
      Parameters:
        `applicationName` - the name of the application for which to determine the directory
      Returns:
        an application-specific data directory
      See Also:
        `Platform.getApplicationDataDir()`

    - #### getOSApplicationDataDir

          public final File getOSApplicationDataDir​(String applicationName)

      Description copied from interface: `Platform`
      Returns the operating system dependent application data directory. This will be a sub-directory of the directory returned by the no-argument version of this method.
      Specified by:
        `getOSApplicationDataDir` in interface `Platform`
      Parameters:
        `applicationName` - name of the application
      Returns:
        application directory

    - #### getRelativeApplicationDataDir

          public String getRelativeApplicationDataDir​(String applicationName)

      Description copied from interface: `Platform`
      Get the directory relative to getApplicationDataDir() for the specified application.
      Specified by:
        `getRelativeApplicationDataDir` in interface `Platform`
      Parameters:
        `applicationName` - the name of the application
      Returns:
        the directory relative to getApplicationDataDir() for the specified application

    - #### getRelativeApplicationDataDir

          public String getRelativeApplicationDataDir​(String applicationName,
                                                      boolean caseSensitive,
                                                      boolean replaceWhitespace,
                                                      boolean replaceColon)

      Get the relative name of the application directory
      Parameters:
        `applicationName` - name of the application
        `caseSensitive` - true when case-sensitive
        `replaceWhitespace` - true when whitespace is to be replaced
        `replaceColon` - true when colon needs to be replaced
      Returns:
        name of the application directory