Class Manifest
- java.lang.Object
-
- de.willuhn.jameica.plugin.Manifest
-
- All Implemented Interfaces:
java.lang.Comparable
public class Manifest extends java.lang.Object implements java.lang.Comparable
Enthaelt die Manifest-Informationen des Plugins aus plugin.xml.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
canDeploy()
Prueft, ob das Plugin installiert werden kann.void
canDeploy(boolean checkDeps)
Prueft, ob das Plugin installiert werden kann.int
compareTo(java.lang.Object o)
Wir implementieren die Funktion, damit wir eine Liste von Manifesten nach Abhaengigkeit sortieren koennen.java.lang.String
getBuildDate()
Liefert das Build-Datum, insofern es ermittelbar ist.java.lang.String
getBuildnumber()
Liefert die Build-Nummer, insofern sie ermittelbar ist.java.lang.String[]
getClassFinderIncludes()
Liefert eine Liste von Pfaden, die in den Classfinder aufgenommen werden sollen.de.willuhn.util.MultipleClassLoader
getClassLoader()
Liefert den Classloader, mit dem das Plugin geladen wurde.Dependency[]
getDependencies()
Liste der Plugins, von denen dieses hier direkt oder indirekt abhaengig ist.java.lang.String
getDescription()
Liefert die Beschreibung der Komponente.Dependency[]
getDirectDependencies()
Liste der Plugins, von denen dieses hier direkt abhaengig ist.ExtensionDescriptor[]
getExtensions()
Liefert eine Liste von Extension-Desktriptoren zu diesem Plugin.java.lang.String
getHomepage()
Liefert die Homepage-URL der Komponente.java.lang.String
getIcon()
Liefert das Icon des Plugins.Dependency
getJameicaDependency()
Liefert die Versionsabhaengigkeit zu Jameica.java.lang.String
getLicense()
Liefert die Lizenz der Komponente.MenuItem
getMenu()
Liefert das Menu der Komponente.ConsumerDescriptor[]
getMessageConsumers()
Liefert eine Liste von Consumer-Desktriptoren zu diesem Plugin.MessageDescriptor[]
getMessages()
Liefert eine Liste von Messages, die automatisch beim Start versendet werden sollen.java.lang.String
getName()
Liefert den Namen der Komponente.NavigationItem
getNavigation()
Liefert die Navigation der Komponente.java.lang.String
getPluginClass()
Liefert den Klassen-Name des Plugins.java.lang.String
getPluginDir()
Liefert das Verzeichnis, in dem sich das Plugin befindet.java.lang.String
getPluginId()
Liefert den Identifier des Plugins, idealerweise ist dieser eindeutig.PluginSource.Type
getPluginSource()
Liefert die Art der Plugin-Quelle, aus der das Plugin stammt.ServiceDescriptor[]
getServices()
Liefert eine Liste von Service-Desktriptoren zu diesem Plugin.java.lang.String
getURL()
Liefert die Download-URL der Komponente.Version
getVersion()
Liefert die Versionsnummer.boolean
isInstalled()
Prueft, ob das Plugin initialisiert werden konnte.boolean
isLoaded()
Prueft, ob das Plugin geladen werden konnte.boolean
isShared()
Liefert zurueck, ob das Plugin ueber den globalen Classloader von Jameica geladen werden soll.boolean
isSystemManifest()
Pruefe, ob es sich um das Manifest von Jameica selbst handelt (und somit kein Plugin-Manifest).void
setInstalled(boolean b)
Legt fest, ob das Plugin als erfolgreich installiert gelten soll.void
setPluginSource(PluginSource.Type type)
Legt die Art der Plugin-Quelle fest, aus der das Plugin stammt.boolean
validateHomepage()
Liefert true, wenn die Homepage bei Updates geprüft werden soll.
-
-
-
Constructor Detail
-
Manifest
public Manifest(java.io.File manifest) throws java.lang.Exception
ct.- Parameters:
manifest
- die Datei mit dem Manifest.- Throws:
java.lang.Exception
-
Manifest
public Manifest(java.io.InputStream manifest) throws java.lang.Exception
ct.- Parameters:
manifest
- InputStream mit dem Manifest.- Throws:
java.lang.Exception
-
-
Method Detail
-
getPluginDir
public java.lang.String getPluginDir()
Liefert das Verzeichnis, in dem sich das Plugin befindet.- Returns:
- das Installations-Verzeichnis.
-
getVersion
public Version getVersion()
Liefert die Versionsnummer.- Returns:
- Versionsnummer.
-
getBuildnumber
public final java.lang.String getBuildnumber()
Liefert die Build-Nummer, insofern sie ermittelbar ist.Da die Nummer nur im Manifest des Jars steht, kann sie nur dann ermittelt werden, wenn die Anwendung in ein solches deployed wurde und der entsprechende Parameter im Manifest des JARs existiert.
- Returns:
- Build-Number.
-
getBuildDate
public final java.lang.String getBuildDate()
Liefert das Build-Datum, insofern es ermittelbar ist.Da das Datum nur im Manifest des Jars steht, kann es nur dann ermittelt werden, wenn die Anwendung in ein solches deployed wurde und der entsprechende Parameter im Manifest des JARs existiert.
- Returns:
- Build-Datum.
-
getName
public java.lang.String getName()
Liefert den Namen der Komponente.- Returns:
- Name.
-
getPluginClass
public java.lang.String getPluginClass()
Liefert den Klassen-Name des Plugins.- Returns:
- Klassen-Name des Plugins oder vom
PlaceholderPlugin
, wenn keines angegeben ist.
-
getPluginId
public java.lang.String getPluginId()
Liefert den Identifier des Plugins, idealerweise ist dieser eindeutig. Im Allgemeinen entspricht das dem Klassen-Namen. Im Falle einerProxy
Instanz, wird der Namen der Komponente zurueck gegeben.- Returns:
- Klassen-Name des Plugins oder Namen der Komponente.
-
isShared
public boolean isShared()
Liefert zurueck, ob das Plugin ueber den globalen Classloader von Jameica geladen werden soll.- Returns:
true
, wenn es ueber den globalen Classloader geladen werden soll. Andernfalls erhaelt es einen exlusiven Classloader. Default:true
-
isSystemManifest
public boolean isSystemManifest()
Pruefe, ob es sich um das Manifest von Jameica selbst handelt (und somit kein Plugin-Manifest).- Returns:
true
, wenn es kein gewoehnliches Plugin-Manifest ist sondern das Manifest von Jameica selbst.
-
getDescription
public java.lang.String getDescription()
Liefert die Beschreibung der Komponente.- Returns:
- Beschreibung.
-
getURL
public java.lang.String getURL()
Liefert die Download-URL der Komponente.- Returns:
- Download-URL der Komponente.
-
getHomepage
public java.lang.String getHomepage()
Liefert die Homepage-URL der Komponente.- Returns:
- Homepage-URL der Komponente.
-
validateHomepage
public boolean validateHomepage()
Liefert true, wenn die Homepage bei Updates geprüft werden soll. Updates des Plugins werden in dem Fall nur dann durchgeführt, wenn sie vom selben Server kommen, der auch als Homepage angegeben ist.- Returns:
- true, wenn die Homepage bei Updates geprüft werden soll.
-
getLicense
public java.lang.String getLicense()
Liefert die Lizenz der Komponente.- Returns:
- Lizenz.
-
getIcon
public java.lang.String getIcon()
Liefert das Icon des Plugins. Sollte 64x64 Pixel gross sein.- Returns:
- das Icon oder
null
, wenn keines definiert ist.
-
getMenu
public MenuItem getMenu()
Liefert das Menu der Komponente.- Returns:
- Menu.
-
getNavigation
public NavigationItem getNavigation()
Liefert die Navigation der Komponente.- Returns:
- Menu.
-
getServices
public ServiceDescriptor[] getServices()
Liefert eine Liste von Service-Desktriptoren zu diesem Plugin.- Returns:
- Liste aller Service-Deskriptoren aus der plugins.xml oder
null
wenn keine definiert sind.
-
getClassFinderIncludes
public java.lang.String[] getClassFinderIncludes()
Liefert eine Liste von Pfaden, die in den Classfinder aufgenommen werden sollen.- Returns:
- Liste von Pfaden fuer den ClassFinder.
-
getExtensions
public ExtensionDescriptor[] getExtensions()
Liefert eine Liste von Extension-Desktriptoren zu diesem Plugin.- Returns:
- Liste aller Extension-Deskriptoren aus der plugin.xml oder
null
wenn keine definiert sind.
-
getMessageConsumers
public ConsumerDescriptor[] getMessageConsumers()
Liefert eine Liste von Consumer-Desktriptoren zu diesem Plugin.- Returns:
- Liste aller Consumer-Deskriptoren aus der plugin.xml oder
null
wenn keine definiert sind.
-
getMessages
public MessageDescriptor[] getMessages()
Liefert eine Liste von Messages, die automatisch beim Start versendet werden sollen.- Returns:
- Liste aller Messages oder
null
wenn keine definiert sind.
-
getJameicaDependency
public Dependency getJameicaDependency()
Liefert die Versionsabhaengigkeit zu Jameica.- Returns:
- Die Abhaengigkeit zu einer bestimmten Jameica-Version.
-
getDirectDependencies
public Dependency[] getDirectDependencies()
Liste der Plugins, von denen dieses hier direkt abhaengig ist.Es werden also nur die direkt abhaengigen Plugins geliefert, nicht jedoch die indirekten Abhaengigkeiten. Wenn die komplette Liste der Abhaengigkeiten ermittelt werden soll (also incl. indirekter Abhaengigkeiten), dann muss
getDependencies()
verwendet werden.- Returns:
- Liste von Abhaengigkeiten fuer dieses Plugin.
Die Funktion liefert nie
null
sondern hoechstens ein leeres Array.
-
getDependencies
public Dependency[] getDependencies()
Liste der Plugins, von denen dieses hier direkt oder indirekt abhaengig ist.Es werden also nicht nur die direkt abhaengigen Plugins geliefert, sondern auch alle Plugins, die von diesen wiederum benoetigt werden. Wenn nur die einfache Liste der Abhaengigkeiten ermittelt werden soll (also ohne indirekte Abhaengigkeiten), dann muss
getDirectDependencies()
verwendet werden.- Returns:
- Liste von Abhaengigkeiten fuer dieses Plugin.
Die Funktion liefert nie
null
sondern hoechstens ein leeres Array.
-
canDeploy
public void canDeploy() throws de.willuhn.util.ApplicationException
Prueft, ob das Plugin installiert werden kann.Konkret wird hier geprueft:
- Ist die richtige Jameica-Version installiert?
- Sind die Abhaengigkeiten zu anderen Plugins erfuellt?
- Ist das Plugin ggf. schon installiert und wenn ja ...
- ... kann es ueberschrieben werden?
- ... ist die installierte Version nicht neuer als die zu installierende?
- Throws:
de.willuhn.util.ApplicationException
- wenn das Plugin nicht installiert werden kann.- See Also:
canDeploy(boolean)
-
canDeploy
public void canDeploy(boolean checkDeps) throws de.willuhn.util.ApplicationException
Prueft, ob das Plugin installiert werden kann.Konkret wird hier geprueft:
- Ist die richtige Jameica-Version installiert?
- Sind die Abhaengigkeiten zu anderen Plugins erfuellt?
- Ist das Plugin ggf. schon installiert und wenn ja ...
- ... kann es ueberschrieben werden?
- ... ist die installierte Version nicht neuer als die zu installierende?
- Parameters:
checkDeps
-true
, wenn die Abhaengigkeiten zu anderen Plugins geprueft werden sollen.- Throws:
de.willuhn.util.ApplicationException
- wenn das Plugin nicht installiert werden kann.- See Also:
canDeploy()
-
setPluginSource
public void setPluginSource(PluginSource.Type type)
Legt die Art der Plugin-Quelle fest, aus der das Plugin stammt.- Parameters:
type
- die Art der Plugin-Quelle.
-
getPluginSource
public PluginSource.Type getPluginSource()
Liefert die Art der Plugin-Quelle, aus der das Plugin stammt.- Returns:
- die Art der Plugin-Quelle, aus der das Plugin stammt.
-
isInstalled
public boolean isInstalled()
Prueft, ob das Plugin initialisiert werden konnte.- Returns:
- true, wenn es initialisiert werden konnte.
-
setInstalled
public void setInstalled(boolean b)
Legt fest, ob das Plugin als erfolgreich installiert gelten soll.- Parameters:
b
-
-
isLoaded
public boolean isLoaded()
Prueft, ob das Plugin geladen werden konnte.- Returns:
true
, wenn es geladen werden konnte.
-
getClassLoader
public de.willuhn.util.MultipleClassLoader getClassLoader()
Liefert den Classloader, mit dem das Plugin geladen wurde.- Returns:
- der Classloader des Plugins.
-
compareTo
public int compareTo(java.lang.Object o)
Wir implementieren die Funktion, damit wir eine Liste von Manifesten nach Abhaengigkeit sortieren koennen.- Specified by:
compareTo
in interfacejava.lang.Comparable
- See Also:
Comparable.compareTo(java.lang.Object)
-
-