# Class PluginDeclaration

java.lang.Object
org.gradle.plugin.devel.PluginDeclaration

All Implemented Interfaces:
  `Named`

public abstract class PluginDeclaration extends Object implements Named
Describes a Gradle plugin under development.

Since:
  2.14
See Also:
  - `JavaGradlePluginPlugin`

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PluginDeclaration(String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Returns the description for this plugin declaration.
  `String`
  `getDisplayName()`
  Returns the display name for this plugin declaration.
  `String`
  `getId()`
  `String`
  `getImplementationClass()`
  `String`
  `getName()`
  The object's name.
  `abstract SetProperty<String>`
  `getTags()`
  Returns the tags property for this plugin declaration.
  `void`
  `setDescription(String description)`
  Sets the description for this plugin declaration.
  `void`
  `setDisplayName(String displayName)`
  Sets the display name for this plugin declaration.
  `void`
  `setId(String id)`
  `void`
  `setImplementationClass(String implementationClass)`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### PluginDeclaration

    public PluginDeclaration(String name)

- ## Method Details

  - ### getName

    public String getName()
    Description copied from interface: `Named`
    The object's name.

    Must be constant for the life of the object.

    Specified by:
      `getName` in interface `Named`
    Returns:
      The name. Never null.

  - ### getId

    public String getId()

  - ### setId

    public void setId(String id)

  - ### getImplementationClass

    public String getImplementationClass()

  - ### setImplementationClass

    public void setImplementationClass(String implementationClass)

  - ### getDisplayName

    public String getDisplayName()
    Returns the display name for this plugin declaration.

    The display name is used when publishing this plugin to repositories that support human-readable artifact names.

    Since:
      4.10

  - ### setDisplayName

    public void setDisplayName(String displayName)
    Sets the display name for this plugin declaration.

    The display name is used when publishing this plugin to repositories that support human-readable artifact names.

    Since:
      4.10

  - ### getDescription

    public String getDescription()
    Returns the description for this plugin declaration.

    The description is used when publishing this plugin to repositories that support providing descriptions for artifacts.

    Since:
      4.10

  - ### setDescription

    public void setDescription(String description)
    Sets the description for this plugin declaration.

    The description is used when publishing this plugin to repositories that support providing descriptions for artifacts.

    Since:
      4.10

  - ### getTags

    public abstract SetProperty<String> getTags()
    Returns the tags property for this plugin declaration.

    Tags are used when publishing this plugin to repositories that support tagging plugins, for example the Gradle Plugin Portal.

    Since:
      7.6