Class SystemStateResource
- java.lang.Object
-
- com.zfabrik.resources.provider.Resource
-
- com.zfabrik.impl.components.states.SystemStateResource
-
- All Implemented Interfaces:
com.zfabrik.components.IDependencyComponent
,com.zfabrik.states.ISystemState
,java.lang.Runnable
public class SystemStateResource extends com.zfabrik.resources.provider.Resource implements com.zfabrik.components.IDependencyComponent, java.lang.Runnable, com.zfabrik.states.ISystemState
SeeISystemState
.- Author:
- hb
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SystemStateResource.SystemStateMBean
JMX supportclass
SystemStateResource.SystemStateMBeanImpl
-
Constructor Summary
Constructors Constructor Description SystemStateResource(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods 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()
-
-
-
Method Detail
-
as
public <T> T as(java.lang.Class<T> clz)
Description copied from class:com.zfabrik.resources.provider.Resource
Retrieve a typed representation of the resource.- Overrides:
as
in classcom.zfabrik.resources.provider.Resource
- Parameters:
clz
- expected return type- Returns:
- the expected return type instance represented by the resource or
null
if the type facade is not supported.
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
prepare
public void prepare()
Description copied from interface:com.zfabrik.components.IDependencyComponent
Prepare for use.- Specified by:
prepare
in interfacecom.zfabrik.components.IDependencyComponent
-
invalidate
public void invalidate() throws com.zfabrik.resources.ResourceBusyException
Description copied from class:com.zfabrik.resources.provider.Resource
This method gets called whenever a dependency resource has been invalidated or this resource needs to be invalidated.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);
- Overrides:
invalidate
in classcom.zfabrik.resources.provider.Resource
- Throws:
com.zfabrik.resources.ResourceBusyException
-
-