Interface Utilities

  • All Known Implementing Classes:
    UtilitiesImpl

    public interface Utilities
    • Method Detail

      • getUserDir

        java.lang.String getUserDir()
      • getProgramDir

        java.lang.String getProgramDir()
      • isCVSVersion

        boolean isCVSVersion()
      • isWindows

        boolean isWindows()
      • isLinux

        boolean isLinux()
      • isSolaris

        boolean isSolaris()
      • isOSX

        boolean isOSX()
      • isUnix

        boolean isUnix()
        Returns:
        Whether the OS is a unix flavor (linux, bsd, aix, etc)
        Since:
        2.4.0.3
      • isFreeBSD

        boolean isFreeBSD()
        Returns:
        Whether the OS is FreeBSD
        Since:
        2.4.0.3
      • getImageAsStream

        java.io.InputStream getImageAsStream​(java.lang.String image_name)
      • allocateDirectByteBuffer

        java.nio.ByteBuffer allocateDirectByteBuffer​(int size)
      • freeDirectByteBuffer

        void freeDirectByteBuffer​(java.nio.ByteBuffer buffer)
      • allocatePooledByteBuffer

        PooledByteBuffer allocatePooledByteBuffer​(int size)
      • allocatePooledByteBuffer

        PooledByteBuffer allocatePooledByteBuffer​(byte[] data)
      • allocatePooledByteBuffer

        PooledByteBuffer allocatePooledByteBuffer​(java.util.Map data)
                                           throws java.io.IOException
        Parameters:
        data - must be b-encodable
        Returns:
        Throws:
        java.io.IOException
      • createTimer

        UTTimer createTimer​(java.lang.String name)
        Creates a UTTimer instance. It will be configured for non-lightweight tasks by default.
        Parameters:
        name - Name for the UTTimer object.
        Returns:
        A UTTimer instance.
      • createTimer

        UTTimer createTimer​(java.lang.String name,
                            boolean lightweight)
        Creates a UTTimer instance.
        Parameters:
        name - Name for the UTTimer object.
        lightweight - If true, it indicates that this timer will be used to perform small lightweight tasks. If false, it indicates that this timer will be used to perform expensive tasks. This allows Azureus to create the appropriate amount of resources to manage this timer.
        Returns:
        A UTTimer instance.
      • createTimer

        UTTimer createTimer​(java.lang.String name,
                            int priority)
        Creates a UTTimer instance.
        Parameters:
        name - Name for the UTTimer object.
        priority - The Thread.XXX_PRIORITY value to use.
        Returns:
        A UTTimer instance.
      • createTimer

        UTTimer createTimer​(java.lang.String name,
                            int max_threads,
                            int priority)
      • createThread

        void createThread​(java.lang.String name,
                          java.lang.Runnable target)
        create and run a thread for the target. This will be a daemon thread so that its existence doesn't interfere with Azureus closedown
        Parameters:
        name -
        target -
      • createProcess

        void createProcess​(java.lang.String command_line)
                    throws PluginException
        create a child process and executes the supplied command line. The child process will not inherit any open handles on Windows, which does happen if Runtime is used directly. This relies on the Platform plugin, if this is not installed then this will fall back to using Runtime.exec
        Parameters:
        command_line -
        Throws:
        PluginException
      • createProcess

        void createProcess​(java.io.File working_dirctory,
                           java.lang.String[] command,
                           java.lang.String[] env)
                    throws PluginException
        Throws:
        PluginException
      • getPublicAddress

        java.net.InetAddress getPublicAddress()
        Returns a public IP address of the machine or null if it can't be determined
      • getPublicAddress

        java.net.InetAddress getPublicAddress​(boolean ipv6)
      • reverseDNSLookup

        java.lang.String reverseDNSLookup​(java.net.InetAddress address)
        attempts a reverse DNS lookup of an address, null if it fails
        Parameters:
        address -
        Returns:
      • getCurrentSystemTime

        long getCurrentSystemTime()
        Get the current system time, like System.currentTimeMillis(), only the time lookup is cached for performance reasons.
        Returns:
        current system time
      • createAggregatedDispatcher

        AggregatedDispatcher createAggregatedDispatcher​(long idle_dispatch_time,
                                                        long max_queue_size)
        create a dispatcher that will queue runnable items until either the limit is reached or the dispatcher hasn't had an entry added for the defined idle time
        Parameters:
        idle_dispatch_time - milliseconds
        max_queue_size - 0 -> infinite
        Returns:
      • readResilientBEncodedFile

        java.util.Map readResilientBEncodedFile​(java.io.File parent_dir,
                                                java.lang.String file_name,
                                                boolean use_backup)
        Returns:
        Map read from config file, or empty HashMap if error
      • writeResilientBEncodedFile

        void writeResilientBEncodedFile​(java.io.File parent_dir,
                                        java.lang.String file_name,
                                        java.util.Map data,
                                        boolean use_backup)
      • deleteResilientBEncodedFile

        void deleteResilientBEncodedFile​(java.io.File parent_dir,
                                         java.lang.String file_name,
                                         boolean use_backup)
      • compareVersions

        int compareVersions​(java.lang.String v1,
                            java.lang.String v2)
        Compares two version strings for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

        Example:

         compareVersions("1.1.0.0", "1.1.2.0"); // -
         compareVersions("1.1.0.0", "1.1.0"); // 0
         compareVersions("1.1.1.1", "1.1.1"); // +
         
        Parameters:
        v1 - the first version string to be compared
        v2 - the second version string to be compared
        Returns:
        a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
        Since:
        2.3.0.7
      • normaliseFileName

        java.lang.String normaliseFileName​(java.lang.String f_name)
        Converts a file name so that all characters in the file name are compatible with the underlying filesystem. This includes quote characters, back and forwarded slashes, newline characters and so on.

        Note - this is only intended for file names, rather than file paths.

        Parameters:
        f_name - File name to convert.
        Returns:
        Converted file name.
      • createDelayedTask

        DelayedTask createDelayedTask​(java.lang.Runnable r)
        Adds a low priority task that will be scheduled at some point after existing tasks have completed. In particular a system task exists that will block subsequent ones until after UI initialisation is complete. Plugins can therefore use this to schedule initialisation actions to occur after UI init is complete.
        Returns:
        Since:
        3.0.5.3
      • supportsPowerStateControl

        boolean supportsPowerStateControl​(int state)
      • removeLocationProvider

        void removeLocationProvider​(LocationProvider provider)
      • getDistributedDatabases

        java.util.List<DistributedDatabase> getDistributedDatabases​(java.lang.String[] networks)
      • getDistributedDatabases

        java.util.List<DistributedDatabase> getDistributedDatabases​(java.lang.String[] networks,
                                                                    java.util.Map<java.lang.String,​java.lang.Object> options)
      • getScriptProviders

        java.util.List<ScriptProvider> getScriptProviders()
      • registerScriptProvider

        void registerScriptProvider​(ScriptProvider provider)
      • unregisterScriptProvider

        void unregisterScriptProvider​(ScriptProvider provider)
      • lookupTag

        Tag lookupTag​(java.lang.String name)