Class LocalProcessIsolationProvider

java.lang.Object
org.j7m.middleware.isolation.LocalProcessIsolationProvider
All Implemented Interfaces:
AutoCloseable, org.j7m.middleware.api.isolation.IsolationProvider

public final class LocalProcessIsolationProvider extends Object
Local child-process isolation provider.

The provider is thread-safe and owns every child process it starts. It validates working-directory, command-line, environment, runtime, stdout, and stderr limits before and during execution. It does not provide a full operating-system sandbox, cgroups, namespaces, Docker, Kubernetes, or OCI runtime behavior.

  • Constructor Summary

    Constructors
    Constructor
    Description
    LocalProcessIsolationProvider(org.j7m.middleware.api.isolation.IsolationProviderId id, IsolationConfig config)
    Creates a local process provider.
  • Method Summary

    Modifier and Type
    Method
    Description
    List<org.j7m.middleware.api.isolation.IsolationAuditEvent>
     
    void
    final org.j7m.middleware.api.isolation.IsolationPolicyDecision
    evaluateEnvironment(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.EnvironmentPolicy policy, String name, String value)
     
    final org.j7m.middleware.api.isolation.IsolationPolicyDecision
    evaluateFileSystem(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.FileSystemPolicy policy, org.j7m.middleware.api.isolation.FileSystemAccess access, Path path)
     
    final org.j7m.middleware.api.isolation.IsolationPolicyDecision
    evaluateNetworkEgress(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.NetworkEgressPolicy policy, URI destination)
     
    final org.j7m.middleware.api.isolation.IsolationHealth
     
    final org.j7m.middleware.api.isolation.IsolationProviderId
    id()
     
    org.j7m.middleware.api.isolation.IsolationMetricsSnapshot
     
    final org.j7m.middleware.api.isolation.IsolationRecoveryReport
     
    org.j7m.middleware.api.isolation.IsolationExecutionHandle
    start(org.j7m.middleware.api.isolation.IsolationExecutionRequest request)
    Set<org.j7m.middleware.api.isolation.IsolationMode>
    final org.j7m.middleware.api.isolation.IsolationProviderType
     

    Methods inherited from class Object

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

    Methods inherited from interface org.j7m.middleware.api.isolation.IsolationProvider

    execute
  • Constructor Details

    • LocalProcessIsolationProvider

      public LocalProcessIsolationProvider(org.j7m.middleware.api.isolation.IsolationProviderId id, IsolationConfig config)
      Creates a local process provider.
      Parameters:
      id - provider identifier
      config - provider configuration
  • Method Details

    • supportedModes

      public Set<org.j7m.middleware.api.isolation.IsolationMode> supportedModes()
      Specified by:
      supportedModes in interface org.j7m.middleware.api.isolation.IsolationProvider
    • start

      public org.j7m.middleware.api.isolation.IsolationExecutionHandle start(org.j7m.middleware.api.isolation.IsolationExecutionRequest request)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.j7m.middleware.api.isolation.IsolationProvider
    • id

      public final org.j7m.middleware.api.isolation.IsolationProviderId id()
      Specified by:
      id in interface org.j7m.middleware.api.isolation.IsolationProvider
    • type

      public final org.j7m.middleware.api.isolation.IsolationProviderType type()
      Specified by:
      type in interface org.j7m.middleware.api.isolation.IsolationProvider
    • evaluateFileSystem

      public final org.j7m.middleware.api.isolation.IsolationPolicyDecision evaluateFileSystem(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.FileSystemPolicy policy, org.j7m.middleware.api.isolation.FileSystemAccess access, Path path)
      Specified by:
      evaluateFileSystem in interface org.j7m.middleware.api.isolation.IsolationProvider
    • evaluateNetworkEgress

      public final org.j7m.middleware.api.isolation.IsolationPolicyDecision evaluateNetworkEgress(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.NetworkEgressPolicy policy, URI destination)
      Specified by:
      evaluateNetworkEgress in interface org.j7m.middleware.api.isolation.IsolationProvider
    • evaluateEnvironment

      public final org.j7m.middleware.api.isolation.IsolationPolicyDecision evaluateEnvironment(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.EnvironmentPolicy policy, String name, String value)
      Specified by:
      evaluateEnvironment in interface org.j7m.middleware.api.isolation.IsolationProvider
    • metrics

      public org.j7m.middleware.api.isolation.IsolationMetricsSnapshot metrics()
      Specified by:
      metrics in interface org.j7m.middleware.api.isolation.IsolationProvider
    • health

      public final org.j7m.middleware.api.isolation.IsolationHealth health()
      Specified by:
      health in interface org.j7m.middleware.api.isolation.IsolationProvider
    • auditEvents

      public List<org.j7m.middleware.api.isolation.IsolationAuditEvent> auditEvents()
      Specified by:
      auditEvents in interface org.j7m.middleware.api.isolation.IsolationProvider
    • recoveryReport

      public final org.j7m.middleware.api.isolation.IsolationRecoveryReport recoveryReport()
      Specified by:
      recoveryReport in interface org.j7m.middleware.api.isolation.IsolationProvider