# Interface PluginId

@Incubating 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.
`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.

### getNamespace

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

### getName

String getName()
The plugin name without the namespace.

### 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