All Classes and Interfaces

Class
Description
The AttributedItemContainer class represents a UI component that displays an item's image along with its attribution information.
Configuration class for the application.
This enum defines the file paths for the cleaned, attributed, and cleaned & attributed CSV files.
The FilterPanel class represents a UI component that displays a set of categorical filter options as checkboxes within a titled pane.
The FiltersContainer class represents a UI component that contains multiple FilterPanel instances, each corresponding to a categorical attribute of the items.
The GeneralManager class is responsible for managing the UI elements, the search engine, and the recently viewed content.
This annotation marks code as generated, making Jacoco test coverage ignore it.
Class representing a hash key for item IDs, using universal hashing to minimize collisions in the item table.
This is used to sort a list of Rows based on a custom RowComparator.
A shopping item with various attributes.
Custom HashMap implementation for storing Item instances with their IDs as keys, using a custom universal hash function (IdHashKey) to optimize bucket distribution for the specific set of item IDs in our dataset.
Repository interface for managing items, with simple getters.
The ItemSimilarityWeights enum defines the weights used for calculating item similarity based on different attributes.
A simple wrapper class for a long value, this is used for tracking the speed of sorting algorithms.
A class that provides functionality to filter items based on their price using a PriceTree data structure for efficient retrieval.
The PriceSlider class represents a UI component that allows users to select a price range for filtering search results.
A data TreeMap holding keys of prices and values of item indices, allowing for efficient retrieval of items within a specified price range.
The QueryFilter class is responsible for filtering search results based on a user query.
Code is sourced from a MindTap exercise from the course, but modified to fit the project.
Manager for recently viewed items, bridges RecentlyViewedQueue and RecentlyViewedWindow.
RecentlyViewedQueue is a queue to manage recently viewed items, with a fixed capacity.
Window to display recently viewed items.
Comparator for sorting Rows by a specified type.
Enum representing different sorting types for rows.
The SearchBar class represents a UI component that provides a text field for users to enter search queries and a button to search.
The SearchedItemContainer class represents a UI component that contains and displays the search results as a list of SearchedItemPanel instances.
The SearchedItemPagination class represents a UI component that provides pagination for search results.
The SearchedItemPanel class represents a UI component that displays the details of a single item in the search results.
The SearchedItemPanelDestinationUI interface represents a UI component that can serve as a destination for displaying searched item panels.
Interface for interacting with instances of the SearchedItemPanel class, allowing actions to be taken when an item is selected.
The SearchedItemPanelSourceUI interface represents a UI component that can serve as a source for searched item panels.
The SearchedItemsLinkedList class represents a custom linked list data structure that organizes search results into pages.
Private inner class representing a node in the linked list.
The SearchEngine class is responsible for filtering items based on various criteria such as price range, star rating, categorical filters, and search queries.
Code originally sourced from the MindTap assignment, but modified to be more memory efficient by using a BitSet to track which numbers are not prime, and to include a method for getting the largest prime under 100 million.
Container to display similar items.
Graph data structure to represent similar items.
Inner class to represent an edge in the graph.
The SimilarItemsManager class manages the display of similar items to a selected item.
The Sorter class provides a method to sort a Table based on a given RowComparator.
The StarRatingFilter class represents a UI component that allows users to select a minimum star rating for filtering search results.
Enum for column names in the dataset, to avoid hardcoding strings throughout the codebase and reduce risk of typos.
Utility class for working with Tablesaw tables, including reading and writing CSV files.
Enum representing the IDs of various UI components for TestFX testing.
Enum for UI data names, to avoid hardcoding strings throughout the codebase and reduce risk of typos.
The UIElementManager class is responsible for managing the UI elements in the application.
Enum for UI element names, to avoid hardcoding strings throughout the codebase and reduce risk of typos.
Enum for UI size control, to centralize all size-related constants for the UI in one place.
Utility class for UI-related functions.
Enum for commonly used URLs in the application, such as attribution links and default image URLs.