ServiceConfiguration (install4j API)
Description: declaration: package: com.install4j.api.windows.service, class: ServiceConfiguration

# Class ServiceConfiguration

java.lang.Object
com.install4j.api.windows.service.ServiceConfiguration

All Implemented Interfaces:
  `Serializable`

public class ServiceConfiguration extends Object implements Serializable
The service configuration passed to `WinServices`. If you don't set a property, the original value will be preserved for existing services.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ServiceConfiguration()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ServiceConfiguration`
  `binaryName(String binaryName)`
  The path to the binary.
  `ServiceConfiguration`
  `delayedAutoStart(Boolean delayedAutoStart)`
  If startType is set to `AUTO`, you can specify with this property that the service is started with a short delay after all other auto-start services.
  `ServiceConfiguration`
  `dependencies(String dependencies)`
  A comma-separated list of dependencies
  `ServiceConfiguration`
  `description(String description)`
  An additional description for the service
  `ServiceConfiguration`
  `displayName(String displayName)`
  The display name.
  `Integer`
  `getMaxRestarts()`
  `Integer`
  `getResetSeconds()`
  `Integer`
  `getRestartMillis()`
  `ServiceConfiguration`
  `maxRestarts(int maxRestarts)`
  The maximum number of restarts when `restartOnFailure` is set to true.
  `ServiceConfiguration`
  `otherAccountName(String otherAccountName)`
  The service account name to be used.
  `ServiceConfiguration`
  `otherAccountPassword(String otherAccountPassword)`
  The service account password to be used.
  `ServiceConfiguration`
  `resetSeconds(int resetSeconds)`
  The time without failure in seconds after which to reset the restart counter configured with `maxRestarts`.
  `ServiceConfiguration`
  `restartMillis(int restartMillis)`
  The restart period when `restartOnFailure` is set to true.
  `ServiceConfiguration`
  `restartOnFailure(Boolean restartOnFailure)`
  If set to true, the service will be restarted after a period defined with `restartMillis` (defaults to one second) if it was terminated with an error
  `ServiceConfiguration`
  `serviceAccount(ServiceAccount serviceAccount)`
  The service account to be used.
  `ServiceConfiguration`
  `startType(ServiceStartType startType)`
  The start type

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### ServiceConfiguration

    public ServiceConfiguration()

- ## Method Details

  - ### binaryName

    public ServiceConfiguration binaryName(String binaryName)
    The path to the binary. This can be quoted and contain arguments
    Parameters:
      `binaryName` - the binary name
    Returns:
      this object

  - ### displayName

    public ServiceConfiguration displayName(String displayName)
    The display name. This is different from the service name which serves as identifier.
    Parameters:
      `displayName` - the display name
    Returns:
      this object

  - ### startType

    public ServiceConfiguration startType(ServiceStartType startType)
    The start type
    Parameters:
      `startType` - the start type
    Returns:
      this object

  - ### dependencies

    public ServiceConfiguration dependencies(String dependencies)
    A comma-separated list of dependencies
    Parameters:
      `dependencies` - the dependencies
    Returns:
      this object

  - ### description

    public ServiceConfiguration description(String description)
    An additional description for the service
    Parameters:
      `description` - the description
    Returns:
      this object

  - ### delayedAutoStart

    public ServiceConfiguration delayedAutoStart(Boolean delayedAutoStart)
    If startType is set to `AUTO`, you can specify with this property that the service is started with a short delay after all other auto-start services.
    Parameters:
      `delayedAutoStart` - `true` if the service start should be delayed
    Returns:
      this object

  - ### restartOnFailure

    public ServiceConfiguration restartOnFailure(Boolean restartOnFailure)
    If set to true, the service will be restarted after a period defined with `restartMillis` (defaults to one second) if it was terminated with an error
    Parameters:
      `restartOnFailure` - `true` if a restart should be performed
    Returns:
      this object

  - ### restartMillis

    public ServiceConfiguration restartMillis(int restartMillis)
    The restart period when `restartOnFailure` is set to true. Defaults to one second.
    Parameters:
      `restartMillis` - the restart period in milliseconds
    Returns:
      this object

  - ### maxRestarts

    public ServiceConfiguration maxRestarts(int maxRestarts)
    The maximum number of restarts when `restartOnFailure` is set to true. Defaults to 0, which means unlimited restarts. With `resetSeconds` you can define the period after which this counter will be reset. This should be a value between 0 and 2 to fit into the Windows service UI.
    Parameters:
      `maxRestarts` - the number of restarts to try
    Returns:
      this object

  - ### resetSeconds

    public ServiceConfiguration resetSeconds(int resetSeconds)
    The time without failure in seconds after which to reset the restart counter configured with `maxRestarts`. Defaults to 0.
    Parameters:
      `resetSeconds` - the time in seconds
    Returns:
      this object

  - ### serviceAccount

    public ServiceConfiguration serviceAccount(ServiceAccount serviceAccount)
    The service account to be used. Can be one of the predefined Windows accounts or `OTHER`. If it is `OTHER`, you have to specify otherAccountName and otherAccountPassword
    Parameters:
      `serviceAccount` - the account to be used
    Returns:
      this object

  - ### otherAccountName

    public ServiceConfiguration otherAccountName(String otherAccountName)
    The service account name to be used. The serviceAccount property will be set to `OTHER` when you call this method. The name must be in the form DomainName\UserName. If the account belongs to the built-in domain, you can specify .\UserName.
    Parameters:
      `otherAccountName` - the account name or SID
    Returns:
      this object

  - ### otherAccountPassword

    public ServiceConfiguration otherAccountPassword(String otherAccountPassword)
    The service account password to be used. The serviceAccount property will be set to `OTHER` when you call this method.
    Parameters:
      `otherAccountPassword` - the account password
    Returns:
      this object

  - ### getRestartMillis

    public Integer getRestartMillis()

  - ### getMaxRestarts

    public Integer getMaxRestarts()

  - ### getResetSeconds

    public Integer getResetSeconds()