Package org.eclipse.pde.ui.templates

## Class PluginReference

- java.lang.Object
- - org.eclipse.pde.ui.templates.PluginReference

All Implemented Interfaces:
  `IIdentifiable`, `IMatchRules`, `IPluginReference`

    public class PluginReference
    extends Object
    implements IPluginReference

Implementation of the IPluginReference

This class may be instantiated. This class is not intended to be sub-classed by clients.

Since:
  3.4
See Also:
  `IPluginReference`
Restriction:
  This class is not intended to be sub-classed by clients.

### Field Summary

### Fields inherited from interface org.eclipse.pde.core.IIdentifiable

`P_ID`

### Fields inherited from interface org.eclipse.pde.core.plugin.IMatchRules

`COMPATIBLE, EQUIVALENT, GREATER_OR_EQUAL, NONE, PERFECT, PREFIX, RULE_COMPATIBLE, RULE_EQUIVALENT, RULE_GREATER_OR_EQUAL, RULE_NAME_TABLE, RULE_PERFECT, RULE_PREFIX`

### Fields inherited from interface org.eclipse.pde.core.plugin.IPluginReference

`P_MATCH, P_VERSION`

### Constructor Summary

Constructors
`PluginReference​(String id)` Constructs a plug-in reference to be used in the PDE template framework
`PluginReference​(String id, String version, int match)` Constructs a plug-in reference to be used in the PDE template framework

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(Object object)`
`String` `getId()` Returns a unique id of this object.
`int` `getMatch()` Returns the required match for the imported plug-in.
`String` `getVersion()` Returns the required version of the plug-in.
`int` `hashCode()`
`void` `setId​(String id)` Sets the id of this IIdentifiable to the provided value.
`void` `setMatch​(int match)` Sets the match type for the require plug-in.
`void` `setVersion​(String version)` Sets the desired version of the required plug-in.

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

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

### Constructor Detail

#### PluginReference

    public PluginReference​(String id)

Constructs a plug-in reference to be used in the PDE template framework

Parameters:
  `id` - the id of the plug-in
Since:
  3.9
See Also:
  `PluginReference(String id, String version, int match)`

#### PluginReference

    public PluginReference​(String id,
                           String version,
                           int match)

Constructs a plug-in reference to be used in the PDE template framework

Parameters:
  `id` - the id of the plug-in
  `version` - the version of the plug-in
  `match` - the match rule for the plug-in `IMatchRules`

### Method Detail

#### equals

    public boolean equals​(Object object)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### getMatch

    public int getMatch()

Description copied from interface: `IPluginReference`
Returns the required match for the imported plug-in. The choices are defined in IMatchRules interface.

Specified by:
  `getMatch` in interface `IPluginReference`
Returns:
  the desired type of the import plug-in match
See Also:
  `IMatchRules`

#### getVersion

    public String getVersion()

Description copied from interface: `IPluginReference`
Returns the required version of the plug-in.

Specified by:
  `getVersion` in interface `IPluginReference`
Returns:
  required version or `null` if not set

#### setMatch

    public void setMatch​(int match)
                  throws CoreException

Description copied from interface: `IPluginReference`
Sets the match type for the require plug-in. This method will throw a CoreException if the model is not editable.

Specified by:
  `setMatch` in interface `IPluginReference`
Parameters:
  `match` - the desired match type
Throws:
  `CoreException` - if the model is not editable
See Also:
  `IMatchRules`

#### setVersion

    public void setVersion​(String version)
                    throws CoreException

Description copied from interface: `IPluginReference`
Sets the desired version of the required plug-in. This method will throw a CoreException if the model is not editable.

Specified by:
  `setVersion` in interface `IPluginReference`
Parameters:
  `version` - the required import plug-in version
Throws:
  `CoreException` - if the model is not editable

#### getId

    public String getId()

Description copied from interface: `IIdentifiable`
Returns a unique id of this object.

Specified by:
  `getId` in interface `IIdentifiable`
Returns:
  the id of this object

#### setId

    public void setId​(String id)
               throws CoreException

Description copied from interface: `IIdentifiable`
Sets the id of this IIdentifiable to the provided value.

Specified by:
  `setId` in interface `IIdentifiable`
Parameters:
  `id` - a new id of this object
Throws:
  `CoreException` - If object is not editable.