Class ConsoleInput

  • All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    MultiUserConsoleInput

    public class ConsoleInput
    extends java.lang.Thread
    • Field Detail

      • ALIASES_CONFIG_FILE

        private static final java.lang.String ALIASES_CONFIG_FILE
        See Also:
        Constant Field Values
      • core

        public final Core core
      • out

        public volatile java.io.PrintStream out
      • torrents

        public final java.util.List torrents
      • adds

        public java.io.File[] adds
      • controlling

        private final boolean controlling
      • running

        protected boolean running
      • oldcommand

        private final java.util.Vector oldcommand
      • pluginCommands

        private static final java.util.List pluginCommands
      • aliases

        public final java.util.Properties aliases
      • commands

        private final java.util.Map commands
      • helpItems

        private final java.util.List helpItems
      • errorLogEvents

        private final java.util.List<LogEvent> errorLogEvents
      • numNewErrorLogEvents

        private int numNewErrorLogEvents
      • waitingForInput

        private boolean waitingForInput
    • Constructor Detail

      • ConsoleInput

        public ConsoleInput​(java.lang.String con,
                            Core _core,
                            java.io.Reader _in,
                            java.io.PrintStream _out,
                            java.lang.Boolean _controlling)
        Creates a new instance of ConsoleInput
      • ConsoleInput

        public ConsoleInput​(java.lang.String con,
                            Core _core,
                            java.io.Reader _in,
                            java.io.PrintStream _out,
                            java.lang.Boolean _controlling,
                            UserProfile profile)
      • ConsoleInput

        public ConsoleInput​(Core core,
                            java.io.PrintStream _out)
        Simple constructor to allow other components to use the console commands such as "set"
        Parameters:
        core -
        _out -
      • ConsoleInput

        public ConsoleInput​(java.lang.String con,
                            Core _core,
                            java.io.InputStream _in,
                            java.io.PrintStream _out,
                            java.lang.Boolean _controlling)
    • Method Detail

      • registerPluginCommand

        public static void registerPluginCommand​(java.lang.Class clazz)
        can be used by plugins to register console commands since they may not have access to each ConsoleInput object that is created.
      • unregisterPluginCommand

        public static void unregisterPluginCommand​(java.lang.Class clazz)
      • initialise

        protected void initialise()
      • downloadTorrent

        public void downloadTorrent​(java.lang.String filename,
                                    java.lang.String outputDir)
        begins the download of the torrent in the specified file, downloading it to the specified output directory. We also annotate the download with the current username
        Parameters:
        filename -
        outputDir -
      • downloadRemoteTorrent

        public void downloadRemoteTorrent​(java.lang.String url,
                                          java.lang.String outputDir)
        downloads the remote torrent file. once we have downloaded the .torrent file, we pass the data to the downloadTorrent() method for further processing
        Parameters:
        url -
        outputDir -
      • downloadTorrent

        public void downloadTorrent​(java.lang.String fileName)
        downloads a torrent on the local file system to the default save directory
        Parameters:
        fileName -
      • downloadRemoteTorrent

        public void downloadRemoteTorrent​(java.lang.String url)
        downloads the remote torrent file. once we have downloaded the .torrent file, we pass the data to the downloadTorrent() method for further processing
      • registerPluginCommands

        private void registerPluginCommands()
        instantiates each of the plugin commands and registers t
      • registerAlertHandler

        protected void registerAlertHandler()
      • registerCommands

        protected void registerCommands()
        registers the commands available to be executed from this console
      • registerCommand

        protected void registerCommand​(IConsoleCommand command)
        Parameters:
        set -
      • unregisterCommand

        protected void unregisterCommand​(IConsoleCommand command)
      • unregisterCommand

        protected void unregisterCommand​(java.lang.String commandName)
      • quit

        private void quit​(boolean finish)
      • printwelcome

        public void printwelcome()
      • printconsolehelp

        public void printconsolehelp()
      • printconsolehelp

        private void printconsolehelp​(java.io.PrintStream os)
      • invokeCommand

        public boolean invokeCommand​(java.lang.String command,
                                     java.util.List cargs)
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread
      • getAliasesFile

        private java.io.File getAliasesFile()
      • loadAliases

        private void loadAliases()
                          throws java.io.IOException
        read in the aliases from the alias properties file
        Throws:
        java.io.IOException
      • saveAliases

        public void saveAliases()
        writes the aliases back out to the alias file
      • getUserProfile

        public UserProfile getUserProfile()
        Returns:
        Returns the userProfile.
      • getDefaultSaveDirectory

        public java.lang.String getDefaultSaveDirectory()
        returns the default directory that torrents should be saved to unless otherwise specified
        Returns:
      • registerUpdateChecker

        protected void registerUpdateChecker()
      • getCore

        public Core getCore()
      • getErrorLogEvents

        public java.util.List<LogEvent> getErrorLogEvents()