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

Quick Search    Search Deep

Freenet.node
Class Data  view Data download Data.java

java.lang.Object
  extended byFreenet.node.Data
All Implemented Interfaces:
java.io.Serializable

public class Data
extends java.lang.Object
implements java.io.Serializable

This class is used to store data. The object creates a file on disk in a (statically specified) directory to store the data in. In general the data is accessed using streams.


Field Summary
protected  boolean delFile
           
protected  java.io.File name
           
static java.io.File path
          The path where files should be stored
 boolean readyToRead
          Indicates whether this class is ready for reading
 
Constructor Summary
Data(java.io.File name)
          This creates a data item from the specified file.
Data(java.io.InputStream data)
          Creates a new data item reading the data from the InputStream
Data(Freenet.support.SplitOutputStream datatunnel)
           
 
Method Summary
 void CopyToFile(java.io.File f)
          Copies the data into the specified file, returns when copy complete
 java.io.File fileName()
          Returns a File containing the data.
protected  void finalize()
          Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed.
 java.lang.Long getLength()
          Returns a BigInteger which specifies the length of the data stored in this object
 long length()
          Returns the length of the data in bytes
private  java.io.FileOutputStream newFile()
           
 java.io.InputStream toInputStream()
          Returns an InputStream which supplies the data stored in this object
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

path

public static java.io.File path
The path where files should be stored


readyToRead

public boolean readyToRead
Indicates whether this class is ready for reading


name

protected java.io.File name

delFile

protected boolean delFile
Constructor Detail

Data

public Data(java.io.File name)
This creates a data item from the specified file. NOTE: The file will be deleted when this object is finalized unless the fileName method is called


Data

public Data(java.io.InputStream data)
Creates a new data item reading the data from the InputStream


Data

public Data(Freenet.support.SplitOutputStream datatunnel)
Method Detail

newFile

private java.io.FileOutputStream newFile()
                                  throws java.io.IOException

length

public long length()
Returns the length of the data in bytes


fileName

public java.io.File fileName()
Returns a File containing the data. After calling this method the File will not be deleted should this Data item be finalized - thus the user takes on responsibility for deleting this file.


CopyToFile

public void CopyToFile(java.io.File f)
                throws DataNotReadyException,
                       java.io.IOException
Copies the data into the specified file, returns when copy complete


getLength

public java.lang.Long getLength()
                         throws DataNotReadyException,
                                java.io.IOException
Returns a BigInteger which specifies the length of the data stored in this object


toInputStream

public java.io.InputStream toInputStream()
                                  throws DataNotReadyException,
                                         java.io.IOException
Returns an InputStream which supplies the data stored in this object


finalize

protected void finalize()
                 throws java.lang.Throwable
Description copied from class: java.lang.Object
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from the java.lang.ref package.

Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply super.finalize().

finalize() will be called by a java.lang.Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.

If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.

It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.

Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls super.finalize().

The default implementation does nothing.


toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).