Bookpublic class Book extends ReadingMaterial implements ExternalizableThe 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 void | readExternal(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.String | toString()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 void | writeExternal(java.io.ObjectOutput out)Mandatory writeExternal method.
// 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);
|
|