org.gudy.azureus2.pluginsimpl.remote.disk
Class RPDiskManagerFileInfo

java.lang.Object
  extended by org.gudy.azureus2.pluginsimpl.remote.RPObject
      extended by org.gudy.azureus2.pluginsimpl.remote.disk.RPDiskManagerFileInfo
All Implemented Interfaces:
Serializable, DiskManagerFileInfo

public class RPDiskManagerFileInfo
extends RPObject
implements DiskManagerFileInfo

See Also:
Serialized Form

Field Summary
 int access_mode
           
protected  DiskManagerFileInfo delegate
           
 long downloaded
           
 File file
           
 int first_piece_number
           
 boolean is_priority
           
 boolean is_skipped
           
 long length
           
 int num_pieces
           
 
Fields inherited from class org.gudy.azureus2.pluginsimpl.remote.RPObject
__delegate, _dispatcher, _object_id, next_key, object_registry, object_registry_reverse
 
Fields inherited from interface org.gudy.azureus2.plugins.disk.DiskManagerFileInfo
PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_NORMAL, READ, WRITE
 
Constructor Summary
protected RPDiskManagerFileInfo(DiskManagerFileInfo _delegate)
           
 
Method Summary
 RPReply _process(RPRequest request)
           
protected  void _setDelegate(Object _delegate)
           
 Object _setLocal()
           
static RPDiskManagerFileInfo create(DiskManagerFileInfo _delegate)
           
 DiskManagerChannel createChannel()
           
 DiskManagerRandomReadRequest createRandomReadRequest(long file_offset, long length, boolean reverse_order, DiskManagerListener listener)
          Creates a random read request - these will be executed against the download sequentially
 int getAccessMode()
           
 Download getDownload()
           
 long getDownloaded()
           
 byte[] getDownloadHash()
           
 File getFile()
           
 File getFile(boolean follow_link)
          returns liked file if it exists, direct otherwise
 int getFirstPieceNumber()
           
 int getIndex()
           
 long getLength()
          Size when file is complete
 File getLink()
           
 int getNumericPriority()
           
 int getNumericPriorty()
           
 int getNumPieces()
           
 long getPieceSize()
           
 boolean isDeleted()
           
 boolean isPriority()
           
 boolean isSkipped()
           
 void setDeleted(boolean b)
          Mark the file as deleted or not (deleted means the file will be truncated to take up minimum space).
 void setLink(File link_destination)
           
 void setNumericPriority(int priority)
          Sets the file's download priority base on a number
 void setPriority(boolean b)
           
 void setSkipped(boolean b)
           
 
Methods inherited from class org.gudy.azureus2.pluginsimpl.remote.RPObject
_fixupLocal, _getDelegate, _getName, _getOID, _lookupLocal, _lookupLocal, _refresh, _setRemote, getDispatcher, notSupported, notSupported
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

delegate

protected transient DiskManagerFileInfo delegate

access_mode

public int access_mode

downloaded

public long downloaded

length

public long length

file

public File file

first_piece_number

public int first_piece_number

num_pieces

public int num_pieces

is_priority

public boolean is_priority

is_skipped

public boolean is_skipped
Constructor Detail

RPDiskManagerFileInfo

protected RPDiskManagerFileInfo(DiskManagerFileInfo _delegate)
Method Detail

create

public static RPDiskManagerFileInfo create(DiskManagerFileInfo _delegate)

_setDelegate

protected void _setDelegate(Object _delegate)
Overrides:
_setDelegate in class RPObject

_setLocal

public Object _setLocal()
                 throws RPException
Overrides:
_setLocal in class RPObject
Throws:
RPException

_process

public RPReply _process(RPRequest request)
Overrides:
_process in class RPObject

setPriority

public void setPriority(boolean b)
Specified by:
setPriority in interface DiskManagerFileInfo

setSkipped

public void setSkipped(boolean b)
Specified by:
setSkipped in interface DiskManagerFileInfo

getNumericPriorty

public int getNumericPriorty()
Specified by:
getNumericPriorty in interface DiskManagerFileInfo
Returns:

getNumericPriority

public int getNumericPriority()
Specified by:
getNumericPriority in interface DiskManagerFileInfo
Returns:

setNumericPriority

public void setNumericPriority(int priority)
Description copied from interface: DiskManagerFileInfo
Sets the file's download priority base on a number

Specified by:
setNumericPriority in interface DiskManagerFileInfo
Parameters:
priority - Any number or DiskManagerFileInfo.PRIORITY_LOW, DiskManagerFileInfo.PRIORITY_NORMAL, DiskManagerFileInfo.PRIORITY_HIGH

setDeleted

public void setDeleted(boolean b)
Description copied from interface: DiskManagerFileInfo
Mark the file as deleted or not (deleted means the file will be truncated to take up minimum space). This is generally 0 <= X < 2*piece_length as pieces can span file boundaries.

Specified by:
setDeleted in interface DiskManagerFileInfo

isDeleted

public boolean isDeleted()
Specified by:
isDeleted in interface DiskManagerFileInfo

getAccessMode

public int getAccessMode()
Specified by:
getAccessMode in interface DiskManagerFileInfo

getDownloaded

public long getDownloaded()
Specified by:
getDownloaded in interface DiskManagerFileInfo

getLength

public long getLength()
Description copied from interface: DiskManagerFileInfo
Size when file is complete

Specified by:
getLength in interface DiskManagerFileInfo

getFile

public File getFile()
Specified by:
getFile in interface DiskManagerFileInfo

getFile

public File getFile(boolean follow_link)
Description copied from interface: DiskManagerFileInfo
returns liked file if it exists, direct otherwise

Specified by:
getFile in interface DiskManagerFileInfo
Returns:

getFirstPieceNumber

public int getFirstPieceNumber()
Specified by:
getFirstPieceNumber in interface DiskManagerFileInfo

getPieceSize

public long getPieceSize()
Specified by:
getPieceSize in interface DiskManagerFileInfo

getNumPieces

public int getNumPieces()
Specified by:
getNumPieces in interface DiskManagerFileInfo

isPriority

public boolean isPriority()
Specified by:
isPriority in interface DiskManagerFileInfo

isSkipped

public boolean isSkipped()
Specified by:
isSkipped in interface DiskManagerFileInfo

getIndex

public int getIndex()
Specified by:
getIndex in interface DiskManagerFileInfo

setLink

public void setLink(File link_destination)
Specified by:
setLink in interface DiskManagerFileInfo

getLink

public File getLink()
Specified by:
getLink in interface DiskManagerFileInfo

getDownloadHash

public byte[] getDownloadHash()
Specified by:
getDownloadHash in interface DiskManagerFileInfo

getDownload

public Download getDownload()
                     throws DownloadException
Specified by:
getDownload in interface DiskManagerFileInfo
Throws:
DownloadException

createChannel

public DiskManagerChannel createChannel()
Specified by:
createChannel in interface DiskManagerFileInfo

createRandomReadRequest

public DiskManagerRandomReadRequest createRandomReadRequest(long file_offset,
                                                            long length,
                                                            boolean reverse_order,
                                                            DiskManagerListener listener)
                                                     throws DownloadException
Description copied from interface: DiskManagerFileInfo
Creates a random read request - these will be executed against the download sequentially

Specified by:
createRandomReadRequest in interface DiskManagerFileInfo
reverse_order - - deliver blocks to the listener in reverse order
Returns:
Throws:
DownloadException