Class Patron

java.lang.Object
  |
  +--Patron

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

Patron class in regard to this particular library. Part of Blab2.java (Second = 035B Java college-class, lab assignment #2)

Author:
Robert Elton Maas
See Also:
Serialized Form

Field Summary
private  java.lang.String address
           
private  java.util.Vector booksCheckedOut
           
private  java.util.Vector booksReserved
           
private  int centsFineAlready
           
private static boolean changed
           
private static java.lang.String fn
           
private  java.lang.String name
           
private static java.util.Vector patrons
           
private  java.lang.String ptid
           
(package private) static long serialVersionUID
           
 
Constructor Summary
Patron(java.lang.String ptid, java.lang.String name, java.lang.String address)
          Constructor
 
Method Summary
 void addCheckedOut(int bkid)
          Include another book checked out by one patron
 void addFine(int more)
          Increment to static fine (books already returned)
 void addReservedBook(int bkid)
          Reserve a book for this patron
 boolean addToList()
          Add new patron to list
 java.util.Enumeration allCheckedOut()
          Enumeration of books checked out by one patron
 java.util.Enumeration allReservedBooks()
          Enumeraton of books reserved by this patron
 boolean anyCheckedOut()
          Does this patron have any books currently checked out?
static int findPatronById(java.lang.String ptid)
          Given patron card#, search for that patron
 java.lang.String getAddress()
          Accessor for patron address
 int getDynamicFine()
          Compute dynamic fine for books still checked out but overdue
 java.lang.String getId()
          Accessor for patron ID (card#)
 java.lang.String getName()
          Accessor for patron name
static Patron getPatronByIndex(int ix)
          Retrieve patron record by index
 int getStaticFine()
          Accessor for static fine
static void mayLoadPatronsDatabase()
          If patrons database exists, load it, else ask user if it's OK to start with empty database.
static void maySavePatronsDatabase()
          If any changes since last save/restore, save entire patron database to disk file.
 void removeCheckedOut(int bkid)
          Mark book no longer checked out by one patron
 void removeFromList()
          Remove this patron from list of patrons of library
 void removeReservedBook(int bkid)
          Remove a reservation on a book
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID

ptid

private java.lang.String ptid

name

private java.lang.String name

address

private java.lang.String address

booksCheckedOut

private java.util.Vector booksCheckedOut

centsFineAlready

private int centsFineAlready

booksReserved

private java.util.Vector booksReserved

patrons

private static java.util.Vector patrons

changed

private static boolean changed

fn

private static final java.lang.String fn
Constructor Detail

Patron

public Patron(java.lang.String ptid,
              java.lang.String name,
              java.lang.String address)
Constructor
Parameters:
ptid - String card# to assign to new patron
name - String name of patron
address - String address of patron
Method Detail

addReservedBook

public void addReservedBook(int bkid)
Reserve a book for this patron
Parameters:
bkid - int ID of book to be reserved

removeReservedBook

public void removeReservedBook(int bkid)
Remove a reservation on a book
Parameters:
bkid - int ID of book this patron is no longer reserving

allReservedBooks

public java.util.Enumeration allReservedBooks()
Enumeraton of books reserved by this patron
Returns:
Enumeration listing all books currently reserved by this patron

getStaticFine

public int getStaticFine()
Accessor for static fine
Returns:
int Number of cents fine against this patron for books already returned hence fines are final

anyCheckedOut

public boolean anyCheckedOut()
Does this patron have any books currently checked out?
Returns:
boolean True if at least one book checked out, else false

allCheckedOut

public java.util.Enumeration allCheckedOut()
Enumeration of books checked out by one patron
Returns:
Enumeration Listing all books checked out by this patron

getDynamicFine

public int getDynamicFine()
Compute dynamic fine for books still checked out but overdue
Returns:
int Number of cents of fine at this moment on all books checked out and currently overdue, may increase if not returned soon.

addFine

public void addFine(int more)
Increment to static fine (books already returned)
Parameters:
more - int Number of cents additional fine to charge, negative amount if paying fine

addCheckedOut

public void addCheckedOut(int bkid)
Include another book checked out by one patron
Parameters:
bkid - int ID of book being checked out by this patron

removeCheckedOut

public void removeCheckedOut(int bkid)
Mark book no longer checked out by one patron
Parameters:
bkid - int ID of book being returned by this patron

getId

public java.lang.String getId()
Accessor for patron ID (card#)
Returns:
String card# for this patron

getName

public java.lang.String getName()
Accessor for patron name
Returns:
String name of this patron

getAddress

public java.lang.String getAddress()
Accessor for patron address
Returns:
String address of this patron

findPatronById

public static int findPatronById(java.lang.String ptid)
Given patron card#, search for that patron
Parameters:
ptid - String card# of patron to search for
Returns:
int Index within list of patrons where card# found

getPatronByIndex

public static Patron getPatronByIndex(int ix)
Retrieve patron record by index
Parameters:
ix - int Index within patron list
Returns:
Patron Full record of patron retrieved at that index

addToList

public boolean addToList()
Add new patron to list
Returns:
boolean True (always succeeds)

removeFromList

public void removeFromList()
Remove this patron from list of patrons of library

mayLoadPatronsDatabase

public static void mayLoadPatronsDatabase()
If patrons database exists, load it, else ask user if it's OK to start with empty database.

maySavePatronsDatabase

public static void maySavePatronsDatabase()
If any changes since last save/restore, save entire patron database to disk file.