Class RepositoryService

java.lang.Object
de.willuhn.jameica.services.RepositoryService
All Implemented Interfaces:
de.willuhn.boot.Bootable

public class RepositoryService extends Object implements de.willuhn.boot.Bootable
Dieser Service verwaltet den Zugriff auf Online-Repositories mit Jameica-Plugins.
  • Field Details

    • SYSTEM_REPOSITORY

      public static final String SYSTEM_REPOSITORY
      Die URL des System-Repository.
      See Also:
    • WELL_KNOWN

      public static final String[] WELL_KNOWN
      Liste von bekannten Repositories, die wir mit ausliefern, die der User aber wieder loeschen kann
  • Constructor Details

    • RepositoryService

      public RepositoryService()
  • Method Details

    • depends

      public Class<de.willuhn.boot.Bootable>[] depends()
      Specified by:
      depends in interface de.willuhn.boot.Bootable
      See Also:
      • Bootable.depends()
    • init

      public void init(de.willuhn.boot.BootLoader arg0, de.willuhn.boot.Bootable arg1) throws de.willuhn.boot.SkipServiceException
      Specified by:
      init in interface de.willuhn.boot.Bootable
      Throws:
      de.willuhn.boot.SkipServiceException
      See Also:
      • Bootable.init(de.willuhn.boot.BootLoader, de.willuhn.boot.Bootable)
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in interface de.willuhn.boot.Bootable
      See Also:
      • Bootable.shutdown()
    • getRepositories

      public List<URL> getRepositories(boolean all)
      Liefert eine Liste mit URLs zu Online-Repositories mit Plugins.
      Parameters:
      all - true, wenn auch die inaktiven Repositories geliefert werden sollen.
      Returns:
      Liste mit URLs zu Online-Repositories mit Plugins.
    • getRepositories

      public List<URL> getRepositories()
      Liefert eine Liste mit URLs zu aktiven Online-Repositories mit Plugins.
      Returns:
      Liste mit URLs zu den aktiven Online-Repositories mit Plugins.
    • resolve

      public ResolverResult resolve(PluginData plugin) throws de.willuhn.util.ApplicationException
      Loest die zu installierenden Abhaengigkeiten fuer das Plugin auf.
      Parameters:
      plugin - das zu installierende Plugin.
      Returns:
      das Ergebnis der Aufloesung.
      Throws:
      de.willuhn.util.ApplicationException
    • downloadMulti

      public void downloadMulti(PluginData... plugins) throws de.willuhn.util.ApplicationException
      Laedt mehrere Plugins von ggf. unterschiedlichen Repositories in einem Rutsch herunter. Einen Nicht-interaktiven Modus gibt es hier nicht.
      Parameters:
      plugins - die Liste der Plugins.
      Throws:
      de.willuhn.util.ApplicationException
    • checkSignature

      public void checkSignature(PluginData plugin, File archive, File sig) throws Exception
      Prueft die Signatur eines Plugins.
      Parameters:
      plugin - das Plugin.
      archive - Datei, dessen Signatur gecheckt werden soll.
      sig - die Signatur.
      Throws:
      Exception
    • search

      public List<RepositorySearchResult> search(URL url, String query) throws de.willuhn.util.ApplicationException
      Sucht Plugins Repository-uebergreifend.
      Parameters:
      url - optionale URL des Repository.
      query - optionaler Suchbegriff.
      Returns:
      Liste mit den Suchergebnissen.
      Throws:
      de.willuhn.util.ApplicationException
    • open

      public Repository open(URL url) throws de.willuhn.util.ApplicationException
      Oeffnet ein Repository.
      Parameters:
      url - URL zum Repository.
      Returns:
      das Repository.
      Throws:
      de.willuhn.util.ApplicationException
    • isEnabled

      public boolean isEnabled(URL url)
      Liefert true, wenn das Repository aktiv ist und verwendet werden soll.
      Parameters:
      url - die URL.
      Returns:
      true, wenn die URL verwendet werden soll.
    • setEnabled

      public void setEnabled(URL url, boolean enabled)
      Markiert ein Repository als aktiv/inaktiv.
      Parameters:
      url - die URL.
      enabled - true, wenn das Repository verwendet werden soll.
    • addRepository

      public void addRepository(URL url) throws de.willuhn.util.ApplicationException
      Fuegt ein neues Online-Repository hinzu.
      Parameters:
      url - URL des Online-Repositories.
      Throws:
      de.willuhn.util.ApplicationException
    • removeRepository

      public void removeRepository(URL url) throws de.willuhn.util.ApplicationException
      Entfernt ein Online-Repository.
      Parameters:
      url - URL des Online-Repositories.
      Throws:
      de.willuhn.util.ApplicationException
    • contains

      public boolean contains(URL url)
      Prueft, ob die angegebene URL als Repository hinterlegt ist.
      Parameters:
      url - die zu pruefende URL
      Returns:
      true, wenn die URL bereits hinterlegt ist.