Interface Torrent

    • Method Detail

      • getName

        java.lang.String getName()
      • getAnnounceURL

        java.net.URL getAnnounceURL()
      • setAnnounceURL

        void setAnnounceURL​(java.net.URL url)
      • getAnnounceURLList

        TorrentAnnounceURLList getAnnounceURLList()
        get the announce list for multi-tracker torrents. Will always be present but may contain 0 sets which means that this is not a multi-tracker torrent
        Returns:
      • getHash

        byte[] getHash()
        v1 torrent hash or truncated v2 hash if v2 only
        Returns:
      • getFullHash

        default byte[] getFullHash​(int type)
        Returns:
        v2 torrent hash if hybrid or v2 only torrent
      • getSize

        long getSize()
        If size is 0 then this is an "external" torrent and we only know its hash (and name constructed from hash). e.g. we don't know file details
        Returns:
      • getComment

        java.lang.String getComment()
      • setComment

        void setComment​(java.lang.String comment)
      • getCreationDate

        long getCreationDate()
        UNIX epoch format in seconds
      • getCreatedBy

        java.lang.String getCreatedBy()
      • getPieceSize

        long getPieceSize()
      • getPieceCount

        long getPieceCount()
      • getPieces

        byte[][] getPieces()
      • getEncoding

        java.lang.String getEncoding()
      • getAdditionalProperty

        java.lang.Object getAdditionalProperty​(java.lang.String name)
        Access to top-level properties in the torrent
        Parameters:
        name -
        Returns:
      • removeAdditionalProperties

        Torrent removeAdditionalProperties()
        Removal all non-standard properties (excluding plugin-properties below)
        Returns:
      • setPluginStringProperty

        void setPluginStringProperty​(java.lang.String name,
                                     java.lang.String value)
        Set a property specific to this plugin
        Parameters:
        name -
        value -
      • getPluginStringProperty

        java.lang.String getPluginStringProperty​(java.lang.String name)
        Get a property specific to this plugin
        Parameters:
        name -
        Returns:
      • setMapProperty

        void setMapProperty​(java.lang.String name,
                            java.util.Map value)
        Sets a map property in the torrent, retrievable via getMapProperty
        Parameters:
        name - should be unique across plugins (i.e. prefix it with something unique)
        value - bencodable Map value
      • getMapProperty

        java.util.Map getMapProperty​(java.lang.String name)
        Gets a previously set map value
        Parameters:
        name - should be unique across plugins (i.e. prefix it with something unique)
        Returns:
        See Also:
        setMapProperty(java.lang.String,java.util.Map)
      • isDecentralised

        boolean isDecentralised()
        A decentralised torrent uses the DHT only as a "tracker"
        Returns:
      • isDecentralisedBackupEnabled

        boolean isDecentralisedBackupEnabled()
        Decentralised backup permits the DHT to be used as a tracker when the "real" tracker is unavailable
        Returns:
      • setDecentralisedBackupRequested

        void setDecentralisedBackupRequested​(boolean requested)
        By default torrents with OK trackers are not tracked in the DHT. This allows a specific torrent to be marked so that it will be
        Parameters:
        requested -
      • isDecentralisedBackupRequested

        boolean isDecentralisedBackupRequested()
      • isPrivate

        boolean isPrivate()
        A private torrent is either explicitly private via info/private or has decentralised backup disabled and peer exchange disabled
        Returns:
      • setPrivate

        void setPrivate​(boolean priv)
      • wasCreatedByUs

        boolean wasCreatedByUs()
        Returns:
        Since:
        2501
      • getMagnetURI

        java.net.URL getMagnetURI()
                           throws TorrentException
        Gets the magnet URI for the torrent - throws exception if not available
        Returns:
        Throws:
        TorrentException
      • setComplete

        void setComplete​(java.io.File data_dir)
                  throws TorrentException
        sets the torrent complete - i.e. ready for seeding. Doing this avoids a recheck on torrent addition
        Parameters:
        data_dir -
        Throws:
        TorrentException
      • isComplete

        boolean isComplete()
      • isSimpleTorrent

        boolean isSimpleTorrent()
        Returns true if the torrent is a single file torrent, false if it is a multi file torrent.
        Since:
        3.0.4.3