Class PluginDescriptor
- java.lang.Object
-
- com.tagtraum.core.app.PluginDescriptor
-
- Direct Known Subclasses:
RuntimePluginDescriptor
public class PluginDescriptor extends Object
Describes a plugin(-bundle/jar) and its requirements.- Author:
- Hendrik Schreiber
- See Also:
Plugin.getPluginDescriptor()
-
-
Constructor Summary
Constructors Constructor Description PluginDescriptor()
Empty default constructor.PluginDescriptor(String id, String name, String version, String minBeaTunesVersion, String maxBeaTunesVersion)
Convenience constructor for the most important properties.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getChangeNotes()
Plain text change/version notes for a plugin.String
getDescription()
Plugin description.String
getId()
Returns the unique id for this plugin.URI
getLargeIcon()
Relative or absolute path to a 128x128 (256x256, if you want the icon to look good on high resolution displays) icon representing the plugin.String
getLicenseName()
URL
getLicenseURL()
Version
getMaxBeaTunesVersion()
Maximum beaTunes version required to run this plugin.Version
getMinBeaTunesVersion()
Minimum beaTunes version required to run this plugin.String
getName()
Display name for a plugin.URI
getSmallIcon()
Relative or absolute path to a 32x32 (64x64, if you want the icon to look good on high resolution displays)icon representing the plugin.String
getVendorEmail()
URI
getVendorLogo()
String
getVendorName()
The plugin's vendor name, e.g.URL
getVendorURL()
Version
getVersion()
Version of the plugin.void
setChangeNotes(String changeNotes)
Set the change notes.void
setDescription(String description)
Description.void
setId(String id)
Sets the unique id.void
setLargeIcon(URI largeIcon)
void
setLicenseName(String licenseName)
void
setLicenseURL(URL licenseURL)
void
setMaxBeaTunesVersion(Version maxBeaTunesVersion)
Sets the maximum beaTunes version still supported by this plugin.void
setMinBeaTunesVersion(Version minBeaTunesVersion)
Sets the minimum beaTunes version required to run this plugin.void
setName(String name)
Sets display name for a plugin.void
setSmallIcon(URI smallIcon)
void
setVendorEmail(String vendorEmail)
void
setVendorLogo(URI vendorLogo)
void
setVendorName(String vendorName)
void
setVendorURL(URL vendorURL)
void
setVersion(Version version)
Sets the version of this pluginString
toString()
-
-
-
Constructor Detail
-
PluginDescriptor
public PluginDescriptor()
Empty default constructor.
-
PluginDescriptor
public PluginDescriptor(String id, String name, String version, String minBeaTunesVersion, String maxBeaTunesVersion)
Convenience constructor for the most important properties.- Parameters:
id
- identifiername
- display name of the pluginversion
- version of the pluginminBeaTunesVersion
- min (incl.) version of beaTunes required for the plugin to workmaxBeaTunesVersion
- max (incl.) version of beaTunes required for the plugin to work
-
-
Method Detail
-
getName
public String getName()
Display name for a plugin.- Returns:
- display name
-
setName
public void setName(String name)
Sets display name for a plugin.- Parameters:
name
- display name
-
getId
public String getId()
Returns the unique id for this plugin. Note that this id is used when trying to decide whether a newer version of the same plugin is available. As a consequence the same plugin must re-use the same id.- Returns:
- id
-
setId
public void setId(String id)
Sets the unique id. It is recommended to use reverse DNS style namespace prefixes, i.e.com.tagtraum.YOUR_ID
.- Parameters:
id
- plugin (bundle) id
-
getDescription
public String getDescription()
Plugin description.- Returns:
- description
-
setDescription
public void setDescription(String description)
Description.- Parameters:
description
- description
-
getSmallIcon
public URI getSmallIcon()
Relative or absolute path to a 32x32 (64x64, if you want the icon to look good on high resolution displays)icon representing the plugin. Relative paths are resolved in the plugin's jar, absolute paths may also specify a protocol like HTTP or FILE.
Relative example:
new URI("/com/tagtraum/beatunes/beaTunes_32.png")
will be resolved to the packagecom.tagtraum.beatunes
in the plugin's JAR. The filebeaTunes_32.png
will be loaded from that package.Absolute example:
new URI("https://www.beatunes.com/images/beaTunes_32.png")
will be resolved to the online resource at that address. Obviously one needs to be online to load this icon.- Returns:
- a small (32x32/64x64 pixels) icon URI
-
setSmallIcon
public void setSmallIcon(URI smallIcon)
- Parameters:
smallIcon
- 32x32 pixels icon URI- See Also:
getSmallIcon()
-
getLargeIcon
public URI getLargeIcon()
Relative or absolute path to a 128x128 (256x256, if you want the icon to look good on high resolution displays) icon representing the plugin. Relative paths are resolved in the plugin's jar, absolute paths may also specify a protocol like HTTP or FILE.
Relative example:
new URI("/com/tagtraum/beatunes/beaTunes_128.png")
will be resolved to the packagecom.tagtraum.beatunes
in the plugin's JAR. The filebeaTunes_32.png
will be loaded from that package.Absolute example:
new URI("https://www.beatunes.com/images/beaTunes_128.png")
will be resolved to the online resource at that address. Obviously one needs to be online to load this icon.- Returns:
- a large (128x128/256x256 pixels) icon URI
-
setLargeIcon
public void setLargeIcon(URI largeIcon)
- Parameters:
largeIcon
- large, 128x128 pixels, icon URI- See Also:
getLargeIcon()
-
getChangeNotes
public String getChangeNotes()
Plain text change/version notes for a plugin.- Returns:
- notes
-
setChangeNotes
public void setChangeNotes(String changeNotes)
Set the change notes.- Parameters:
changeNotes
- plain text notes, may contain newline ("\n") characters.
-
getVendorName
public String getVendorName()
The plugin's vendor name, e.g. "tagtraum industries".- Returns:
- vendor name
-
setVendorName
public void setVendorName(String vendorName)
- Parameters:
vendorName
- vendor name- See Also:
getVendorName()
-
getVendorURL
public URL getVendorURL()
-
setVendorURL
public void setVendorURL(URL vendorURL)
-
getVendorEmail
public String getVendorEmail()
-
setVendorEmail
public void setVendorEmail(String vendorEmail)
-
getVendorLogo
public URI getVendorLogo()
-
setVendorLogo
public void setVendorLogo(URI vendorLogo)
-
getVersion
public Version getVersion()
Version of the plugin.- Returns:
- version
-
setVersion
public void setVersion(Version version)
Sets the version of this plugin- Parameters:
version
- version
-
getMinBeaTunesVersion
public Version getMinBeaTunesVersion()
Minimum beaTunes version required to run this plugin.- Returns:
- min beaTunes version
-
setMinBeaTunesVersion
public void setMinBeaTunesVersion(Version minBeaTunesVersion)
Sets the minimum beaTunes version required to run this plugin.- Parameters:
minBeaTunesVersion
- min version
-
getMaxBeaTunesVersion
public Version getMaxBeaTunesVersion()
Maximum beaTunes version required to run this plugin.- Returns:
- max version
-
setMaxBeaTunesVersion
public void setMaxBeaTunesVersion(Version maxBeaTunesVersion)
Sets the maximum beaTunes version still supported by this plugin. This should be set to a reasonable value, e.g. if the min version is 3.0.0, the max version should be set to 3.9.9, assuming the API stays stable of the course of the major version 3 release of beaTunes.- Parameters:
maxBeaTunesVersion
- max beaTunes version
-
getLicenseName
public String getLicenseName()
-
setLicenseName
public void setLicenseName(String licenseName)
-
getLicenseURL
public URL getLicenseURL()
-
setLicenseURL
public void setLicenseURL(URL licenseURL)
-
-