IDependencyComponent
, com.zfabrik.states.ISystemState
, java.lang.Runnable
public class SystemStateResource extends Resource implements IDependencyComponent, java.lang.Runnable, com.zfabrik.states.ISystemState
ISystemState
.Constructor | Description |
---|---|
SystemStateResource(java.lang.String name) |
Modifier and Type | Method | Description |
---|---|---|
<T> T |
as(java.lang.Class<T> clz) |
Retrieve a typed representation of the resource.
|
void |
invalidate() |
This method gets called whenever a dependency resource has been invalidated or this resource needs
to be invalidated.
|
void |
prepare() |
Prepare for use.
|
void |
run() |
public <T> T as(java.lang.Class<T> clz)
com.zfabrik.resources.provider.Resource
public void run()
run
in interface java.lang.Runnable
public void prepare()
com.zfabrik.components.IDependencyComponent
prepare
in interface IDependencyComponent
public void invalidate() throws ResourceBusyException
com.zfabrik.resources.provider.Resource
This code should be executed in a life cycle code block of this resource instance, i.e. where dependencies are effectively managed, so that race conditions can be avoided.
State changing methods of a resource should always be synchronized (e.g. on this). This is
in particular true for cross-resource dependencies. In order to assure consistency under race conditions,
a dependent resource should first declare its dependency and then retrieve the resource implementation.
In case of failures, resources should clean up by calling handle().invalidate(true);
invalidate
in class Resource
ResourceBusyException