Class DefaultIsolationProvider
java.lang.Object
org.j7m.middleware.isolation.DefaultIsolationProvider
- All Implemented Interfaces:
AutoCloseable, org.j7m.middleware.api.isolation.IsolationProvider
Composite first-party isolation provider.
The provider delegates IsolationMode.IN_PROCESS_POLICY work to
InProcessIsolationProvider and IsolationMode.LOCAL_PROCESS
work to LocalProcessIsolationProvider. It is thread-safe and owns the
delegated providers for its lifecycle.
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultIsolationProvider(org.j7m.middleware.api.isolation.IsolationProviderId id, IsolationConfig config) Creates a composite provider. -
Method Summary
Modifier and TypeMethodDescriptionList<org.j7m.middleware.api.isolation.IsolationAuditEvent> voidclose()final org.j7m.middleware.api.isolation.IsolationPolicyDecisionevaluateEnvironment(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.EnvironmentPolicy policy, String name, String value) final org.j7m.middleware.api.isolation.IsolationPolicyDecisionevaluateFileSystem(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.IsolationPolicyDecisionevaluateNetworkEgress(org.j7m.middleware.api.isolation.IsolationSubject subject, org.j7m.middleware.api.isolation.NetworkEgressPolicy policy, URI destination) final org.j7m.middleware.api.isolation.IsolationHealthhealth()final org.j7m.middleware.api.isolation.IsolationProviderIdid()org.j7m.middleware.api.isolation.IsolationMetricsSnapshotmetrics()final org.j7m.middleware.api.isolation.IsolationRecoveryReportorg.j7m.middleware.api.isolation.IsolationExecutionHandlestart(org.j7m.middleware.api.isolation.IsolationExecutionRequest request) Set<org.j7m.middleware.api.isolation.IsolationMode> final org.j7m.middleware.api.isolation.IsolationProviderTypetype()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.j7m.middleware.api.isolation.IsolationProvider
execute
-
Constructor Details
-
DefaultIsolationProvider
public DefaultIsolationProvider(org.j7m.middleware.api.isolation.IsolationProviderId id, IsolationConfig config) Creates a composite provider.- Parameters:
id- provider identifierconfig- provider configuration
-
-
Method Details
-
supportedModes
- Specified by:
supportedModesin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
start
public org.j7m.middleware.api.isolation.IsolationExecutionHandle start(org.j7m.middleware.api.isolation.IsolationExecutionRequest request) -
auditEvents
- Specified by:
auditEventsin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
metrics
public org.j7m.middleware.api.isolation.IsolationMetricsSnapshot metrics()- Specified by:
metricsin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
id
public final org.j7m.middleware.api.isolation.IsolationProviderId id()- Specified by:
idin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
type
public final org.j7m.middleware.api.isolation.IsolationProviderType type()- Specified by:
typein interfaceorg.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:
evaluateFileSystemin interfaceorg.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:
evaluateNetworkEgressin interfaceorg.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:
evaluateEnvironmentin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
health
public final org.j7m.middleware.api.isolation.IsolationHealth health()- Specified by:
healthin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-
recoveryReport
public final org.j7m.middleware.api.isolation.IsolationRecoveryReport recoveryReport()- Specified by:
recoveryReportin interfaceorg.j7m.middleware.api.isolation.IsolationProvider
-