FileDocCategorySizeDatePackage
Book.javaAPI DocExample3530Wed Apr 19 11:21:16 BST 2000None

Book

public class Book extends ReadingMaterial implements Externalizable
The Externalizable subclass. Will save the state of its superclass by calling the superclass's writeExternal and readExternal Methods from within its own writeExternal and readExternal methods

Fields Summary
private int
numpages
private String
name
private boolean
ishardcover
Constructors Summary
public Book()
mandatory public no-arg constructor

 
	super(); 
public Book(int pages, String n, boolean hardcover, String author, String subject, int yearwritten)


	super(author, subject, yearwritten);
	numpages = pages;
	name = n;
	ishardcover = hardcover;
    
Methods Summary
public voidreadExternal(java.io.ObjectInput in)
Mandatory readExternal method. Will read in the data that we wrote out in the writeExternal method. Restores the state of the superclass first by calling the superclass's readExternal method. Then, restores its own fields. These fields MUST BE IN THE SAME ORDER AND TYPE as we wrote them out. By the time, readExternal is called, an object of this class has already been created using the public no-arg constructor, so this method is used to restore the data to all of the fields of the newly created object.


      // first call the superclass external method
    super.readExternal(in);
    
    // now take care of this subclass's fields
    numpages = in.readInt();
    name = (String)in.readObject();
    ishardcover= in.readBoolean();
  
public java.lang.StringtoString()
Prints out the fields. used for testing!

        return("Name: " + name + "\n" + "Author: " + super.getAuthor() + "\n" + "Pages: "
+ numpages + "\n" + "Subject: " + super.getSubject() + "\n" + "Year: " + super.getYearwritten() + "\n" );
    
public voidwriteExternal(java.io.ObjectOutput out)
Mandatory writeExternal method.

serialData
Saves state of its superclass by calling its writeExternal method and then save its own fields. Writes numpages field as int, name field as an object and ishardcover field as a boolean.
see
ReadingMaterial#writeExternal(ObjectOutput)

	
	// first we call the writeExternal of the superclass as to write
	// all the superclass data fields
	super.writeExternal(out);

	// now we take care of this class's fields
	out.writeInt(numpages);
	out.writeObject(name);
	out.writeBoolean(ishardcover);