Class PublishBundle

  • All Implemented Interfaces:
    IconProvider

    public class PublishBundle
    extends TaskAction
    Task action that prepares a bundle for publication in a catalogue by creating an equivalent published bundle. Published bundles are a highly compressed network transport format used by the catalogue system to reduce network use when installing plug-ins from a catalogue server.
    Author:
    Chris Jennings
    See Also:
    PluginBundlePublisher, Catalog
    • Constructor Detail

      • PublishBundle

        public PublishBundle()
    • Method Detail

      • getLabel

        public java.lang.String getLabel()
        Description copied from class: TaskAction
        Returns the human-readable name of this action.
        Specified by:
        getLabel in class TaskAction
        Returns:
        the name used to create menu items for this action, localized if possible
      • getDescription

        public java.lang.String getDescription()
        Description copied from class: TaskAction
        Returns a longer description of the action, suitable for use as a tool tip.
        Overrides:
        getDescription in class TaskAction
        Returns:
        a long description of the action, or null
      • appliesTo

        public boolean appliesTo​(Project project,
                                 Task task,
                                 Member member)
        Description copied from class: TaskAction
        Returns true if this action can be performed on the specified member of a project, project or a task. If the project itself is the target, task and member will be null. If a task is the target, then member will be null. If an error occurs while executing the task, then it is the action's responsibility to inform the user. This method can return false to indicate that if the action is being applied to multiple members, it should stop immediately rather than continue to the next member.
        Specified by:
        appliesTo in class TaskAction
        Parameters:
        project - the project that is being acted upon
        task - the task within the project that is being acted upon; null if acting on a project
        member - the specific member within the task to act upon; null if this is a project or task
      • perform

        public boolean perform​(Project project,
                               Task task,
                               Member member)
        Description copied from class: TaskAction
        Perform this action on a member of a project, a project or a task. If the project itself is the target, task and member will be null. If a task is the target, then member will be null. If an error occurs while executing the task, then it is the action's responsibility to inform the user. This method can return false to indicate that if the action is being applied to multiple members, it should stop immediately rather than continue to the next member.
        Specified by:
        perform in class TaskAction
        Parameters:
        project - the project that is being acted upon
        task - the task within the project that is being acted upon; null if acting on a project
        member - the specific member within the task to act upon; null if this is a project or task
      • publish

        @Deprecated
        public static Listing publish​(java.io.File srcBundle,
                                      int method)
        Deprecated.
        Takes an integer compression method for backwards compatibility. Use publish(java.io.File, ca.cgjennings.apps.arkham.plugins.catalog.PluginBundlePublisher.CompressionMethod) instead.
        Converts a bundle to published format and returns a Listing containing any catalog information specified by the bundle's root file.
        Parameters:
        srcBundle - the plug-in bundle to publish
        method - the compression method, expressed as an integer
        Returns:
        a listing containing catalog information from the root file
      • publish

        public static Listing publish​(java.io.File srcBundle,
                                      PluginBundlePublisher.CompressionMethod method)
        Converts a bundle to published format and returns a Listing containing any catalog information specified by the bundle's root file. If publication fails, an error is displayed to the user and the method returns null. The caller can specify a compression method to use for the bundle; if this is null, then both BZIP2 and LZMA compression will be tested and the one which yields the smallest published bundle size will be used.
        Parameters:
        srcBundle - the plug-in bundle to publish
        method - the compression method to use
        Returns:
        catalog listing information contained in the plug-in root