Record Class DevServerConfig

java.lang.Object
java.lang.Record
io.fluxzero.devserver.DevServerConfig
Record Components:
projectDirectory - Maven or Gradle project directory
mainClass - optional application main class override; auto-detected when omitted
applicationName - Fluxzero application/client name for the app process
namespace - optional Fluxzero namespace/project id
watch - whether source watching is enabled
compileOnStart - whether to compile and launch the app on startup
testsEnabled - whether background tests are enabled
startupTimeout - timeout for app readiness
gracefulShutdownTimeout - timeout for old app shutdown
debounce - debounce duration for source/test changes
frontend - optional frontend adapter configuration
appArgs - application arguments
fastCompilerEnabled - whether ordinary Java source changes may use the Maven-correct fast compiler
environment - Fluxzero application environment, for example local or dev
applications - optional reactor applications/modules to start; all discovered apps start when empty
gatewayPort - public frontend/backend gateway port; 0 allocates a free dynamic port
idpMode - managed local IDP or application-owned external IDP
applicationConfig - named per-application launch configurations loaded from project config
idleTimeout - inactivity timeout for the environment; zero disables it
profile - selected named development profile, or null for legacy configuration
frontends - routed frontend configurations, including the root frontend
projects - independently built projects sharing this environment
services - managed or external support services shared by the environment
backendEnabled - whether the local Fluxzero runtime, proxy and applications are started

public record DevServerConfig(Path projectDirectory, String mainClass, String applicationName, String namespace, boolean watch, boolean compileOnStart, boolean testsEnabled, Duration startupTimeout, Duration gracefulShutdownTimeout, Duration debounce, FrontendConfig frontend, List<String> appArgs, boolean fastCompilerEnabled, String environment, List<String> applications, int gatewayPort, IdpMode idpMode, Map<String, DevApplicationConfig> applicationConfig, Duration idleTimeout, String profile, List<io.fluxzero.devserver.RoutedFrontend> frontends, List<io.fluxzero.devserver.DevBuildProject> projects, Map<String, DevServiceConfig> services, boolean backendEnabled) extends Record
Configuration for the local Fluxzero dev server.
  • Field Details

    • DEFAULT_STARTUP_TIMEOUT

      public static final Duration DEFAULT_STARTUP_TIMEOUT
    • DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT

      public static final Duration DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT
    • DEFAULT_DEBOUNCE

      public static final Duration DEFAULT_DEBOUNCE
    • DEFAULT_IDLE_TIMEOUT

      public static final Duration DEFAULT_IDLE_TIMEOUT
  • Constructor Details

  • Method Details

    • defaults

      public static DevServerConfig defaults(Path projectDirectory)
    • fromArgs

      public static DevServerConfig fromArgs(String[] args)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • projectDirectory

      public Path projectDirectory()
      Returns the value of the projectDirectory record component.
      Returns:
      the value of the projectDirectory record component
    • mainClass

      public String mainClass()
      Returns the value of the mainClass record component.
      Returns:
      the value of the mainClass record component
    • applicationName

      public String applicationName()
      Returns the value of the applicationName record component.
      Returns:
      the value of the applicationName record component
    • namespace

      public String namespace()
      Returns the value of the namespace record component.
      Returns:
      the value of the namespace record component
    • watch

      public boolean watch()
      Returns the value of the watch record component.
      Returns:
      the value of the watch record component
    • compileOnStart

      public boolean compileOnStart()
      Returns the value of the compileOnStart record component.
      Returns:
      the value of the compileOnStart record component
    • testsEnabled

      public boolean testsEnabled()
      Returns the value of the testsEnabled record component.
      Returns:
      the value of the testsEnabled record component
    • startupTimeout

      public Duration startupTimeout()
      Returns the value of the startupTimeout record component.
      Returns:
      the value of the startupTimeout record component
    • gracefulShutdownTimeout

      public Duration gracefulShutdownTimeout()
      Returns the value of the gracefulShutdownTimeout record component.
      Returns:
      the value of the gracefulShutdownTimeout record component
    • debounce

      public Duration debounce()
      Returns the value of the debounce record component.
      Returns:
      the value of the debounce record component
    • frontend

      public FrontendConfig frontend()
      Returns the value of the frontend record component.
      Returns:
      the value of the frontend record component
    • appArgs

      public List<String> appArgs()
      Returns the value of the appArgs record component.
      Returns:
      the value of the appArgs record component
    • fastCompilerEnabled

      public boolean fastCompilerEnabled()
      Returns the value of the fastCompilerEnabled record component.
      Returns:
      the value of the fastCompilerEnabled record component
    • environment

      public String environment()
      Returns the value of the environment record component.
      Returns:
      the value of the environment record component
    • applications

      public List<String> applications()
      Returns the value of the applications record component.
      Returns:
      the value of the applications record component
    • gatewayPort

      public int gatewayPort()
      Returns the value of the gatewayPort record component.
      Returns:
      the value of the gatewayPort record component
    • idpMode

      public IdpMode idpMode()
      Returns the value of the idpMode record component.
      Returns:
      the value of the idpMode record component
    • applicationConfig

      public Map<String, DevApplicationConfig> applicationConfig()
      Returns the value of the applicationConfig record component.
      Returns:
      the value of the applicationConfig record component
    • idleTimeout

      public Duration idleTimeout()
      Returns the value of the idleTimeout record component.
      Returns:
      the value of the idleTimeout record component
    • profile

      public String profile()
      Returns the value of the profile record component.
      Returns:
      the value of the profile record component
    • frontends

      public List<io.fluxzero.devserver.RoutedFrontend> frontends()
      Returns the value of the frontends record component.
      Returns:
      the value of the frontends record component
    • projects

      public List<io.fluxzero.devserver.DevBuildProject> projects()
      Returns the value of the projects record component.
      Returns:
      the value of the projects record component
    • services

      public Map<String, DevServiceConfig> services()
      Returns the value of the services record component.
      Returns:
      the value of the services record component
    • backendEnabled

      public boolean backendEnabled()
      Returns the value of the backendEnabled record component.
      Returns:
      the value of the backendEnabled record component