Class AbstractManagedPendingService.SafeOwnedService
java.lang.Object
ru.progrm_jarvis.javacommons.service.AbstractManagedPendingService.SafeOwnedService
- All Implemented Interfaces:
AutoCloseable,PendingService.OwnedService<S,R>
- Enclosing class:
- AbstractManagedPendingService<O,
S, R>
protected class AbstractManagedPendingService.SafeOwnedService
extends Object
implements PendingService.OwnedService<S,R>
Safe
owned service guaranteeing no undefined behaviour due to illegal state.-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSafeOwnedService(O owner, S service) Creates a new safe owned service. -
Method Summary
-
Field Details
-
owner
Owner of this service -
service
Actual owned service -
closed
Flag indicating whether this service can no longer be used.
-
-
Constructor Details
-
SafeOwnedService
Creates a new safe owned service.- Parameters:
owner- owner of this serviceservice- actual owned service
-
-
Method Details
-
failOnClosed
protected void failOnClosed()Triggers the failure due to this service being closed.- Throws:
IllegalStateException- always
-
service
Description copied from interface:PendingService.OwnedServiceService accessible until this instance gets closed.- Specified by:
servicein interfacePendingService.OwnedService<S,R> - Returns:
- actual owned service
-
onceReady
Description copied from interface:PendingService.OwnedServiceSpecifies a callback to be called once the service's pending has ended (the service became ready).- Specified by:
onceReadyin interfacePendingService.OwnedService<S,R> - Parameters:
serviceCallback- callback to be called when the service becomes ready
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacePendingService.OwnedService<S,R>
-