Timewindow home
|
| Revision history |
| User guide |
| Installation guide |
| Time-limiting
notes |
| Directives file |
| Buildtool integration |
| License and download |
| Purchase |
| Faqs/Known issues |
| Email |
|
|
Timewindow
reads classes from a source directory, modifies them and
then writes them to a destination directory. Alternatively, this can
also be done from a source zip file to a destination zip file, or a
source jar file to a destination jar file. All the Classes that require
time-limiting are assumed to be in the source archive or directory. The
time-limited versions of these classes will be created in the
destination archive or directory.
In order to work with packages, Timewindow recursively
processes classes in sub-directories of the main source directory. The
directory structure of the source directory will be maintained in the
destination directory. Subdirectories that are needed for saving the
modified class files will be created in the destination directory, if
they don't already exist.
The date-range which is used for time-limiting the classes is
based on a start and an end date (both inclusive), which are provided
by the user. Timewindow may be used with a GUI or from the command
line. When the program is started with a GUI it will present the user
with a main window, that has a number of, buttons and fields. The user
can then select the date-range for time-limiting, the source and
destination directories and click on the Start button to start
processing. When run from the command line the parameters are specified
in a directives file.
When using the GUI only the class initializers for the selected classes
will be time-limited. There is no provision for time-limiting specific
methods with the GUI. When using the command line, time-limiting can be
done all class initializers as well as for methods that have been
specified by name. The appropriate directives must be included in the
directives file.
Note that time-checking code is only inserted into non-abstract methods
of non-interface classes.
A description of the GUI interface is given below. |
|
|
|
The menu bar
|
|
|
The menu bar consists of the following menus:
The 'File' menu
This menu is used for general program settings.
Log changes: When checked this will
record the names of the methods that have been time-limited, in the log
file.
Use Directives File: When checked, the
settings for processing will be read in from the directives file rather
than from the GUI.
Overwrite Class Files: When checked,
allows the output files created by Timewindow to overwrite any existing
files having the same name.
The 'Time-limit' menu
This menu is used for turning on time-limiting when using the GUI.
Timelimit class initializers: When
checked this will cause the class initializers of the selected
non-interface classes to be time-limited. |
|
|
|
|
The path fields
|
|
|
The fields, labelled 'Source' and 'Destination' are used to specify the
paths to the source and destination for processing. The source and
destination must be of the same type. They may be directories, Zip
files (ending in ".zip") or Jar files (ending in ".jar"). If the source
Jar file contains a manifest, then the manifest is expected to contain
a manifest version attribute. The main class attribute in the manifest
will be preserved so that an executable source Jar file will provide an
executable destination Jar file. The 'Directives File' field specifies
the path to the directives file. The paths may be entered by typing
text into the fields or by using the browse button beside each field.
|
|
|
|
|
The Date-range panel
|
|
|
This panel is used to specify the start and end dates for
time-limiting. The dates can be changed by using spinners for the day,
month and year fields. Note that the date-range includes the start and
the end date that have been specified. |
|
|
|
|
The 'Start' and 'Cancel' buttons
|
|
|
These two buttons are used respectively to start the process or cancel
it while it is in progress. |
|
|
|
|
Return code
|
|
|
Timewindow will provide a return-code on exit to indicate if an error
occured during processing of the classes. This may be used when
integrating Timewindow into a larger build process. |
|
|
|
|
The log file
|
|
|
Each session of Timewindow will overwrite the file 'TimewindowLog.txt'.
This file may contain a record of the methods that have had
time-checking code inserted into them, as well as the settings used for
the session. If an error occurs during the session this will also be
reported in the log file. If the information in the log file needs to
be saved for future reference, then this should be done immediately
after the Timewindow session, since it will be overwritten when
Timewindow is started up again. If the 'Log changes' checkbox in the
'File' menu is checked then the method names will be recorded in the
log file. |
|
|
|
|
|
|