Record Class IsolationConfig

java.lang.Object
java.lang.Record
org.j7m.middleware.isolation.IsolationConfig
Record Components:
providerDirectory - provider-owned temporary and recovery directory
clock - clock used for audit, timeout, and metrics timestamps
defaultBudget - default budget for requests that do not provide one
maxAuditEvents - maximum audit events retained in memory

public record IsolationConfig(Path providerDirectory, Clock clock, org.j7m.middleware.api.isolation.ResourceBudget defaultBudget, int maxAuditEvents) extends Record
Configuration for first-party isolation providers.

The configuration is immutable and thread-safe. It owns only local provider directories and default admission-control limits; it does not configure Docker, Kubernetes, OCI, or any external sandbox product.

  • Constructor Details

    • IsolationConfig

      public IsolationConfig(Path providerDirectory, Clock clock, org.j7m.middleware.api.isolation.ResourceBudget defaultBudget, int maxAuditEvents)
      Creates a validated isolation configuration.
  • Method Details

    • defaults

      public static IsolationConfig defaults(Path directory)
      Creates a default local configuration.
      Parameters:
      directory - provider root directory
      Returns:
      validated default configuration
    • 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.
    • providerDirectory

      public Path providerDirectory()
      Returns the value of the providerDirectory record component.
      Returns:
      the value of the providerDirectory record component
    • clock

      public Clock clock()
      Returns the value of the clock record component.
      Returns:
      the value of the clock record component
    • defaultBudget

      public org.j7m.middleware.api.isolation.ResourceBudget defaultBudget()
      Returns the value of the defaultBudget record component.
      Returns:
      the value of the defaultBudget record component
    • maxAuditEvents

      public int maxAuditEvents()
      Returns the value of the maxAuditEvents record component.
      Returns:
      the value of the maxAuditEvents record component