org.crsh.plugin
Class PluginContext

java.lang.Object
  extended by org.crsh.plugin.PluginContext

public final class PluginContext
extends Object


Constructor Summary
PluginContext(ExecutorService executor, ScheduledExecutorService scanner, PluginDiscovery discovery, Map<String,Object> attributes, FS cmdFS, FS confFS, ClassLoader loader)
          Create a new plugin context.
PluginContext(PluginDiscovery discovery, Map<String,Object> attributes, FS cmdFS, FS confFS, ClassLoader loader)
          Create a new plugin context with preconfigured executor and scanner, this is equivalent to invoking:
 
Method Summary
 Map<String,Object> getAttributes()
           
 ExecutorService getExecutor()
           
 ClassLoader getLoader()
          Returns the classloader associated with this context.
<T> T
getPlugin(Class<T> pluginType)
          Returns the first plugin associated with this context implementing the specified type.
 Iterable<CRaSHPlugin<?>> getPlugins()
           
<T> Iterable<T>
getPlugins(Class<T> pluginType)
          Returns the plugins associated with this context.
<T> T
getProperty(PropertyDescriptor<T> desc)
          Returns a context property or null if it cannot be found.
 org.crsh.plugin.PropertyManager getPropertyManager()
           
 String getVersion()
           
 Iterable<String> listResources(ResourceKind kind)
          List the resources id for a specific resource kind.
 Resource loadResource(String resourceId, ResourceKind resourceKind)
          Load a resource from the context.
 Iterable<Resource> loadResources(String resourceId, ResourceKind resourceKind)
          Load a resource from the context.
 void refresh()
          Refresh the fs system view.
<T> void
setProperty(PropertyDescriptor<T> desc, String value)
          Set a context property to a new value.
<T> void
setProperty(PropertyDescriptor<T> desc, T value)
          Set a context property to a new value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginContext

public PluginContext(PluginDiscovery discovery,
                     Map<String,Object> attributes,
                     FS cmdFS,
                     FS confFS,
                     ClassLoader loader)
              throws NullPointerException
Create a new plugin context with preconfigured executor and scanner, this is equivalent to invoking:
new PluginContext(
    Executors.newFixedThreadPool(20),
    new ScheduledThreadPoolExecutor(1),
    discovery,
    attributes,
    cmdFS,
    confFS,
    loader);

Parameters:
discovery - the plugin discovery
cmdFS - the command file system
attributes - the attributes
confFS - the conf file system
loader - the loader
Throws:
NullPointerException - if any parameter argument is null

PluginContext

public PluginContext(ExecutorService executor,
                     ScheduledExecutorService scanner,
                     PluginDiscovery discovery,
                     Map<String,Object> attributes,
                     FS cmdFS,
                     FS confFS,
                     ClassLoader loader)
              throws NullPointerException
Create a new plugin context.

Parameters:
executor - the executor for executing asynchronous jobs
scanner - the background scanner for scanning commands
discovery - the plugin discovery
cmdFS - the command file system
attributes - the attributes
confFS - the conf file system
loader - the loader
Throws:
NullPointerException - if any parameter argument is null
Method Detail

getVersion

public String getVersion()

getAttributes

public Map<String,Object> getAttributes()

getExecutor

public ExecutorService getExecutor()

getPropertyManager

public org.crsh.plugin.PropertyManager getPropertyManager()
Returns:
the property manager

getProperty

public <T> T getProperty(PropertyDescriptor<T> desc)
              throws NullPointerException
Returns a context property or null if it cannot be found.

Type Parameters:
T - the property parameter type
Parameters:
desc - the property descriptor
Returns:
the property value
Throws:
NullPointerException - if the descriptor argument is null

setProperty

public <T> void setProperty(PropertyDescriptor<T> desc,
                            T value)
                 throws NullPointerException
Set a context property to a new value. If the provided value is null, then the property is removed.

Type Parameters:
T - the property parameter type
Parameters:
desc - the property descriptor
value - the property value
Throws:
NullPointerException - if the descriptor argument is null

setProperty

public <T> void setProperty(PropertyDescriptor<T> desc,
                            String value)
                 throws NullPointerException,
                        IllegalArgumentException
Set a context property to a new value. If the provided value is null, then the property is removed.

Type Parameters:
T - the property parameter type
Parameters:
desc - the property descriptor
value - the property value
Throws:
NullPointerException - if the descriptor argument is null
IllegalArgumentException - if the string value cannot be converted to the property type

loadResource

public Resource loadResource(String resourceId,
                             ResourceKind resourceKind)
Load a resource from the context.

Parameters:
resourceId - the resource id
resourceKind - the resource kind
Returns:
the resource or null if it cannot be found

loadResources

public Iterable<Resource> loadResources(String resourceId,
                                        ResourceKind resourceKind)
Load a resource from the context.

Parameters:
resourceId - the resource id
resourceKind - the resource kind
Returns:
the resource or null if it cannot be found

listResources

public Iterable<String> listResources(ResourceKind kind)
List the resources id for a specific resource kind.

Parameters:
kind - the resource kind
Returns:
the resource ids

getLoader

public ClassLoader getLoader()
Returns the classloader associated with this context.

Returns:
the class loader

getPlugins

public Iterable<CRaSHPlugin<?>> getPlugins()

getPlugins

public <T> Iterable<T> getPlugins(Class<T> pluginType)
Returns the plugins associated with this context.

Type Parameters:
T - the plugin generic type
Parameters:
pluginType - the plugin type
Returns:
the plugins

getPlugin

public <T> T getPlugin(Class<T> pluginType)
Returns the first plugin associated with this context implementing the specified type.

Type Parameters:
T - the plugin generic type
Parameters:
pluginType - the plugin type
Returns:
the plugins

refresh

public void refresh()
Refresh the fs system view. This is normally triggered by the periodic job but it can be manually invoked to trigger explicit refreshes.



Copyright © 2015 eXo Platform SAS. All Rights Reserved.