All Downloads are FREE. Search and download functionalities are using the official Maven repository.

widebase.util.SysProps.scala Maven / Gradle / Ivy

The newest version!
package widebase.util

import java.nio.charset.Charset

import vario.filter. { ByteOrder, CompressionLevel, StreamFilter }

/** System properties.
 *
 * @author myst3r10n
 */
object SysProps {

  import vario.filter.ByteOrder.ByteOrder
  import vario.filter.StreamFilter.StreamFilter

  /** Get system property of [[java.lang.String]].
   *
   * @param key of property
   * @param default property
   *
   * @return system property or default value
   */
  def get(key: String, default: String) = System.getProperty(key, default)

  /** Get system property of [[scala.Int]].
   *
   * @param key of property
   * @param default property
   *
   * @return system property or default value
   */
  def getInt(key: String, default: Int): Int = {

    val property = Integer.getInteger(key)

    if(property == null)
      return default

    property

  }

  /** Get system property of [[java.nio.charset.Charset]].
   *
   * @param key of property
   * @param default property
   *
   * @return system property or default value
   */
  def getCharset(key: String, default: Charset): Charset = {

    val property = System.getProperty(key)

    if(property == null)
      return default

    Charset.forName(property)

  }

  /** Get system property of [[vario.filter.StreamFilter]].
   *
   * @param key of property
   * @param default property
   *
   * @return system property or default value
   */
  def getFilter(key: String, default: StreamFilter): StreamFilter = {

    val property = System.getProperty(key)

    if(property == null)
      return default

    StreamFilter.withName(property)

  }

  /** Get system property of [[vario.filter.CompressionLevel]].
   *
   * @param key of property
   * @param default property
   *
   * @return system property or default value
   */
  def getLevel(key: String, default: Int): Int = {

    val property = Integer.getInteger(key)

    if(property == null)
      return default

    property

  }

  /** Get system property of [[vario.filter.ByteOrder]].
   *
   * @param key of property
   * @param default property
   *
   * @return system property or default value
   */
  def getOrder(key: String, default: ByteOrder = ByteOrder.Native): ByteOrder = {

    val property = System.getProperty(key)

    if(property == null)
      return default

    ByteOrder.withName(property)

  }

  /** Set system property of [[java.lang.String]].
   *
   * @param key of property
   * @param value of property
   */
  def set(key: String, value: String) {

    System.setProperty(key, value)

  }

  /** Set system property of [[scala.Int]].
   *
   * @param key of property
   * @param value of property
   */
  def setInt(key: String, value: Int) {

    System.setProperty(key, value.toString)

  }

  /** Set system property of [[java.nio.charset.Charset]].
   *
   * @param key of property
   * @param value of property
   */
  def setCharset(key: String, value: Charset) {

    System.setProperty(key, value.displayName)

  }

  /** Set system property of [[vario.filter.StreamFilter]].
   *
   * @param key of property
   * @param value of property
   */
  def setFilter(key: String, value: StreamFilter) {

    System.setProperty(key, value.toString)

  }

  /** Set system property of [[vario.filter.CompressionLevel]].
   *
   * @param key of property
   * @param value of property
   */
  def setLevel(key: String, value: Int) {

    System.setProperty(key, value.toString)

  }

  /** Set system property of [[vario.filter.ByteOrder]].
   *
   * @param key of property
   * @param value of property
   */
  def setOrder(key: String, value: ByteOrder) {

    System.setProperty(key, value.toString)

  }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy