Class InProcessIsolationProvider

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

public final class InProcessIsolationProvider extends Object
In-process isolation provider for J7M-controlled policy capabilities.

The provider is thread-safe. It does not create an operating-system sandbox and does not intercept arbitrary JVM file, network, or environment APIs. It enforces decisions for requests routed through this provider and reports thread, CPU, and memory limits according to their advertised enforcement levels.

  • Constructor Summary

    Constructors
    Constructor
    Description
    InProcessIsolationProvider(org.j7m.middleware.api.isolation.IsolationProviderId id, IsolationConfig config)
    Creates an in-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

    • InProcessIsolationProvider

      public InProcessIsolationProvider(org.j7m.middleware.api.isolation.IsolationProviderId id, IsolationConfig config)
      Creates an in-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)
    • 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
    • close

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