Package com.biglybt.pif.torrent
Interface Torrent
-
- All Known Implementing Classes:
RPTorrent
,TorrentImpl
public interface Torrent
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.lang.Object
getAdditionalProperty(java.lang.String name)
Access to top-level properties in the torrentjava.net.URL
getAnnounceURL()
TorrentAnnounceURLList
getAnnounceURLList()
get the announce list for multi-tracker torrents.Torrent
getClone()
java.lang.String
getComment()
java.lang.String
getCreatedBy()
long
getCreationDate()
UNIX epoch format in secondsjava.lang.String
getEncoding()
TorrentFile[]
getFiles()
default byte[]
getFullHash(int type)
byte[]
getHash()
v1 torrent hash or truncated v2 hash if v2 onlyjava.net.URL
getMagnetURI()
Gets the magnet URI for the torrent - throws exception if not availablejava.util.Map
getMapProperty(java.lang.String name)
Gets a previously set map valuejava.lang.String
getName()
long
getPieceCount()
byte[][]
getPieces()
long
getPieceSize()
java.lang.String
getPluginStringProperty(java.lang.String name)
Get a property specific to this pluginlong
getSize()
If size is 0 then this is an "external" torrent and we only know its hash (and name constructed from hash).boolean
isComplete()
boolean
isDecentralised()
A decentralised torrent uses the DHT only as a "tracker"boolean
isDecentralisedBackupEnabled()
Decentralised backup permits the DHT to be used as a tracker when the "real" tracker is unavailableboolean
isDecentralisedBackupRequested()
boolean
isPrivate()
A private torrent is either explicitly private via info/private or has decentralised backup disabled and peer exchange disabledboolean
isSimpleTorrent()
Returns true if the torrent is a single file torrent, false if it is a multi file torrent.Torrent
removeAdditionalProperties()
Removal all non-standard properties (excluding plugin-properties below)void
save()
Saves the torrent to its persistent locationvoid
setAnnounceURL(java.net.URL url)
void
setComment(java.lang.String comment)
void
setComplete(java.io.File data_dir)
sets the torrent complete - i.e.void
setDecentralisedBackupRequested(boolean requested)
By default torrents with OK trackers are not tracked in the DHT.void
setDefaultEncoding()
void
setEncoding(java.lang.String encoding)
void
setMapProperty(java.lang.String name, java.util.Map value)
Sets a map property in the torrent, retrievable via getMapPropertyvoid
setPluginStringProperty(java.lang.String name, java.lang.String value)
Set a property specific to this pluginvoid
setPrivate(boolean priv)
boolean
wasCreatedByUs()
byte[]
writeToBEncodedData()
void
writeToFile(java.io.File file)
java.util.Map
writeToMap()
-
-
-
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()
-
getFiles
TorrentFile[] getFiles()
-
getEncoding
java.lang.String getEncoding()
-
setEncoding
void setEncoding(java.lang.String encoding) throws TorrentEncodingException
- Throws:
TorrentEncodingException
-
setDefaultEncoding
void setDefaultEncoding() throws TorrentEncodingException
- Throws:
TorrentEncodingException
-
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
-
writeToMap
java.util.Map writeToMap() throws TorrentException
- Throws:
TorrentException
-
writeToFile
void writeToFile(java.io.File file) throws TorrentException
- Throws:
TorrentException
-
writeToBEncodedData
byte[] writeToBEncodedData() throws TorrentException
- Throws:
TorrentException
-
save
void save() throws TorrentException
Saves the torrent to its persistent location- 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
-
getClone
Torrent getClone() throws TorrentException
- Throws:
TorrentException
-
-