Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.commons.net.tftp
Class TFTPRequestPacket  view TFTPRequestPacket download TFTPRequestPacket.java

java.lang.Object
  extended byorg.apache.commons.net.tftp.TFTPPacket
      extended byorg.apache.commons.net.tftp.TFTPRequestPacket
Direct Known Subclasses:
TFTPReadRequestPacket, TFTPWriteRequestPacket

public abstract class TFTPRequestPacket
extends TFTPPacket

An abstract class derived from TFTPPacket definiing a TFTP Request packet type. It is subclassed by the TFTPReadRequestPacket and TFTPWriteRequestPacket classes.

Details regarding the TFTP protocol and the format of TFTP packets can be found in RFC 783. But the point of these classes is to keep you from having to worry about the internals. Additionally, only very few people should have to care about any of the TFTPPacket classes or derived classes. Almost all users should only be concerned with the TFTPClient class receiveFile() 55 and sendFile() 55 methods.


Field Summary
(package private)  java.lang.String _filename
          The filename of the request.
(package private)  int _mode
          The transfer mode of the request.
(package private) static byte[][] _modeBytes
          A null terminated byte array representation of the ascii names of the transfer mode constants.
(package private) static java.lang.String[] _modeStrings
          An array containing the string names of the transfer modes and indexed by the transfer mode constants.
 
Fields inherited from class org.apache.commons.net.tftp.TFTPPacket
_address, _port, _type, ACKNOWLEDGEMENT, DATA, ERROR, MIN_PACKET_SIZE, READ_REQUEST, SEGMENT_SIZE, WRITE_REQUEST
 
Constructor Summary
(package private) TFTPRequestPacket(java.net.InetAddress destination, int port, int type, java.lang.String filename, int mode)
          Creates a request packet of a given type to be sent to a host at a given port with a filename and transfer mode request.
(package private) TFTPRequestPacket(int type, java.net.DatagramPacket datagram)
          Creates a request packet of a given type based on a received datagram.
 
Method Summary
(package private)  java.net.DatagramPacket _newDatagram(java.net.DatagramPacket datagram, byte[] data)
          This is a method only available within the package for implementing efficient datagram transport by elminating buffering.
 java.lang.String getFilename()
          Returns the requested filename.
 int getMode()
          Returns the transfer mode of the request.
 java.net.DatagramPacket newDatagram()
          Creates a UDP datagram containing all the TFTP request packet data in the proper format.
 
Methods inherited from class org.apache.commons.net.tftp.TFTPPacket
getAddress, getPort, getType, newTFTPPacket, setAddress, setPort
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_modeStrings

static final java.lang.String[] _modeStrings
An array containing the string names of the transfer modes and indexed by the transfer mode constants.


_modeBytes

static final byte[][] _modeBytes
A null terminated byte array representation of the ascii names of the transfer mode constants. This is convenient for creating the TFTP request packets.


_mode

int _mode
The transfer mode of the request.


_filename

java.lang.String _filename
The filename of the request.

Constructor Detail

TFTPRequestPacket

TFTPRequestPacket(java.net.InetAddress destination,
                  int port,
                  int type,
                  java.lang.String filename,
                  int mode)
Creates a request packet of a given type to be sent to a host at a given port with a filename and transfer mode request.


TFTPRequestPacket

TFTPRequestPacket(int type,
                  java.net.DatagramPacket datagram)
            throws TFTPPacketException
Creates a request packet of a given type based on a received datagram. Assumes the datagram is at least length 4, else an ArrayIndexOutOfBoundsException may be thrown.

Method Detail

_newDatagram

final java.net.DatagramPacket _newDatagram(java.net.DatagramPacket datagram,
                                           byte[] data)
This is a method only available within the package for implementing efficient datagram transport by elminating buffering. It takes a datagram as an argument, and a byte buffer in which to store the raw datagram data. Inside the method, the data is set as the datagram's data and the datagram returned.

Specified by:
_newDatagram in class TFTPPacket

newDatagram

public final java.net.DatagramPacket newDatagram()
Creates a UDP datagram containing all the TFTP request packet data in the proper format. This is a method exposed to the programmer in case he wants to implement his own TFTP client instead of using the TFTPClient class. Under normal circumstances, you should not have a need to call this method.

Specified by:
newDatagram in class TFTPPacket

getMode

public final int getMode()
Returns the transfer mode of the request.


getFilename

public final java.lang.String getFilename()
Returns the requested filename.