|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.rhq.core.pluginapi.inventory.ResourceContext<T>
T
- the parent resource component type for this component. This means you can nest a hierarchy of resource
components that mimic the resource type hierarchy as defined in a plugin deployment descriptor.public class ResourceContext<T extends ResourceComponent<?>>
The context object that ResourceComponent
objects will have access - it will have all the information that
the resource components needs during their lifetime.
This context class is currently designed to be an immutable object. Instances of this context object are to be created by the plugin container only.
Constructor Summary | |
---|---|
ResourceContext(Resource resource,
T parentResourceComponent,
ResourceDiscoveryComponent<T> resourceDiscoveryComponent,
SystemInfo systemInfo,
File temporaryDirectory,
File dataDirectory,
String pluginContainerName,
EventContext eventContext,
OperationContext operationContext,
ContentContext contentContext,
Executor availCollectorThreadPool,
PluginContainerDeployment pluginContainerDeployment)
Creates a new ResourceContext object. |
Method Summary | |
---|---|
AvailabilityCollectorRunnable |
createAvailabilityCollectorRunnable(AvailabilityFacet availChecker,
long interval)
Under certain circumstances, a resource component may want to perform asynchronous availability checks, as opposed to AvailabilityFacet.getAvailability() blocking waiting for the managed resource to return
its availability status. |
ContentContext |
getContentContext()
Returns a ContentContext that allows the plugin to access the content functionality provided by the
plugin container. |
File |
getDataDirectory()
Directory where plugins can store persisted data that survives plugin container restarts. |
EventContext |
getEventContext()
Returns an EventContext , if the resource supports one or more types of
Event s, or null otherwise. |
ProcessInfo |
getNativeProcess()
Returns the information on the native operating system process in which the managed resource is running. |
List<ProcessScanResult> |
getNativeProcessesForType()
Scans the current list of running processes and returns information on all processes that may contain resources of the same type as this resource . |
OperationContext |
getOperationContext()
Returns an OperationContext that allows the plugin to access the operation functionality provided by the
plugin container. |
T |
getParentResourceComponent()
The parent of the resource component that is associated with this context. |
Configuration |
getPluginConfiguration()
Returns the resource's plugin configuration. |
PluginContainerDeployment |
getPluginContainerDeployment()
Indicates where the plugin container (and therefore where the plugins) are deployed and running. |
String |
getPluginContainerName()
The name of the plugin container in which the resource component is running. |
String |
getResourceKey()
The resource key of the resource this context is associated with. |
ResourceType |
getResourceType()
The resource type of the resource this context is associated with. |
SystemInfo |
getSystemInformation()
Returns a SystemInfo object that contains information about the platform/operating system that the
resource is running on. |
File |
getTemporaryDirectory()
A temporary directory for plugin use that is destroyed at plugin container shutdown. |
String |
getVersion()
The version of the resource this context is associated with. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ResourceContext(Resource resource, T parentResourceComponent, ResourceDiscoveryComponent<T> resourceDiscoveryComponent, SystemInfo systemInfo, File temporaryDirectory, File dataDirectory, String pluginContainerName, EventContext eventContext, OperationContext operationContext, ContentContext contentContext, Executor availCollectorThreadPool, PluginContainerDeployment pluginContainerDeployment)
ResourceContext
object. The plugin container is responsible for instantiating these
objects; plugin writers should never have to actually create context objects.
resource
- the resource whose ResourceComponent
will be given this context object of the pluginparentResourceComponent
- the parent component of the context's associated resource componentresourceDiscoveryComponent
- the discovery component that can be used to detect other resources of the same
type as this resource (may be null
)systemInfo
- information about the system on which the plugin and its plugin container are
runningtemporaryDirectory
- a temporary directory for plugin use that is destroyed at plugin container shutdowndataDirectory
- a directory where plugins can store persisted data that survives plugin container restartspluginContainerName
- the name of the plugin container in which the discovery component is running.
Components can be assured this name is unique across all plugin
containers/agents running in the RHQ environment.eventContext
- an EventContext
, if the resource supports one or more types of
Event
s, or null
otherwiseoperationContext
- an OperationContext
the plugin can use to interoperate with the
operation managercontentContext
- a ContentContext
the plugin can use to interoperate with the content
manageravailCollectorThreadPool
- a thread pool that can be used by the plugin component should it wish
or need to perform asynchronous availability checking. See the javadoc on
AvailabilityCollectorRunnable
for more information on this.pluginContainerDeployment
- indicates where the plugin container is runningMethod Detail |
---|
public String getResourceKey()
resource key
of the resource this context is associated with. This resource
key is unique across all of the resource's siblings. That is to say, this resource key is unique among all
children of the parent
.
public ResourceType getResourceType()
resource type
of the resource this context is associated with.
public String getVersion()
version
of the resource this context is associated with.
public T getParentResourceComponent()
public SystemInfo getSystemInformation()
SystemInfo
object that contains information about the platform/operating system that the
resource is running on. With this object, you can natively obtain things such as the operating system name, its
hostname,and other things. Please refer to the javadoc on SystemInfo
for more details on the types of
information you can access.
public Configuration getPluginConfiguration()
public ProcessInfo getNativeProcess()
null
.
public List<ProcessScanResult> getNativeProcessesForType()
same type as this resource
. More specifically, this method will scan all the
processes and try to match them up with the PIQL queries
associated with
this resource's type.
ResourceType.getProcessScans()
public File getTemporaryDirectory()
File.createTempFile(String, String, File)
API when writing to
this directory.
public File getDataDirectory()
public String getPluginContainerName()
public PluginContainerDeployment getPluginContainerDeployment()
PluginContainerDeployment
for more information on what the return value means.
public EventContext getEventContext()
EventContext
, if the resource supports one or more types of
Event
s, or null
otherwise.
EventContext
, if the resource supports one or more types of
Event
s, or null
otherwisepublic OperationContext getOperationContext()
OperationContext
that allows the plugin to access the operation functionality provided by the
plugin container.
public ContentContext getContentContext()
ContentContext
that allows the plugin to access the content functionality provided by the
plugin container.
public AvailabilityCollectorRunnable createAvailabilityCollectorRunnable(AvailabilityFacet availChecker, long interval)
AvailabilityFacet.getAvailability()
blocking waiting for the managed resource to return
its availability status. Using asynchronous availability checking frees the resource component from having
to guarantee that the managed resource will provide availability status in a timely fashion.
If the resource component needs to perform asynchronous availability checking, it should call this
method to create an instance of AvailabilityCollectorRunnable
inside the ResourceComponent.start(org.rhq.core.pluginapi.inventory.ResourceContext)
method.
It should then call the returned object's AvailabilityCollectorRunnable.start()
method within the same resource
component ResourceComponent.start(ResourceContext)
method. The resource component should call the
AvailabilityCollectorRunnable.stop()
method when the resource component
stops
. The resource component's AvailabilityFacet.getAvailability()
method
should simply return the value returned by AvailabilityCollectorRunnable.getLastKnownAvailability()
. This
method will be extremely fast since it simply returns the last availability that was retrieved by the
given availability checker. Only when the availability checker finishes checking for availability of the managed resource
(however long it takes to do so) will the last known availability state change.
For more information, read the javadoc in AvailabilityCollectorRunnable
.
availChecker
- the object that will perform the actual check of the managed resource's availabilityinterval
- the interval, in milliseconds, between availability checks. The minimum value allowed
for this parameter is AvailabilityCollectorRunnable.MIN_INTERVAL
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |