Package io.flutter.embedding.engine.plugins

# Interface PluginRegistry

public interface PluginRegistry

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(FlutterPlugin plugin)`
  Attaches the given `plugin` to the `FlutterEngine` associated with this `PluginRegistry`.
  `void`
  `add(Set<FlutterPlugin> plugins)`
  Attaches the given `plugins` to the `FlutterEngine` associated with this `PluginRegistry`.
  `FlutterPlugin`
  `get(Class<? extends FlutterPlugin> pluginClass)`
  Returns the instance of a plugin that is currently attached to the `FlutterEngine` associated with this `PluginRegistry`, which matches the given `pluginClass`.
  `boolean`
  `has(Class<? extends FlutterPlugin> pluginClass)`
  Returns true if a plugin of the given type is currently attached to the `FlutterEngine` associated with this `PluginRegistry`.
  `void`
  `remove(Class<? extends FlutterPlugin> pluginClass)`
  Detaches the plugin of the given type from the `FlutterEngine` associated with this `PluginRegistry`.
  `void`
  `remove(Set<Class<? extends FlutterPlugin>> plugins)`
  Detaches the plugins of the given types from the `FlutterEngine` associated with this `PluginRegistry`.
  `void`
  `removeAll()`
  Detaches all plugins that are currently attached to the `FlutterEngine` associated with this `PluginRegistry`.

- ## Method Details

  - ### add

    void add(@NonNull FlutterPlugin plugin)
    Attaches the given `plugin` to the `FlutterEngine` associated with this `PluginRegistry`.

  - ### add

    void add(@NonNull Set<FlutterPlugin> plugins)
    Attaches the given `plugins` to the `FlutterEngine` associated with this `PluginRegistry`.

  - ### has

    boolean has(@NonNull Class<? extends FlutterPlugin> pluginClass)
    Returns true if a plugin of the given type is currently attached to the `FlutterEngine` associated with this `PluginRegistry`.

  - ### get

    @Nullable FlutterPlugin get(@NonNull Class<? extends FlutterPlugin> pluginClass)
    Returns the instance of a plugin that is currently attached to the `FlutterEngine` associated with this `PluginRegistry`, which matches the given `pluginClass`.

    If no matching plugin is found, `null` is returned.

  - ### remove

    void remove(@NonNull Class<? extends FlutterPlugin> pluginClass)
    Detaches the plugin of the given type from the `FlutterEngine` associated with this `PluginRegistry`.

    If no such plugin exists, this method does nothing.

  - ### remove

    void remove(@NonNull Set<Class<? extends FlutterPlugin>> plugins)
    Detaches the plugins of the given types from the `FlutterEngine` associated with this `PluginRegistry`.

    If no such plugins exist, this method does nothing.

  - ### removeAll

    void removeAll()
    Detaches all plugins that are currently attached to the `FlutterEngine` associated with this `PluginRegistry`.

    If no plugins are currently attached, this method does nothing.