Tim Sabin's Java Programming Page
This page last updated 01/07/1999
All source code referenced by this page was designed and written by
Tim Sabin for various clients.
Specialized Report Writer
This is another program that was written ultimately for the U.S. Government, and as such is in the public domain. I have included a number of source files from this project:
BadParameterException.java
This class is used primarily to tell the user he has made an error in specifying the report parameters.
View the source.
Day.java
This class is a specialization of the TimePeriod class. A Day represents a single day as a report period.
View the source.
ErrorScreen.java
This class displays an error to the user via the Java GUI. The shell was created by SuperCede 2.01 - an IDE - but the guts were created by yours truly :-)
View the source.
HardcopyWriter.java
The class that allows output to go to a Windows 95 printer.
View the source.
LunarMonth.java
This class is a specialization of the TimePeriod class. A LunarMonth represents a 28-day (hence "LunarMonth") period as a report period.
View the source.
NoPrintjobException.java
The main purpose behind this class is to inform the user that he had cancelled the print job - and so this report cannot continue! (you can't have a report without paper - right??)
View the source.
Parameters.java
Once the users picks the parameters off the screen, they are put in a Parameters object where another part of the program picks them out and queries the database based on these parameters.
View the source.
ParameterScreen.java
This class displays the main screen - a Parameter Screen - via the Java GUI. The shell was created by SuperCede 2.01 - an IDE - but the guts were created by yours truly :-)
View the source.
Report.java
This class creates the actual report, calling methods in HardcopyWriter to send the report to the printer.
View the source.
StatusForm.java
This class displays a status message to the user via the Java GUI. The shell was created by SuperCede 2.01 - an IDE - but the guts were created by yours truly :-)
View the source.
TimePeriod.java
This is an abstract class that forms the basis for all time period classes - Day, Week, and LunarMonth
View the source.
Week.java
This class is a specialization of the TimePeriod class. A Week represents a 7-day period as a report period.
View the source.