org.ehcache.management.providers
Class CacheBindingManagementProviderSkeleton<V>

java.lang.Object
  extended by org.ehcache.management.providers.CacheBindingManagementProviderSkeleton<V>
All Implemented Interfaces:
ManagementProvider<CacheBinding>
Direct Known Subclasses:
EhcacheActionProvider, EhcacheStatisticsProvider

public abstract class CacheBindingManagementProviderSkeleton<V>
extends java.lang.Object
implements ManagementProvider<CacheBinding>


Field Summary
protected  java.util.concurrent.ConcurrentMap<CacheBinding,V> managedObjects
           
 
Constructor Summary
protected CacheBindingManagementProviderSkeleton(java.lang.String cacheManagerAlias)
           
 
Method Summary
<T> T
callAction(org.terracotta.management.context.Context context, java.lang.String methodName, java.lang.Class<T> returnType, org.terracotta.management.call.Parameter... parameters)
          Call an action, if the provider supports this.
 void close()
          Closes the management provider.
protected  void close(CacheBinding cacheBinding, V managed)
           
 java.util.Map<java.lang.String,org.terracotta.management.stats.Statistic<?,?>> collectStatistics(org.terracotta.management.context.Context context, java.util.Collection<java.lang.String> statisticNames, long since)
          Collect statistics, if the provider supports this.
protected abstract  org.terracotta.management.capabilities.Capability createCapability(java.lang.String name, org.terracotta.management.capabilities.context.CapabilityContext context, java.util.Collection<org.terracotta.management.capabilities.descriptors.Descriptor> descriptors)
           
protected abstract  V createManagedObject(CacheBinding cacheBinding)
           
protected  java.util.Map.Entry<CacheBinding,V> findManagedObject(org.terracotta.management.context.Context context)
           
 org.terracotta.management.capabilities.Capability getCapability()
           
 org.terracotta.management.capabilities.context.CapabilityContext getCapabilityContext()
          Get the context that the provided capabilities need to run.
 java.lang.String getCapabilityName()
           
 java.lang.Class<CacheBinding> managedType()
          The class of managed objects.
 void register(CacheBinding managedObject)
          Register an object for management in the current provider.
 boolean supports(org.terracotta.management.context.Context context)
          Check wheter this management provider supports the given context
 java.lang.String toString()
           
 void unregister(CacheBinding managedObject)
          Unregister a managed object from the current provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.ehcache.management.providers.ManagementProvider
getDescriptors
 

Field Detail

managedObjects

protected final java.util.concurrent.ConcurrentMap<CacheBinding,V> managedObjects
Constructor Detail

CacheBindingManagementProviderSkeleton

protected CacheBindingManagementProviderSkeleton(java.lang.String cacheManagerAlias)
Method Detail

managedType

public final java.lang.Class<CacheBinding> managedType()
Description copied from interface: ManagementProvider
The class of managed objects.

Specified by:
managedType in interface ManagementProvider<CacheBinding>
Returns:
a class.

register

public final void register(CacheBinding managedObject)
Description copied from interface: ManagementProvider
Register an object for management in the current provider.

Specified by:
register in interface ManagementProvider<CacheBinding>
Parameters:
managedObject - the object to manage.

unregister

public final void unregister(CacheBinding managedObject)
Description copied from interface: ManagementProvider
Unregister a managed object from the current provider.

Specified by:
unregister in interface ManagementProvider<CacheBinding>
Parameters:
managedObject - the managed object.

getCapabilityContext

public final org.terracotta.management.capabilities.context.CapabilityContext getCapabilityContext()
Description copied from interface: ManagementProvider
Get the context that the provided capabilities need to run.

Specified by:
getCapabilityContext in interface ManagementProvider<CacheBinding>
Returns:
the context requirements.

getCapabilityName

public final java.lang.String getCapabilityName()
Specified by:
getCapabilityName in interface ManagementProvider<CacheBinding>
Returns:
The name of this capability

getCapability

public final org.terracotta.management.capabilities.Capability getCapability()
Specified by:
getCapability in interface ManagementProvider<CacheBinding>
Returns:
The full capability of this management provider

supports

public final boolean supports(org.terracotta.management.context.Context context)
Description copied from interface: ManagementProvider
Check wheter this management provider supports the given context

Specified by:
supports in interface ManagementProvider<CacheBinding>
Parameters:
context - The management context, passed from the ManagementRegistry methods
Returns:
true if the context is supported by this management provider

close

public void close()
Description copied from interface: ManagementProvider
Closes the management provider. Called when cache manager is closing.

Specified by:
close in interface ManagementProvider<CacheBinding>

findManagedObject

protected final java.util.Map.Entry<CacheBinding,V> findManagedObject(org.terracotta.management.context.Context context)

collectStatistics

public java.util.Map<java.lang.String,org.terracotta.management.stats.Statistic<?,?>> collectStatistics(org.terracotta.management.context.Context context,
                                                                                                        java.util.Collection<java.lang.String> statisticNames,
                                                                                                        long since)
Description copied from interface: ManagementProvider
Collect statistics, if the provider supports this.

Specified by:
collectStatistics in interface ManagementProvider<CacheBinding>
Parameters:
context - the context.
statisticNames - the statistic names to collect.
since - The unix time in ms from where to return the statistics for statistics based on samples.
Returns:
the statistic map, the key being the statistic namesø.

callAction

public <T> T callAction(org.terracotta.management.context.Context context,
                        java.lang.String methodName,
                        java.lang.Class<T> returnType,
                        org.terracotta.management.call.Parameter... parameters)
Description copied from interface: ManagementProvider
Call an action, if the provider supports this.

Specified by:
callAction in interface ManagementProvider<CacheBinding>
Parameters:
context - the context.
methodName - the method name.
returnType - The expected return type
parameters - the action method's parameters (objects and class names)
Returns:
the action's return value.

createCapability

protected abstract org.terracotta.management.capabilities.Capability createCapability(java.lang.String name,
                                                                                      org.terracotta.management.capabilities.context.CapabilityContext context,
                                                                                      java.util.Collection<org.terracotta.management.capabilities.descriptors.Descriptor> descriptors)

close

protected void close(CacheBinding cacheBinding,
                     V managed)

createManagedObject

protected abstract V createManagedObject(CacheBinding cacheBinding)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object