# Interface PluginId

public interface PluginId
A description of a plugin.

Since:
  3.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getId()`
  The fully qualified plugin ID.
  `String`
  `getName()`
  The plugin name without the namespace.
  `@Nullable String`
  `getNamespace()`
  The namespace of the plugin or `null` if the ID contains no `.`.
  `PluginId`
  `withNamespace(String namespace)`
  Takes this unqualified plugin ID and adds a namespace.

- ## Method Details

  - ### getId

    String getId()
    The fully qualified plugin ID.
    Since:
      3.5

  - ### getNamespace

    @Nullable String getNamespace()
    The namespace of the plugin or `null` if the ID contains no `.`.
    Since:
      3.5

  - ### getName

    String getName()
    The plugin name without the namespace.
    Since:
      3.5

  - ### withNamespace

    PluginId withNamespace(String namespace)
    Takes this unqualified plugin ID and adds a namespace.
    Parameters:
      `namespace` - the namespace to add.
    Returns:
      the plugin ID qualified with the given namespace
    Throws:
      `IllegalArgumentException` - if the ID already had a namespace
    Since:
      3.5