Package ghidra.framework.plugintool

# Class PluginsConfiguration

java.lang.Object
ghidra.framework.plugintool.PluginsConfiguration

Direct Known Subclasses:
  `DefaultPluginsConfiguration`

public abstract class PluginsConfiguration extends Object
This class maintains a collection of all plugin classes that are acceptable for a given tool type. Simple applications with only one plugin type can use the `DefaultPluginsConfiguration`. More complex tools can support a subset of the available plugins. Those tools should create custom subclasses for each tool type, that filter out plugins that are not appropriate for that tool type.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `PluginsConfiguration()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract boolean`
  `accepts(Class<? extends Plugin> pluginClass)`
  `List<PluginDescription>`
  `getManagedPluginDescriptions()`
  `Set<String>`
  `getPluginClassNames(org.jdom.Element element)`
  `PluginDescription`
  `getPluginDescription(String className)`
  `List<PluginDescription>`
  `getPluginDescriptions(PluginPackage pluginPackage)`
  `Set<String>`
  `getPluginNamesByCurrentPackage(List<String> classNames)`
  Used to convert an old style tool XML file by mapping the given class names to plugin packages and then adding all plugins in that package.
  `List<PluginPackage>`
  `getPluginPackages()`
  `List<PluginDescription>`
  `getUnstablePluginDescriptions()`
  `void`
  `savePluginsToXml(org.jdom.Element root, List<Plugin> plugins)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PluginsConfiguration

    protected PluginsConfiguration()

- ## Method Details

  - ### accepts

    protected abstract boolean accepts(Class<? extends Plugin> pluginClass)

  - ### getPluginDescription

    public PluginDescription getPluginDescription(String className)

  - ### savePluginsToXml

    public void savePluginsToXml(org.jdom.Element root, List<Plugin> plugins)

  - ### getPluginNamesByCurrentPackage

    public Set<String> getPluginNamesByCurrentPackage(List<String> classNames)
    Used to convert an old style tool XML file by mapping the given class names to plugin packages and then adding all plugins in that package. This has the effect of pulling in more plugin classes than were originally specified in the tool xml.
    Parameters:
      `classNames` - the list of classNames from the old XML file
    Returns:
      the adjusted set of plugin class names

  - ### getPluginClassNames

    public Set<String> getPluginClassNames(org.jdom.Element element)

  - ### getPluginPackages

    public List<PluginPackage> getPluginPackages()

  - ### getPluginDescriptions

    public List<PluginDescription> getPluginDescriptions(PluginPackage pluginPackage)

  - ### getUnstablePluginDescriptions

    public List<PluginDescription> getUnstablePluginDescriptions()

  - ### getManagedPluginDescriptions

    public List<PluginDescription> getManagedPluginDescriptions()