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.