Package com.dtolabs.rundeck.core.plugins
Class DirPluginScanner
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.DirPluginScanner
-
- All Implemented Interfaces:
PluginDirChangeEventListener
,PluginScanner
,FileCache.ItemCreator<ProviderLoader>
- Direct Known Subclasses:
JarPluginScanner
,ScriptPluginScanner
public abstract class DirPluginScanner extends java.lang.Object implements PluginScanner, PluginDirChangeEventListener
DirPluginScanner will scan all files in a directory matching a filter for valid plugins.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DirPluginScanner(PluginDirProvider pluginDirProvider, FileCache<ProviderLoader> filecache)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.io.FileFilter
getFileFilter()
Return the file filterprotected abstract java.lang.String
getVersionForFile(java.io.File file)
Return the version string for the plugin file, or nullboolean
isExpired(ProviderIdent ident, java.io.File file)
Return true if the entry has expiredabstract boolean
isValidPluginFile(java.io.File file)
Return true if the file is a valid plugin file for the scannerjava.util.List<ProviderIdent>
listProviders()
List available providersvoid
onDirChangeEvent(PluginDirChangeEvent event)
java.io.File
scanForFile(ProviderIdent ident)
scan for matching file for the provider def-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.dtolabs.rundeck.core.utils.cache.FileCache.ItemCreator
createCacheItemForFile
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.PluginScanner
createLoader
-
-
-
-
Constructor Detail
-
DirPluginScanner
protected DirPluginScanner(PluginDirProvider pluginDirProvider, FileCache<ProviderLoader> filecache)
-
-
Method Detail
-
onDirChangeEvent
public void onDirChangeEvent(PluginDirChangeEvent event)
- Specified by:
onDirChangeEvent
in interfacePluginDirChangeEventListener
-
isValidPluginFile
public abstract boolean isValidPluginFile(java.io.File file)
Return true if the file is a valid plugin file for the scanner
-
getFileFilter
public abstract java.io.FileFilter getFileFilter()
Return the file filter
-
getVersionForFile
protected abstract java.lang.String getVersionForFile(java.io.File file)
Return the version string for the plugin file, or null
-
scanForFile
public final java.io.File scanForFile(ProviderIdent ident) throws com.dtolabs.rundeck.core.plugins.PluginScannerException
scan for matching file for the provider def- Specified by:
scanForFile
in interfacePluginScanner
- Throws:
com.dtolabs.rundeck.core.plugins.PluginScannerException
-
listProviders
public java.util.List<ProviderIdent> listProviders()
Description copied from interface:PluginScanner
List available providers- Specified by:
listProviders
in interfacePluginScanner
-
isExpired
public boolean isExpired(ProviderIdent ident, java.io.File file)
Return true if the entry has expired- Specified by:
isExpired
in interfacePluginScanner
-
-