Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
A
- addDateButton - Variable in class ProjectFormPanel
-
Button to add the entered date to the list of last printed dates.
- addDateToList(ActionEvent) - Method in class ProjectFormPanel
-
Adds the entered date to the list of last printed dates.
- addEventHandlers() - Method in class SearchDialog
-
Adds event handlers for search, enter key, close button, and double-click on table.
- addLastPrintedDates(int, List) - Static method in class Database
-
Add a collection of last-printed dates for a project in a single transaction.
- addNewProject(ActionEvent) - Method in class ProjectFormPanel
-
Validates all fields and submits the new project to the database.
- addProjectButton - Variable in class ProjectFormPanel
-
Button to submit a new project to the database.
B
- BACKUP_DIR - Static variable in class utils.DatabaseBackup
-
Directory where timestamped backups are stored.
- browseButton - Variable in class ProjectFormPanel
-
Button to open a folder chooser for selecting the project folder.
- browseForFolder(ActionEvent) - Method in class ProjectFormPanel
-
Opens a folder chooser dialog for selecting the project folder.
C
- clearForm() - Method in class ProjectFormPanel
-
Clears all form fields and resets to default values without altering layout.
- closeButton - Variable in class SearchDialog
-
Button to close the dialog.
- connect() - Static method in class Database
-
Open a JDBC connection using the configured URL and default credentials.
- connectWithTimeout() - Static method in class Database
-
Open a JDBC connection and configure a shorter lock timeout to reduce UI hangs when another process holds database locks.
- copyDirectory(Path, Path) - Static method in class FileUtils
-
Recursively copy a directory tree from
sourceDirtodestDir. - copyDirectoryAtomically(Path, Path) - Static method in class FileUtils
-
Attempt to copy an entire directory atomically; if any copy fails the destination tree will be deleted to avoid partial state.
- copyDirectoryWithConflictHandling(Path, Path) - Static method in class FileUtils
-
Copy directory tree but prompt for conflicts.
- copyRecursive(Path, Path) - Static method in class DatabaseImporter
-
Recursively copy files from
srctodst, preserving directory structure. - createBackup(String) - Static method in class utils.DatabaseBackup
-
Create a timestamped copy of the database file under the backups folder.
- createdDate - Variable in class Project
-
Timestamp when project was created
- createMainContent() - Method in class Main
-
Sets up the main content area, including welcome label and project form panel.
- createMenuBar() - Method in class Main
-
Creates the menu bar with File, Project, and Theme menus.
D
- Database - Class in Unnamed Package
-
Database helper utilities used by the application for H2 persistence.
- Database() - Constructor for class Database
-
Private constructor to prevent instantiation of this utility class.
- Database.DatabaseOperation - Interface in Unnamed Package
-
Functional interface used by transaction helpers.
- Database.TransactionCode - Interface in Unnamed Package
-
Backwards-compatible alias used in some places in the codebase.
- DatabaseBackup - Class in utils
-
Utilities for creating, restoring and validating simple file-based backups of the H2 database used by the application.
- DatabaseBackup() - Constructor for class utils.DatabaseBackup
-
Private constructor to prevent instantiation of this utility class.
- DatabaseImporter - Class in Unnamed Package
-
CLI utility to import a directory of project files into the application's projects repository and persist a corresponding database record.
- DatabaseImporter() - Constructor for class DatabaseImporter
-
Private constructor to prevent instantiation; this class is a CLI utility.
- databasePathField - Variable in class ui.SettingsPanel
-
Input field for the database path.
- dateListModel - Variable in class ProjectFormPanel
-
List model holding last-printed date strings.
- datePickerButton - Variable in class ProjectFormPanel
-
Button to open a date picker dialog.
- deleteDirectory(Path) - Static method in class FileUtils
-
Recursively delete a directory.
- description - Variable in class Project
-
Project description or notes
E
- ensureConsistentFontSize() - Method in class Main
-
Ensure a consistent large font is applied across common UI components.
- ErrorHandler - Class in utils
-
Centralized error and logging helper used across the UI and utilities.
- ErrorHandler() - Constructor for class utils.ErrorHandler
-
Private constructor to prevent instantiation of this utility class.
- execute() - Method in interface utils.FileOperation
-
Execute the file operation.
- execute(Connection) - Method in interface Database.DatabaseOperation
-
Execute database operations using the provided connection.
- execute(Connection) - Method in interface Database.TransactionCode
-
Execute transactional code using the provided connection.
- executeTransaction(Database.DatabaseOperation) - Static method in class Database
-
Execute code inside a transaction.
- executeTransactionWithRollback(Database.DatabaseOperation) - Static method in class Database
-
Similar to
Database.executeTransaction(DatabaseOperation)but logs the error before rethrowing so callers may avoid duplicating logging logic. - exitApplication(ActionEvent) - Method in class Main
-
Exit the application immediately.
- exportAllProjects(List, String) - Static method in class utils.JsonExporter
-
Export a list of projects to a pretty-printed JSON array file.
- exportAllProjectsCompact(List, String) - Static method in class utils.JsonExporter
-
Export projects in compact (no indentation) form suitable for smaller files.
- exportProject(Map, String) - Static method in class utils.JsonExporter
-
Write a single project map to disk as a pretty-printed JSON object.
- exportReportToCsv(JSONObject, String) - Static method in class reports.ReportGenerator
-
Export a JSON report to a simple CSV text representation.
- exportReportToJson(JSONObject, String) - Static method in class reports.ReportGenerator
-
Persist a JSON report to disk as pretty-printed JSON.
F
- FileOperation - Interface in utils
-
Functional interface for file operations.
- filePath - Variable in class Project
-
Absolute path to project files on disk
- FileUtils - Class in Unnamed Package
-
Utility class for common file operations used by the UI and import helpers.
- FileUtils - Class in utils
-
Utility class for file operations.
- FileUtils() - Constructor for class FileUtils
-
Private constructor to prevent instantiation of this utility class.
- FileUtils() - Constructor for class utils.FileUtils
-
Utility class — do not instantiate.
- filterProjects(String) - Method in class ProjectFormPanel
-
Filters the projects displayed in the panel based on the search query.
G
- generateProjectFrequencyReport(List) - Static method in class reports.ReportGenerator
-
Create a frequency report indicating the most- and least-printed project names from a list of project maps.
- getCreatedDate() - Method in class Project
-
Returns the timestamp when the project record was created.
- getDescription() - Method in class Project
-
Returns the project's description or user-supplied notes.
- getFilePath() - Method in class Project
-
Returns the absolute filesystem path where the project's files reside.
- getId() - Method in class Project
-
Returns the unique database identifier for this project.
- getInstance() - Static method in class Main
-
Return the singleton `Main` instance, creating it if necessary.
- getLastPrintedDates() - Method in class Project
-
Retrieve the list of last-printed timestamps recorded for this project.
- getName() - Method in class Project
-
Returns the human-readable project name.
- getProjectType() - Method in class Project
-
Returns the project type or category (e.g., Prototype, Final Print).
H
- H2 database details - Section in class Database
- handleFileConflict(Path) - Static method in class FileUtils
-
Prompt the user for conflict resolution when a destination path already exists.
- hasEnoughDiskSpace(Path, Path) - Static method in class FileUtils
-
Estimate whether the destination has enough usable space to copy the full contents of the source directory.
I
- id - Variable in class Project
-
Unique project ID (primary key in database)
- importProjects(String) - Static method in class utils.JsonImporter
-
Read a JSON array of projects and return a list of maps with the extracted fields.
- importProjectsFromJsonFile(String) - Static method in class utils.JsonImporter
-
Backwards-compatible wrapper expected by tests and callers.
- initializeComponents() - Method in class SearchDialog
-
Initializes all UI components and configures the results table.
- initializeDatabase() - Method in class Main
-
Initializes the database tables if they do not exist.
- insertProject(String, String, String, String) - Static method in class Database
-
Insert a new project record and return the generated primary key.
- instance - Static variable in class Main
-
Singleton instance of the main application window.
- INTELLIJ_THEMES - Static variable in class Main
-
Map of available IntelliJ themes for FlatLaf look and feel.
- isDatabaseCorrupted() - Static method in class Database
-
Quick corruption test: attempt a simple query and report failure.
J
- JsonExporter - Class in utils
-
Helpers to export project metadata to JSON files.
- JsonExporter() - Constructor for class utils.JsonExporter
-
Private constructor to prevent instantiation of this utility class.
- JsonImporter - Class in utils
-
Utilities to import project metadata from JSON files.
- JsonImporter() - Constructor for class utils.JsonImporter
-
Private constructor to prevent instantiation of this utility class.
L
- lastPrintedDateField - Variable in class ProjectFormPanel
-
Date input field for last printed date (format yyyy-MM-dd).
- lastPrintedDates - Variable in class Project
-
List of timestamps recording last printed dates
- lastPrintedDatesList - Variable in class ProjectFormPanel
-
UI list showing last-printed dates.
- layoutComponents() - Method in class SearchDialog
-
Lays out all UI components in the dialog using BorderLayout.
- loadAllProjects() - Method in class SearchDialog
-
Loads all projects from the database and displays them in the results table.
- loadProjectButton - Variable in class ProjectFormPanel
-
Button to load an existing project into the form.
- loadProjectButton - Variable in class SearchDialog
-
Button to load the selected project into the main form.
- loadProjectById(int) - Static method in class Database
-
Load project record by id.
- loadProjectData(ActionEvent) - Method in class ProjectFormPanel
-
Prompt for a project ID and load its data into the form fields.
- loadProjectDetails(String, String, String, String) - Method in class Main
-
Loads the selected project details into the main form.
- loadSelectedProject() - Method in class SearchDialog
-
Loads the details of the selected project into the main form.
- loadSettings() - Method in class ui.SettingsPanel
-
Load settings from the properties file.
- logError(String, Throwable) - Static method in class utils.ErrorHandler
-
Log a severe error with an exception.
- logger - Static variable in class utils.ErrorHandler
-
Logger used for application diagnostics and error recording.
- logInfo(String) - Static method in class utils.ErrorHandler
-
Log an informational message.
- logWarning(String) - Static method in class utils.ErrorHandler
-
Log a warning message.
M
- main(String[]) - Static method in class DatabaseImporter
-
CLI entry point for importing a folder of project files into the application.
- main(String[]) - Static method in class Main
-
Main entry point.
- Main - Class in Unnamed Package
-
Main application window for the 3D Print Job Tracker GUI.
- Main() - Constructor for class Main
-
Constructs the main application window, initializes database, menu bar, and content.
N
O
- openDatePicker(ActionEvent) - Method in class ProjectFormPanel
-
Opens a date picker dialog for selecting a date.
- openFolder(String) - Static method in class FileUtils
-
Open the operating system's file browser at the given path.
- openFolderButton - Variable in class SearchDialog
-
Button to open the selected project's folder in the system file explorer.
- openSearchDialog(ActionEvent) - Method in class Main
-
Opens the SearchDialog for searching projects.
- openSelectedProjectFolder() - Method in class SearchDialog
-
Opens the selected project's folder in the system file explorer.
P
- performBackup(ActionEvent) - Method in class Main
-
Create a backup of the H2 database file.
- performRestore(ActionEvent) - Method in class Main
-
Restore the database from a backup.
- performScheduledBackup() - Method in class Main
-
Perform a scheduled backup of the H2 database file.
- performSearch() - Method in class SearchDialog
-
Performs a search for projects by name or description using the search field value.
- Project - Class in Unnamed Package
-
Represents a single 3D print project stored by the application.
- Project(int, String, String, String, String, Timestamp) - Constructor for class Project
-
Create a new Project instance with metadata values.
- projectForm - Variable in class Main
-
Main project form panel displayed in the center of the window.
- ProjectFormPanel - Class in Unnamed Package
-
Panel for entering and submitting new 3D print project data.
- ProjectFormPanel() - Constructor for class ProjectFormPanel
-
Constructs the project form panel and lays out all fields and buttons.
- projectNameField - Variable in class ProjectFormPanel
-
Project name input field.
- projectNotesArea - Variable in class ProjectFormPanel
-
Notes input area for additional project information.
- projectPathField - Variable in class ProjectFormPanel
-
Read-only field showing the selected project folder path.
- projectRecipientField - Variable in class ProjectFormPanel
-
Input field for the project recipient.
- projectTagsList - Variable in class ProjectFormPanel
-
Multi-selection list of project tags/categories.
- projectType - Variable in class Project
-
Project type (e.g., Prototype, Final Print)
- projectTypeComboBox - Variable in class ProjectFormPanel
-
Project type dropdown.
R
- recoverDatabase() - Static method in class Database
-
Recover from the most recent backup found in `app_home/backups/`.
- removeDateButton - Variable in class ProjectFormPanel
-
Button to remove the selected date from the date list.
- removeSelectedDate(ActionEvent) - Method in class ProjectFormPanel
-
Removes the selected date from the list of last printed dates.
- ReportGenerator - Class in reports
-
Simple reporting utilities which produce JSON or CSV summaries from the in-memory project representations.
- ReportGenerator() - Constructor for class reports.ReportGenerator
-
Private constructor to prevent instantiation of this utility class.
- reports - package reports
- restoreBackup(String, String) - Static method in class utils.DatabaseBackup
-
Restore a backup file to the live database location by copying the file.
- resultsTable - Variable in class SearchDialog
-
Table displaying search results.
- retryFileOperation(FileOperation, int) - Static method in class utils.FileUtils
-
Retries a file operation multiple times in case of transient failures.
S
- saveSettings(ActionEvent) - Method in class ui.SettingsPanel
-
Persist the current values to the properties file.
- scheduleDailyBackups() - Method in class Main
-
Schedules automatic daily database backups.
- searchButton - Variable in class SearchDialog
-
Button to trigger a search.
- SearchDialog - Class in Unnamed Package
-
Modal dialog used to search and browse existing projects stored in the application's database.
- SearchDialog(JFrame) - Constructor for class SearchDialog
-
Constructs the search dialog and initializes all UI components.
- searchField - Variable in class SearchDialog
-
Search input field.
- searchProjectsButton - Variable in class ProjectFormPanel
-
Button to open the search dialog for projects.
- selectedFolder - Variable in class ProjectFormPanel
-
Currently selected project folder on disk (may be null).
- setLastPrintedDates(List) - Method in class Project
-
Replace the cached list of last-printed timestamps for the project.
- setProjectDetails(String, String, String, String) - Method in class ProjectFormPanel
-
Sets the project details in the form fields.
- settings - Variable in class ui.SettingsPanel
-
In-memory settings loaded from `app_settings.properties`.
- SETTINGS_FILE - Static variable in class ui.SettingsPanel
-
Filename where application settings are persisted.
- SettingsPanel - Class in ui
-
Simple settings UI panel that allows editing small application preferences persisted to `app_settings.properties` in the application working directory.
- SettingsPanel() - Constructor for class ui.SettingsPanel
-
Create the settings panel and load persisted values.
- showAboutDialog(ActionEvent) - Method in class Main
-
Show the About dialog containing version and author information.
- showErrorToUser(String, String) - Static method in class utils.ErrorHandler
-
Show a user-facing error dialog while logging technical details to the configured log file.
- showShortcutsDialog(ActionEvent) - Method in class Main
-
Shows a brief list of keyboard shortcuts in an information dialog.
- showUserGuide(ActionEvent) - Method in class Main
-
Display a brief user guide in a dialog.
T
- tableModel - Variable in class SearchDialog
-
Table model backing the results table.
- themeSelector - Variable in class ui.SettingsPanel
-
Selector for choosing the application theme.
- toggleTheme(ActionEvent) - Method in class Main
-
Apply the selected theme and persist the choice to settings.
U
- ui - package ui
- updateProject(int, String, String, String, String, String) - Static method in class Database
-
Update a project's metadata in the database.
- updateProjectButton - Variable in class ProjectFormPanel
-
Button to update an existing project's details.
- updateProjectData(ActionEvent) - Method in class ProjectFormPanel
-
Prompt for a project ID and update the project's details in the database using the values currently set in the form.
- updateSchema() - Static method in class Database
-
Apply simple schema updates to ensure optional columns exist.
- URL - Static variable in class Database
-
JDBC URL for H2 database file location
- utils - package utils
V
- validateDate(String) - Method in class ProjectFormPanel
-
Validates the date format and ensures it is not in the future.
- validateFilePath(String) - Method in class ProjectFormPanel
-
Validates the file path for existence and accessibility.
- validateJsonStructure(String) - Static method in class utils.JsonImporter
-
Quick validation that the file contains a JSON array.
- validateProjectName(String) - Method in class ProjectFormPanel
-
Validates the project name for length and invalid characters.
- validateTextLengths(String, String) - Method in class ProjectFormPanel
-
Validates the length of the project name and description.
- verifyBackup(String) - Static method in class utils.DatabaseBackup
-
Basic existence check for a backup file.
- verifyBackupIntegrity(String) - Static method in class utils.DatabaseBackup
-
More thorough verification that attempts to copy the backup to a temporary location and checks that the temporary file is usable (non-zero size).
- verifyDatabaseAndScheduleBackups() - Method in class Main
-
Verifies the integrity of the database and schedules automatic backups.
- verifyDatabaseIntegrity() - Static method in class Database
-
Basic integrity check ensuring required tables exist.
- verifyFileIntegrity(Path, Path) - Static method in class utils.FileUtils
-
Verifies the integrity of a file by comparing its size before and after copying.
- verifyIntegrity(Path, Path) - Static method in class FileUtils
-
Verify copied files match the source by checking file presence and size.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form