Class TorrentCommand

java.lang.Object
com.biglybt.ui.console.commands.IConsoleCommand
com.biglybt.ui.console.commands.TorrentCommand
Direct Known Subclasses:
Hack, TorrentArchive, TorrentCheck, TorrentForceStart, TorrentHost, TorrentLog, TorrentPublish, TorrentQueue, TorrentRemove, TorrentStart, TorrentStop, TorrentSubCommand

public abstract class TorrentCommand extends IConsoleCommand
base class for objects which need to operate on specific torrents. this class allows the torrent to be identified by hash, number or 'all' and will pass the appropriate torrent(s) to the subclasses 'performCommand' method
  • Field Details

    • action

      private final String action
  • Constructor Details

    • TorrentCommand

      public TorrentCommand(String main_name, String short_name, String action)
      initializes the torrent command
      Parameters:
      action - a description to be used when this command is executed
      commandNames - (the first item in the array is regarded as the primary command name)
  • Method Details

    • getAction

      protected String getAction()
    • performCommand

      protected abstract boolean performCommand(ConsoleInput ci, DownloadManager dm, List<String> args)
    • performCommand

      protected boolean performCommand(ConsoleInput ci, TRHostTorrent torrent, List<String> args)
      Stub for commands that operate on a hosted torrent rather than downloadmanager
      Parameters:
      ci -
      args -
      Returns:
    • execute

      public void execute(String commandName, ConsoleInput ci, List<String> args)
      Description copied from class: IConsoleCommand
      execute the command with the specified name using the specified arguments
      Specified by:
      execute in class IConsoleCommand
      Parameters:
      commandName -
      ci -
      args -
    • performCommandIfAllowed

      private void performCommandIfAllowed(ConsoleInput ci, List args, DownloadManager dm, String desc, String name)
      checks the role of the user. if the user is a 'guest', they are not able to perform any actions on the torrents. they are a 'read only' role. if they are a 'user' role, they are only able to modify their own torrents. users with the 'admin' role can modify anybody's torrents
      Parameters:
      ci -
      args -
      dm -
      name -
      subcommand -
    • performCommandIfAllowed

      private void performCommandIfAllowed(ConsoleInput ci, List args, TRHostTorrent torrent, String desc, String name)
    • printHelpExtra

      public void printHelpExtra(PrintStream out, List args)
      prints out the syntax of this command
      Overrides:
      printHelpExtra in class IConsoleCommand