Index

A B C D E F G H I J L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Serialized Form

A

add(Book) - Method in interface com.university.bookstore.api.BookstoreAPI
Adds a book to the inventory.
add(Book) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
addAnnotation(String) - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Adds an annotation to the material.
addBundle(MaterialBundle) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Adds a bundle to this bundle (nested bundles).
addBundleToBundle(String, String) - Method in class com.university.bookstore.composite.BundleService
Adds a bundle to another bundle (nested bundles).
addComponent(MaterialComponent) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Adds a material component to the bundle.
addComponent(MaterialComponent) - Method in class com.university.bookstore.composite.MaterialBundle
Adds a component to this bundle.
addComponents(List<MaterialComponent>) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Adds multiple components to the bundle.
addComponentToBundle(String, MaterialComponent) - Method in class com.university.bookstore.composite.BundleService
Adds a component to the specified bundle.
addDigitalAnnotations(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Adds digital annotations to a material.
addExpeditedDelivery(Material, int) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Adds expedited delivery to a material.
addGiftWrapping(Material, String) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Adds gift wrapping to a material.
addMaterial(Material) - Method in interface com.university.bookstore.api.MaterialStore
Adds a material to the store inventory.
addMaterial(Material) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Adds a material to the bundle.
addMaterial(Material) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
addMaterial(Material) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
addMaterial(Material) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
addMaterial(Material) - Method in class com.university.bookstore.search.CachedSearchService
Adds a material to the search index and invalidates relevant cache entries.
addMaterial(Material) - Method in class com.university.bookstore.service.MaterialService
Adds a material to the system with business logic validation.
addMaterialAsync(Material) - Method in interface com.university.bookstore.api.ModernMaterialStore
Adds material asynchronously.
addMaterialAsync(Material) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Adds material asynchronously.
addMaterials(List<Material>) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Adds multiple materials to the bundle.
addMaterialsBatchAsync(Collection<Material>) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Adds multiple materials in batch asynchronously.
addMaterialsBatchAsync(List<Material>) - Method in interface com.university.bookstore.api.ModernMaterialStore
Adds multiple materials in batch.
addObserver(MaterialObserver) - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
addObserver(MaterialObserver) - Method in interface com.university.bookstore.observer.MaterialSubject
Adds an observer to receive material events.
addToBundle(String, Material) - Method in class com.university.bookstore.composite.BundleService
Adds a material to the specified bundle.
AdvancedMaterialFactory - Class in com.university.bookstore.factory
Enhanced factory for creating Material instances with advanced validation and type-safe property extraction.
AdvancedMaterialFactory() - Constructor for class com.university.bookstore.factory.AdvancedMaterialFactory
 
advancedSearchAsync(ModernMaterialStore.SearchCriteria) - Method in interface com.university.bookstore.api.ModernMaterialStore
Performs advanced search with multiple criteria.
allMatch(MaterialIterator, Predicate<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Checks if all materials match a predicate.
AnalyticsData(int, double, int, Map<String, Integer>, Map<String, Integer>, long, long, long, double) - Constructor for class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Creates analytics data with comprehensive statistics.
AnalyticsObserver - Class in com.university.bookstore.observer
Observer that collects analytics data from material events.
AnalyticsObserver() - Constructor for class com.university.bookstore.observer.AnalyticsObserver
Creates a new analytics observer.
AnalyticsObserver.AnalyticsData - Class in com.university.bookstore.observer
Comprehensive analytics data container.
ANNUAL - Enum constant in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 
anyMatch(MaterialIterator, Predicate<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Checks if any material matches a predicate.
ApprovalStats(int, int, int, double, double) - Constructor for class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
AUDIO_BOOK - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
AudioBook - Class in com.university.bookstore.model
Represents an audio book that implements both Material and Media interfaces.
AudioBook(String, String, String, String, double, int, int, String, double, Media.MediaQuality, String, boolean) - Constructor for class com.university.bookstore.model.AudioBook
Creates a new AudioBook with full specifications.
AuditLogEntry(long, String, String, String, String) - Constructor for class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
Creates an audit log entry.
AuditLogObserver - Class in com.university.bookstore.observer
Observer that maintains an audit log of all material events.
AuditLogObserver() - Constructor for class com.university.bookstore.observer.AuditLogObserver
Creates a new audit log observer with unlimited log size.
AuditLogObserver(int) - Constructor for class com.university.bookstore.observer.AuditLogObserver
Creates a new audit log observer with the specified maximum log size.
AuditLogObserver.AuditLogEntry - Class in com.university.bookstore.observer
Represents a single audit log entry.
AuditLogObserver.AuditLogStats - Class in com.university.bookstore.observer
Statistics for the audit log.
AuditLogStats(int, int, int, long, long) - Constructor for class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
Creates audit log statistics.
averageLoadTime() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the averageLoadTime record component.
averagePrice() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns the value of the averagePrice record component.
averagePrice(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Calculates the average price of books in the array.

B

BatchOperationResult(int, int, List<String>) - Constructor for record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Creates an instance of a BatchOperationResult record class.
BIWEEKLY - Enum constant in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 
Book - Class in com.university.bookstore.model
Represents an immutable book in the bookstore inventory.
Book(String, String, String, double, int) - Constructor for class com.university.bookstore.model.Book
Creates a new Book with validation.
BOOK - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
BookArrayUtils - Class in com.university.bookstore.utils
Utility class for array-based operations on Book objects.
BookstoreAPI - Interface in com.university.bookstore.api
Defines the contract for bookstore operations.
BookstoreApplication - Class in com.university.bookstore
Spring Boot application entry point for the Bookstore Management System.
BookstoreApplication() - Constructor for class com.university.bookstore.BookstoreApplication
 
BookstoreArrayList - Class in com.university.bookstore.impl
ArrayList-based implementation of the BookstoreAPI.
BookstoreArrayList() - Constructor for class com.university.bookstore.impl.BookstoreArrayList
Creates a new empty bookstore.
BookstoreArrayList(Collection<Book>) - Constructor for class com.university.bookstore.impl.BookstoreArrayList
Creates a bookstore with initial books.
build() - Method in class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 
build() - Method in interface com.university.bookstore.builder.ComponentBuilder
Builds and returns the component instance.
build() - Method in class com.university.bookstore.builder.EBookBuilder
 
build() - Method in interface com.university.bookstore.builder.MaterialBuilder
Builds and returns the material instance.
build() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
 
buildBasicEBook(String, String, String, double) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a basic EBook with minimal features.
buildCourseBundle(String, List<Material>) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a course bundle with a 25% discount.
buildCustomBundle(String, List<Material>, double) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a custom bundle with specified parameters.
builder() - Static method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Creates a new builder.
Builder() - Constructor for class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 
buildNestedBundle(String, List<MaterialBundle>, double) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a nested bundle (bundle containing other bundles).
buildPremiumBundle(String, List<Material>) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a premium bundle with a 30% discount.
buildPremiumEBook(String, String, String, double) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a premium EBook with all features enabled.
buildStarterBundle(String, List<Material>) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a starter bundle with a 10% discount.
buildStudentEBook(String, String, String, double) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a student EBook with educational features.
buildTextbookBundle(String, List<Material>) - Method in class com.university.bookstore.builder.MaterialDirector
Constructs a textbook bundle with a 20% discount.
BundleService - Class in com.university.bookstore.composite
Service for managing material bundles using the Composite pattern.
BundleService() - Constructor for class com.university.bookstore.composite.BundleService
Creates a new bundle service.
BundleService.BundleStats - Class in com.university.bookstore.composite
Statistics class for bundle analysis.
BundleStats(int, int, double, double, double, double) - Constructor for class com.university.bookstore.composite.BundleService.BundleStats
 

C

CachedSearchService - Class in com.university.bookstore.search
Service that integrates Trie-based prefix search with LRU caching for optimal performance.
CachedSearchService(MaterialRepository, int) - Constructor for class com.university.bookstore.search.CachedSearchService
Creates a new cached search service.
CacheStats(int, int, double, double, long, long) - Constructor for class com.university.bookstore.search.SearchResultCache.CacheStats
 
CacheStats(long, long, long, long, double, double, int, long) - Constructor for record class com.university.bookstore.search.ModernSearchCache.CacheStats
Creates an instance of a CacheStats record class.
calculateAnnualSubscription() - Method in class com.university.bookstore.model.Magazine
Calculates annual subscription cost with discount.
calculateBundleSavings(String) - Method in class com.university.bookstore.composite.BundleService
Calculates the total savings for a bundle.
calculateEnhancementCost(Material, Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Calculates the total enhancement cost for a material.
calculateFinalPrice(DiscountRequest) - Method in class com.university.bookstore.chain.DiscountApprovalService
Calculates the final price for an approved discount request.
calculateListeningSessions(int) - Method in class com.university.bookstore.model.AudioBook
Calculates listening sessions based on daily listening time.
calculateShippingCost(Material) - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Calculates shipping cost for a single material.
calculateTotalSavings() - Method in class com.university.bookstore.composite.BundleService
Calculates the total savings across all bundles.
canApprove(double) - Method in class com.university.bookstore.chain.DiscountHandler
Checks if this handler can approve the given discount amount.
clear() - Method in class com.university.bookstore.impl.BookstoreArrayList
Clears all books from the inventory.
clear() - Method in class com.university.bookstore.observer.AnalyticsObserver
Clears all analytics data.
clear() - Method in class com.university.bookstore.observer.InventoryObserver
Clears all inventory data.
clear() - Method in class com.university.bookstore.search.CachedSearchService
Clears the search index and cache.
clear() - Method in class com.university.bookstore.search.MaterialTrie
Clears all materials from the trie.
clear() - Method in class com.university.bookstore.search.SearchResultCache
Clears all entries from the cache.
clearAllBundles() - Method in class com.university.bookstore.composite.BundleService
Clears all bundles.
clearAllMaterials() - Method in class com.university.bookstore.service.MaterialService
Clears all materials from the system.
clearAnnotations() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Clears all annotations.
clearAuditLog() - Method in class com.university.bookstore.observer.AuditLogObserver
Clears the audit log.
clearComponents() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Clears all components from the bundle.
clearInventory() - Method in interface com.university.bookstore.api.MaterialStore
Clears all materials from the store.
clearInventory() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
clearInventory() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
clearInventory() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
clearObservers() - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
clearObservers() - Method in interface com.university.bookstore.observer.MaterialSubject
Clears all observers.
clearRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService
Clears all processed requests.
close() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
close() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
close() - Method in class com.university.bookstore.search.ModernSearchCache
 
collectAll(MaterialIterator) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Collects all materials from an iterator into a list.
com.university.bookstore - package com.university.bookstore
 
com.university.bookstore.api - package com.university.bookstore.api
 
com.university.bookstore.builder - package com.university.bookstore.builder
 
com.university.bookstore.chain - package com.university.bookstore.chain
 
com.university.bookstore.composite - package com.university.bookstore.composite
 
com.university.bookstore.controller - package com.university.bookstore.controller
 
com.university.bookstore.decorator - package com.university.bookstore.decorator
 
com.university.bookstore.demo - package com.university.bookstore.demo
 
com.university.bookstore.factory - package com.university.bookstore.factory
 
com.university.bookstore.impl - package com.university.bookstore.impl
 
com.university.bookstore.iterator - package com.university.bookstore.iterator
 
com.university.bookstore.model - package com.university.bookstore.model
 
com.university.bookstore.observer - package com.university.bookstore.observer
 
com.university.bookstore.repository - package com.university.bookstore.repository
 
com.university.bookstore.search - package com.university.bookstore.search
 
com.university.bookstore.service - package com.university.bookstore.service
 
com.university.bookstore.utils - package com.university.bookstore.utils
 
com.university.bookstore.visitor - package com.university.bookstore.visitor
 
compareTo(Book) - Method in class com.university.bookstore.model.Book
Compares this book with another book based on title (alphabetical order).
compareTo(Material) - Method in class com.university.bookstore.model.Material
Compares materials by title for natural ordering.
ComponentBuilder<T> - Interface in com.university.bookstore.builder
Builder interface for creating MaterialComponent instances.
ConcurrentMaterialStore - Class in com.university.bookstore.impl
Thread-safe implementation of MaterialStore using synchronization primitives.
ConcurrentMaterialStore() - Constructor for class com.university.bookstore.impl.ConcurrentMaterialStore
Creates a new thread-safe material store.
ConcurrentMaterialStore(Collection<Material>) - Constructor for class com.university.bookstore.impl.ConcurrentMaterialStore
Creates a material store with initial materials.
containsKey(String) - Method in class com.university.bookstore.search.ModernSearchCache
Checks if a key is cached.
containsKey(String) - Method in class com.university.bookstore.search.SearchResultCache
Checks if the cache contains results for the given key.
containsMaterial(Material) - Method in class com.university.bookstore.composite.MaterialBundle
Checks if this bundle contains the specified material.
containsType(Material.MaterialType) - Method in class com.university.bookstore.composite.MaterialBundle
Checks if this bundle contains any materials of the specified type.
count() - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
count() - Method in interface com.university.bookstore.repository.MaterialRepository
Counts the total number of materials in the repository.
count() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
count(MaterialIterator, Predicate<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Counts materials matching a predicate.
countBeforeYear(Book[], int) - Static method in class com.university.bookstore.utils.BookArrayUtils
Counts books published before a given year.
countByAuthor(Book[], String) - Static method in class com.university.bookstore.utils.BookArrayUtils
Counts books by a specific author (case-insensitive, exact match).
countByDecade(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Groups books by decade and returns a summary.
createAudioBookIterator(List<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates an audio book iterator.
createBackup() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Creates a backup of the current data file.
createBookIterator(List<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a book iterator.
createBundle(String, double) - Method in class com.university.bookstore.composite.BundleService
Creates a new material bundle with the specified name and discount.
createBundleBuilder() - Method in class com.university.bookstore.builder.MaterialDirector
Creates a new MaterialBundle builder instance.
createCheapIterator(List<Material>, double) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a cheap materials iterator.
createDigitalPackage(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Creates a digital package with digital annotations (for e-books only).
createEBookBuilder() - Method in class com.university.bookstore.builder.MaterialDirector
Creates a new EBook builder instance.
createEBookIterator(List<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates an e-book iterator.
createExpensiveIterator(List<Material>, double) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates an expensive materials iterator.
createGiftPackage(Material, String, int) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Creates a gift package with gift wrapping and expedited delivery.
createMagazineIterator(List<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a magazine iterator.
createMaterial(Material) - Method in class com.university.bookstore.controller.MaterialController
POST /api/materials - Create a new material
createMaterial(String, Map<String, Object>) - Static method in class com.university.bookstore.factory.AdvancedMaterialFactory
Creates a Material instance based on the specified type and properties.
createMaterial(String, Map<String, Object>) - Static method in class com.university.bookstore.factory.MaterialFactory
Creates a Material instance based on the specified type and properties.
createPremiumPackage(Material, String, int) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Creates a premium package with multiple enhancements.
createPriceRangeIterator(List<Material>, double, double) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a price range iterator.
createPriceSortedIterator(List<Material>, boolean) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a price-sorted iterator.
createTypeIterator(List<Material>, Material.MaterialType) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a type-filtering iterator.
createVideoIterator(List<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Creates a video iterator.
creator() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the creator record component.

D

DAILY - Enum constant in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 
dataFileExists() - Method in class com.university.bookstore.repository.JsonMaterialRepository
Checks if the data file exists.
dataFileExists() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Checks if the data file exists.
delete(String) - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
delete(String) - Method in interface com.university.bookstore.repository.MaterialRepository
Deletes a material by its ID.
delete(String) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
deleteAll() - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
deleteAll() - Method in interface com.university.bookstore.repository.MaterialRepository
Deletes all materials from the repository.
deleteAll() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
deleteAll(Collection<String>) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Deletes multiple materials in batch.
deleteMaterial(String) - Method in class com.university.bookstore.controller.MaterialController
DELETE /api/materials/{id} - Delete a material
DigitalAnnotationDecorator - Class in com.university.bookstore.decorator
Decorator that adds digital annotation functionality to materials.
DigitalAnnotationDecorator(Material) - Constructor for class com.university.bookstore.decorator.DigitalAnnotationDecorator
Creates a new digital annotation decorator.
DirectorHandler - Class in com.university.bookstore.chain
Director-level discount approval handler.
DirectorHandler() - Constructor for class com.university.bookstore.chain.DirectorHandler
 
disableDRM() - Method in class com.university.bookstore.builder.EBookBuilder
Sets DRM enabled to false.
DiscountApprovalService - Class in com.university.bookstore.chain
Service for managing discount approval using the Chain of Responsibility pattern.
DiscountApprovalService() - Constructor for class com.university.bookstore.chain.DiscountApprovalService
Creates a new discount approval service with the default chain.
DiscountApprovalService(DiscountHandler) - Constructor for class com.university.bookstore.chain.DiscountApprovalService
Creates a new discount approval service with a custom chain.
DiscountApprovalService.ApprovalStats - Class in com.university.bookstore.chain
Statistics class for approval analysis.
DiscountHandler - Class in com.university.bookstore.chain
Abstract base class for discount approval handlers in the Chain of Responsibility pattern.
DiscountHandler() - Constructor for class com.university.bookstore.chain.DiscountHandler
 
DiscountRequest - Class in com.university.bookstore.chain
Request object for discount approval in the Chain of Responsibility pattern.
DiscountRequest(Material, double, String, String) - Constructor for class com.university.bookstore.chain.DiscountRequest
Creates a new discount request.
DOCUMENTARY - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
DOCUMENTARY - Enum constant in enum class com.university.bookstore.model.VideoMaterial.VideoType
 

E

E_BOOK - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
EBook - Class in com.university.bookstore.model
Represents an electronic book (e-book) in the bookstore system.
EBook(String, String, String, double, int, String, double, boolean, int, Media.MediaQuality) - Constructor for class com.university.bookstore.model.EBook
Constructs a new EBook with validation.
EBOOK - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
EBookBuilder - Class in com.university.bookstore.builder
Builder for creating EBook instances with a fluent interface.
EBookBuilder() - Constructor for class com.university.bookstore.builder.EBookBuilder
 
EDUCATIONAL - Enum constant in enum class com.university.bookstore.model.VideoMaterial.VideoType
 
empty() - Static method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Creates an empty stats instance.
enableDRM() - Method in class com.university.bookstore.builder.EBookBuilder
Sets DRM enabled to true.
equals(Object) - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class com.university.bookstore.chain.DiscountRequest
 
equals(Object) - Method in class com.university.bookstore.composite.MaterialBundle
 
equals(Object) - Method in class com.university.bookstore.composite.MaterialLeaf
 
equals(Object) - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
 
equals(Object) - Method in class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
 
equals(Object) - Method in class com.university.bookstore.decorator.GiftWrappingDecorator
 
equals(Object) - Method in class com.university.bookstore.decorator.MaterialDecorator
 
equals(Object) - Method in class com.university.bookstore.model.Book
Checks if this book is equal to another object.
equals(Object) - Method in class com.university.bookstore.model.EBook
 
equals(Object) - Method in class com.university.bookstore.model.Material
Materials are equal if they have the same ID.
equals(Object) - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
equals(Object) - Method in class com.university.bookstore.observer.PriceChangedEvent
 
equals(Object) - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Indicates whether some other object is "equal to" this one.
errors() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Returns the value of the errors record component.
estimateDownloadTime(double) - Method in interface com.university.bookstore.model.Media
Calculates estimated download time based on connection speed.
estimateReadingTime(int) - Method in class com.university.bookstore.model.PrintedBook
Calculates estimated reading time based on average reading speed.
evictionCount() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the evictionCount record component.
exists(String) - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
exists(String) - Method in interface com.university.bookstore.repository.MaterialRepository
Checks if a material with the given ID exists.
exists(String) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
ExpeditedDeliveryDecorator - Class in com.university.bookstore.decorator
Decorator that adds expedited delivery functionality to materials.
ExpeditedDeliveryDecorator(Material, int) - Constructor for class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
Creates a new expedited delivery decorator.

F

failed() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Returns the value of the failed record component.
filterByDecade(Book[], int) - Static method in class com.university.bookstore.utils.BookArrayUtils
Filters books published in a specific decade.
filterByYearRange(Book[], int, int) - Static method in class com.university.bookstore.utils.BookArrayUtils
Finds books within a year range (inclusive).
filterMaterials(Predicate<Material>) - Method in interface com.university.bookstore.api.MaterialStore
Filters materials by a custom predicate.
filterMaterials(Predicate<Material>) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
filterMaterials(Predicate<Material>) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
filterMaterials(Predicate<Material>) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
filterPriceAtMost(Book[], double) - Static method in class com.university.bookstore.utils.BookArrayUtils
Filters books with price at most the specified maximum.
findAll() - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
findAll() - Method in interface com.university.bookstore.repository.MaterialRepository
Retrieves all materials from the repository.
findAll() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
findAll(MaterialIterator, Predicate<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Finds all materials matching a predicate.
findByAuthor(String) - Method in interface com.university.bookstore.api.BookstoreAPI
Searches for books by author (case-insensitive, partial match).
findByAuthor(String) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
findByCreators(String...) - Method in interface com.university.bookstore.api.MaterialStore
Finds materials by multiple creators (OR condition).
findByCreators(String...) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
findByCreators(String...) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
findByCreators(String...) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
findById(String) - Method in interface com.university.bookstore.api.MaterialStore
Finds a material by its ID.
findById(String) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
findById(String) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
findById(String) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
findById(String) - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
findById(String) - Method in interface com.university.bookstore.repository.MaterialRepository
Finds a material by its unique identifier.
findById(String) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
findByIdAsync(String) - Method in interface com.university.bookstore.api.ModernMaterialStore
Finds material by ID asynchronously.
findByIdAsync(String) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Finds material by ID asynchronously.
findByIdsAsync(List<String>) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Finds multiple materials by IDs asynchronously.
findByIsbn(String) - Method in interface com.university.bookstore.api.BookstoreAPI
Finds a book by its ISBN.
findByIsbn(String) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
findByPriceRange(double, double) - Method in interface com.university.bookstore.api.BookstoreAPI
Finds all books within a price range (inclusive).
findByPriceRange(double, double) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
findByTitle(String) - Method in interface com.university.bookstore.api.BookstoreAPI
Searches for books by title (case-insensitive, partial match).
findByTitle(String) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
findByYear(int) - Method in interface com.university.bookstore.api.BookstoreAPI
Finds all books published in a specific year.
findByYear(int) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
findFirst(MaterialIterator, Predicate<Material>) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Finds the first material matching a predicate.
findLongestTitle(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Finds the book with the longest title.
findMaterial(String) - Method in class com.university.bookstore.service.MaterialService
Finds a material by its ID.
findMaterialOptional(String) - Method in class com.university.bookstore.service.MaterialService
Finds a material by its ID, returning Optional.
findOldest(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Finds the oldest book (earliest publication year).
findRecentMaterials(int) - Method in interface com.university.bookstore.api.MaterialStore
Finds materials published in the last N years.
findRecentMaterials(int) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
findRecentMaterials(int) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
findRecentMaterials(int) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
findWithPredicate(Predicate<Material>) - Method in interface com.university.bookstore.api.MaterialStore
Finds materials with custom filtering using predicate.
findWithPredicate(Predicate<Material>) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
findWithPredicate(Predicate<Material>) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
findWithPredicate(Predicate<Material>) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 

G

get(String) - Method in class com.university.bookstore.search.SearchResultCache
Retrieves cached search results for the given key.
get(String, Function<String, List<Material>>) - Method in class com.university.bookstore.search.ModernSearchCache
Gets a value from the cache or loads it if not present.
getAdjustedDuration(double) - Method in class com.university.bookstore.model.AudioBook
Gets playback speed adjusted duration.
getAllBooks() - Method in interface com.university.bookstore.api.BookstoreAPI
Gets all books in the inventory.
getAllBooks() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
getAllBundles() - Method in class com.university.bookstore.composite.BundleService
Gets all bundles.
getAllDisplayInfo() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
Gets all display info for materials (thread-safe).
getAllDisplayInfo() - Method in class com.university.bookstore.impl.MaterialStoreImpl
Demonstrates polymorphic behavior by getting display info for all materials.
getAllInventoryCounts() - Method in class com.university.bookstore.observer.InventoryObserver
Gets all inventory counts.
getAllMaterials() - Method in interface com.university.bookstore.api.MaterialStore
Gets all materials (unsorted).
getAllMaterials() - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials - Retrieve all materials
getAllMaterials() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getAllMaterials() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getAllMaterials() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getAllMaterials() - Method in class com.university.bookstore.search.MaterialTrie
Gets all materials in the trie.
getAllMaterials() - Method in class com.university.bookstore.service.MaterialService
Gets all materials in the system.
getAllMaterialsSorted() - Method in interface com.university.bookstore.api.MaterialStore
Gets all materials sorted by title.
getAllMaterialsSorted() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getAllMaterialsSorted() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getAllMaterialsSorted() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getAllTotalValues() - Method in class com.university.bookstore.observer.InventoryObserver
Gets all total values.
getAnalyticsData() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets comprehensive analytics data.
getAnnotationCount() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Gets the number of annotations.
getAnnotations() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Gets all annotations.
getApprovalRate() - Method in class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
getApprovalStats() - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets approval statistics.
getApprovedBy() - Method in class com.university.bookstore.chain.DiscountRequest
Gets who approved the request.
getApprovedRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
getApprovedRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets approved discount requests.
getAspectRatio() - Method in class com.university.bookstore.model.VideoMaterial
 
getAsync(String, Function<String, CompletableFuture<List<Material>>>) - Method in class com.university.bookstore.search.ModernSearchCache
Gets a value from the cache or loads it asynchronously.
getAuditLog() - Method in class com.university.bookstore.observer.AuditLogObserver
Gets all audit log entries.
getAuditLogForEventType(String) - Method in class com.university.bookstore.observer.AuditLogObserver
Gets audit log entries for a specific event type.
getAuditLogForMaterial(String) - Method in class com.university.bookstore.observer.AuditLogObserver
Gets audit log entries for a specific material.
getAuditLogForTimeRange(long, long) - Method in class com.university.bookstore.observer.AuditLogObserver
Gets audit log entries within a time range.
getAuditLogStats() - Method in class com.university.bookstore.observer.AuditLogObserver
Gets audit log statistics.
getAuthor() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current author.
getAuthor() - Method in class com.university.bookstore.model.AudioBook
Gets the author.
getAuthor() - Method in class com.university.bookstore.model.Book
Gets the author of this book.
getAuthor() - Method in class com.university.bookstore.model.EBook
Gets the author of the e-book.
getAuthor() - Method in class com.university.bookstore.model.PrintedBook
 
getAverageAge() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
getAverageDiscount() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
getAverageEventRate() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the average rate of events.
getAverageEventRate() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the average events per second.
getAveragePrice() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
getBaseMaterial() - Method in class com.university.bookstore.decorator.MaterialDecorator
Gets the base material (unwraps all decorators).
getBaseMaterial(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Gets the base material (unwraps all decorators).
getBasePrice(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Gets the base price of a material (without decorators).
getBitrate() - Method in enum class com.university.bookstore.model.Media.MediaQuality
 
getBundle(String) - Method in class com.university.bookstore.composite.BundleService
Gets a bundle by name.
getBundleBuilder() - Method in class com.university.bookstore.builder.MaterialDirector
Gets the MaterialBundle builder for custom configurations.
getBundleCount() - Method in class com.university.bookstore.composite.BundleService
Gets the number of bundles.
getBundleDiscount() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the current bundle discount.
getBundleDiscount() - Method in class com.university.bookstore.composite.MaterialBundle
Gets the bundle discount rate.
getBundleDiscountPercent() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the current bundle discount percentage.
getBundleName() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the current bundle name.
getBundleName() - Method in class com.university.bookstore.composite.MaterialBundle
Gets the bundle name.
getBundleNames() - Method in class com.university.bookstore.composite.BundleService
Gets all bundle names.
getBundlesByDiscount(double) - Method in class com.university.bookstore.composite.BundleService
Gets bundles with discounts greater than or equal to the specified threshold.
getBundlesByMaterialType(Material.MaterialType) - Method in class com.university.bookstore.composite.BundleService
Gets bundles that contain materials of the specified type.
getBundlesByValueRange(double, double) - Method in class com.university.bookstore.composite.BundleService
Gets bundles with values within the specified range.
getBundleStats() - Method in class com.university.bookstore.composite.BundleService
Gets bundle statistics.
getCacheStats() - Method in class com.university.bookstore.search.CachedSearchService
Gets cache statistics for performance monitoring.
getCast() - Method in class com.university.bookstore.model.VideoMaterial
 
getCategory() - Method in class com.university.bookstore.model.Magazine
 
getChainInfo() - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets the approval chain information.
getChainLength() - Method in class com.university.bookstore.chain.DiscountHandler
Gets the chain length from this handler to the end.
getComponentCount() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the number of components.
getComponentCount() - Method in class com.university.bookstore.composite.MaterialBundle
Gets the number of components in this bundle.
getComponents() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the current components.
getComponents() - Method in class com.university.bookstore.composite.MaterialBundle
Gets all components in this bundle.
getCompressedSize(double) - Method in class com.university.bookstore.model.VideoMaterial
Gets storage space required with compression.
getCreator() - Method in class com.university.bookstore.composite.MaterialLeaf
Gets the material creator.
getCreator() - Method in class com.university.bookstore.decorator.MaterialDecorator
 
getCreator() - Method in class com.university.bookstore.model.AudioBook
 
getCreator() - Method in class com.university.bookstore.model.EBook
 
getCreator() - Method in class com.university.bookstore.model.Magazine
 
getCreator() - Method in class com.university.bookstore.model.Material
Abstract method to get the creator/author/artist of the material.
getCreator() - Method in class com.university.bookstore.model.PrintedBook
 
getCreator() - Method in class com.university.bookstore.model.VideoMaterial
 
getCurrentPosition() - Method in interface com.university.bookstore.iterator.MaterialIterator
Gets the current position in the iteration.
getCurrentPosition() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
getCurrentPosition() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
getCurrentPosition() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
getCurrentSize() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
getCustomerId() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the customer ID.
getDataFileSize() - Method in class com.university.bookstore.repository.JsonMaterialRepository
Gets the size of the data file in bytes.
getDataFileSize() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Gets the size of the data file in bytes.
getDecoratedMaterial() - Method in class com.university.bookstore.decorator.MaterialDecorator
Gets the decorated material.
getDecoratorCount() - Method in class com.university.bookstore.decorator.MaterialDecorator
Gets the number of decorators applied to this material.
getDeliveryDays() - Method in class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
Gets the delivery time in days.
getDescription() - Method in class com.university.bookstore.composite.MaterialBundle
 
getDescription() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets a description of this component.
getDescription() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getDescription() - Method in class com.university.bookstore.model.EBook
 
getDescription() - Method in enum class com.university.bookstore.model.Media.MediaQuality
 
getDescription() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
Gets the event description.
getDescription() - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
getDescription() - Method in interface com.university.bookstore.observer.MaterialEvent
Gets a description of this event.
getDescription() - Method in class com.university.bookstore.observer.PriceChangedEvent
 
getDigitalAnnotationCost() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Gets the digital annotation cost.
getDirector() - Method in class com.university.bookstore.model.VideoMaterial
 
getDiscountedMaterials() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
Gets materials with active discounts (thread-safe).
getDiscountedMaterials() - Method in class com.university.bookstore.impl.MaterialStoreImpl
Gets materials with active discounts.
getDiscountedMaterials() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Gets materials with active discounts.
getDiscountedPrice() - Method in class com.university.bookstore.chain.DiscountRequest
Calculates the discounted price if approved.
getDiscountedPrice() - Method in class com.university.bookstore.composite.MaterialBundle
 
getDiscountedPrice() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets the discounted price of this component.
getDiscountedPrice() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getDiscountedPrice() - Method in class com.university.bookstore.model.Material
Template method for calculating discounted price.
getDiscountRate() - Method in class com.university.bookstore.composite.MaterialBundle
 
getDiscountRate() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets the discount rate applied to this component.
getDiscountRate() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getDiscountRate() - Method in class com.university.bookstore.decorator.MaterialDecorator
 
getDiscountRate() - Method in class com.university.bookstore.model.AudioBook
 
getDiscountRate() - Method in class com.university.bookstore.model.EBook
 
getDiscountRate() - Method in class com.university.bookstore.model.Magazine
 
getDiscountRate() - Method in class com.university.bookstore.model.Material
Hook method for discount rate.
getDiscountRate() - Method in class com.university.bookstore.model.PrintedBook
 
getDiscountRate() - Method in class com.university.bookstore.model.VideoMaterial
 
getDisplayInfo() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
 
getDisplayInfo() - Method in class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
 
getDisplayInfo() - Method in class com.university.bookstore.decorator.GiftWrappingDecorator
 
getDisplayInfo() - Method in class com.university.bookstore.decorator.MaterialDecorator
 
getDisplayInfo() - Method in class com.university.bookstore.model.AudioBook
 
getDisplayInfo() - Method in class com.university.bookstore.model.EBook
 
getDisplayInfo() - Method in class com.university.bookstore.model.Magazine
 
getDisplayInfo() - Method in class com.university.bookstore.model.Material
Abstract method to get a formatted display string.
getDisplayInfo() - Method in class com.university.bookstore.model.PrintedBook
 
getDisplayInfo() - Method in class com.university.bookstore.model.VideoMaterial
 
getDisplayName() - Method in enum class com.university.bookstore.model.Material.MaterialType
 
getDuration() - Method in class com.university.bookstore.model.AudioBook
 
getDuration() - Method in class com.university.bookstore.model.EBook
 
getDuration() - Method in interface com.university.bookstore.model.Media
Gets the duration of the media in minutes.
getDuration() - Method in class com.university.bookstore.model.VideoMaterial
 
getEBookBuilder() - Method in class com.university.bookstore.builder.MaterialDirector
Gets the EBook builder for custom configurations.
getEnhancementCount(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Gets the number of decorators applied to a material.
getEnhancementSummary(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Gets a summary of enhancements applied to a material.
getEventCount(String) - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the count for a specific event type.
getEventStatistics() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the event statistics map.
getEventStatistics() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets event statistics.
getEventTimeSpan() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the time span of events.
getEventTimeSpan() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the time span of events.
getEventType() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
Gets the type of event.
getEventType() - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
getEventType() - Method in interface com.university.bookstore.observer.MaterialEvent
Gets the type of this event.
getEventType() - Method in class com.university.bookstore.observer.PriceChangedEvent
 
getExpeditedDeliveryCost() - Method in class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
Gets the expedited delivery cost.
getFileFormat() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current file format.
getFileFormat() - Method in class com.university.bookstore.model.EBook
Gets the file format of the ebook.
getFilePath() - Method in class com.university.bookstore.repository.JsonMaterialRepository
Gets the file path used for persistence.
getFilePath() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Gets the file path used for persistence.
getFileSize() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current file size.
getFileSize() - Method in class com.university.bookstore.model.AudioBook
 
getFileSize() - Method in class com.university.bookstore.model.EBook
Gets the file size in MB.
getFileSize() - Method in interface com.university.bookstore.model.Media
Gets the file size in megabytes.
getFileSize() - Method in class com.university.bookstore.model.VideoMaterial
 
getFirstEventTime() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the timestamp of first event.
getFirstEventTime() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the time of the first event.
getFormat() - Method in class com.university.bookstore.model.AudioBook
 
getFormat() - Method in class com.university.bookstore.model.EBook
 
getFormat() - Method in interface com.university.bookstore.model.Media
Gets the file format of the media.
getFormat() - Method in class com.university.bookstore.model.VideoMaterial
 
getFrequency() - Method in class com.university.bookstore.model.Magazine
 
getGiftWrappingCost() - Method in class com.university.bookstore.decorator.GiftWrappingDecorator
Gets the gift wrapping cost.
getHandlerInfo() - Method in class com.university.bookstore.chain.DiscountHandler
Gets information about this handler and the chain.
getHandlerName() - Method in class com.university.bookstore.chain.DirectorHandler
 
getHandlerName() - Method in class com.university.bookstore.chain.DiscountHandler
Gets the name of this handler for identification purposes.
getHandlerName() - Method in class com.university.bookstore.chain.ManagerHandler
 
getHandlerName() - Method in class com.university.bookstore.chain.VPHandler
 
getHitRatio() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
getId() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current ID.
getId() - Method in class com.university.bookstore.composite.MaterialLeaf
Gets the material ID.
getId() - Method in class com.university.bookstore.model.Material
 
getIndexSize() - Method in class com.university.bookstore.search.CachedSearchService
Gets the current size of the search index.
getInventoryCount(String) - Method in class com.university.bookstore.observer.InventoryObserver
Gets the inventory count for a specific material.
getInventoryStats() - Method in interface com.university.bookstore.api.MaterialStore
Gets inventory statistics.
getInventoryStats() - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/stats - Get inventory statistics
getInventoryStats() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getInventoryStats() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getInventoryStats() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getInventoryStatsAsync() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Gets inventory statistics asynchronously.
getIsbn() - Method in class com.university.bookstore.model.AudioBook
Gets the ISBN.
getIsbn() - Method in class com.university.bookstore.model.Book
Gets the ISBN of this book.
getIsbn() - Method in class com.university.bookstore.model.PrintedBook
 
getIssn() - Method in class com.university.bookstore.model.Magazine
 
getIssueNumber() - Method in class com.university.bookstore.model.Magazine
 
getItemCount() - Method in class com.university.bookstore.composite.MaterialBundle
 
getItemCount() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets the total number of items in this component.
getItemCount() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getLanguage() - Method in class com.university.bookstore.model.AudioBook
Gets the language.
getLastEventTime() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the timestamp of last event.
getLastEventTime() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the time of the last event.
getLogger(Class<?>) - Static method in class com.university.bookstore.utils.LoggerFactory
Creates a logger for the specified class.
getLogger(String) - Static method in class com.university.bookstore.utils.LoggerFactory
Creates a logger with the specified name.
getLogSize() - Method in class com.university.bookstore.observer.AuditLogObserver
Gets the number of audit log entries.
getMaterial() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the material for which discount is requested.
getMaterial() - Method in class com.university.bookstore.composite.MaterialLeaf
Gets the wrapped material.
getMaterial() - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
getMaterial() - Method in interface com.university.bookstore.observer.MaterialEvent
Gets the material associated with this event.
getMaterial() - Method in class com.university.bookstore.observer.PriceChangedEvent
 
getMaterialAddedCount() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
Gets the number of material added events.
getMaterialById(String) - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/{id} - Retrieve a specific material by ID
getMaterialCount() - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/count - Get total material count
getMaterialCount() - Method in class com.university.bookstore.service.MaterialService
Gets the total number of materials in the system.
getMaterialId() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
Gets the ID of the material.
getMaterials() - Method in class com.university.bookstore.composite.MaterialBundle
 
getMaterials() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets all materials contained in this component.
getMaterials() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getMaterials() - Method in class com.university.bookstore.repository.MaterialsWrapper
 
getMaterialsByPriceRange(double, double) - Method in interface com.university.bookstore.api.MaterialStore
Gets materials within a price range.
getMaterialsByPriceRange(double, double) - Method in class com.university.bookstore.controller.MaterialController
Get materials by price range.
getMaterialsByPriceRange(double, double) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getMaterialsByPriceRange(double, double) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getMaterialsByPriceRange(double, double) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getMaterialsByType(Material.MaterialType) - Method in interface com.university.bookstore.api.MaterialStore
Gets all materials of a specific type.
getMaterialsByType(Material.MaterialType) - Method in class com.university.bookstore.composite.MaterialBundle
Gets all materials of the specified type in this bundle.
getMaterialsByType(Material.MaterialType) - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/type/{type} - Get materials by type
getMaterialsByType(Material.MaterialType) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getMaterialsByType(Material.MaterialType) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getMaterialsByType(Material.MaterialType) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getMaterialsByYear(int) - Method in interface com.university.bookstore.api.MaterialStore
Gets materials published/released in a specific year.
getMaterialsByYear(int) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getMaterialsByYear(int) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getMaterialsByYear(int) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getMaterialTitle() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
Gets the title of the material.
getMaterialTypeCount(String) - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the count for a specific material type.
getMaterialTypeStatistics() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the material type statistics map.
getMaterialTypeStatistics() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets material type statistics.
getMaxDiscount() - Method in class com.university.bookstore.chain.DirectorHandler
 
getMaxDiscount() - Method in class com.university.bookstore.chain.DiscountHandler
Gets the maximum discount this handler can approve.
getMaxDiscount() - Method in class com.university.bookstore.chain.ManagerHandler
 
getMaxDiscount() - Method in class com.university.bookstore.chain.VPHandler
 
getMaxPrice() - Method in class com.university.bookstore.iterator.PriceRangeIterator
Gets the maximum price.
getMaxSize() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
getMaxSize() - Method in class com.university.bookstore.search.SearchResultCache
Gets the maximum number of entries the cache can hold.
getMediaCount() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
getMediaMaterials() - Method in interface com.university.bookstore.api.MaterialStore
Gets all materials that implement the Media interface.
getMediaMaterials() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getMediaMaterials() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getMediaMaterials() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getMedianPrice() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
getMediaPercentage() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Gets the percentage of media materials.
getMinPrice() - Method in class com.university.bookstore.iterator.PriceRangeIterator
Gets the minimum price.
getModernInventoryStatsAsync() - Method in interface com.university.bookstore.api.ModernMaterialStore
Gets inventory statistics asynchronously.
getMostExpensive() - Method in interface com.university.bookstore.api.BookstoreAPI
Finds the most expensive book in the inventory.
getMostExpensive() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
getMostRecent() - Method in interface com.university.bookstore.api.BookstoreAPI
Finds the most recently published book.
getMostRecent() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
getNarrator() - Method in class com.university.bookstore.model.AudioBook
Gets the narrator.
getNewestTimestamp() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
Gets the timestamp of newest entry.
getNewPrice() - Method in class com.university.bookstore.observer.PriceChangedEvent
Gets the new price.
getNext() - Method in class com.university.bookstore.chain.DiscountHandler
Gets the next handler in the chain.
getObserverCount() - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
getObserverCount() - Method in interface com.university.bookstore.observer.MaterialSubject
Gets the number of registered observers.
getObserverName() - Method in class com.university.bookstore.observer.AnalyticsObserver
 
getObserverName() - Method in class com.university.bookstore.observer.AuditLogObserver
 
getObserverName() - Method in class com.university.bookstore.observer.InventoryObserver
 
getObserverName() - Method in interface com.university.bookstore.observer.MaterialObserver
Gets the name of this observer for identification purposes.
getObservers() - Method in class com.university.bookstore.observer.MaterialEventPublisher
Gets a list of all registered observers.
getObserversOfType(Class<T>) - Method in class com.university.bookstore.observer.MaterialEventPublisher
Gets observers of a specific type.
getOldestTimestamp() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
Gets the timestamp of oldest entry.
getOldPrice() - Method in class com.university.bookstore.observer.PriceChangedEvent
Gets the old price.
getPages() - Method in class com.university.bookstore.model.PrintedBook
 
getPlaybackInfo() - Method in interface com.university.bookstore.model.Media
Gets playback information as a formatted string.
getPrice() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current price.
getPrice() - Method in class com.university.bookstore.composite.MaterialBundle
 
getPrice() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets the total price of this component.
getPrice() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getPrice() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
 
getPrice() - Method in class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
 
getPrice() - Method in class com.university.bookstore.decorator.GiftWrappingDecorator
 
getPrice() - Method in class com.university.bookstore.model.Book
Gets the price of this book.
getPrice() - Method in class com.university.bookstore.model.Material
 
getPriceChange() - Method in class com.university.bookstore.observer.PriceChangedEvent
Gets the price change amount.
getPriceChangedCount() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
Gets the number of price changed events.
getPriceChangePercentage() - Method in class com.university.bookstore.observer.PriceChangedEvent
Gets the price change percentage.
getPriceRange() - Method in class com.university.bookstore.iterator.PriceRangeIterator
Gets the price range.
getPrintCount() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
getPrintPercentage() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Gets the percentage of print materials.
getProcessedRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets all processed discount requests.
getPublisher() - Method in class com.university.bookstore.model.Magazine
 
getPublisher() - Method in class com.university.bookstore.model.PrintedBook
 
getQuality() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current quality.
getQuality() - Method in class com.university.bookstore.model.AudioBook
 
getQuality() - Method in class com.university.bookstore.model.EBook
 
getQuality() - Method in interface com.university.bookstore.model.Media
Gets the quality setting for the media.
getQuality() - Method in class com.university.bookstore.model.VideoMaterial
 
getRating() - Method in class com.university.bookstore.model.VideoMaterial
 
getReadingTimeMinutes() - Method in class com.university.bookstore.model.EBook
Calculates estimated reading time in minutes based on average reading speed.
getReason() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the reason for the discount request.
getRecentMaterials(int) - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/recent?years={years} - Get recent materials
getRejectedRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
getRejectedRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets rejected discount requests.
getRejectionReason() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the rejection reason.
getRemainingCount() - Method in interface com.university.bookstore.iterator.MaterialIterator
Gets the number of materials remaining to be iterated.
getRemainingCount() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
getRemainingCount() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
getRemainingCount() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
getRemainingCount(MaterialIterator) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Gets the remaining count of materials in an iterator.
getRequestedDiscount() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the requested discount rate.
getRequestedDiscountPercentage() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the requested discount percentage.
getRequestsForCustomer(String) - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets discount requests for a specific customer.
getRequestsForMaterial(Material) - Method in class com.university.bookstore.chain.DiscountApprovalService
Gets discount requests for a specific material.
getSavingsAmount() - Method in class com.university.bookstore.chain.DiscountRequest
Calculates the savings amount if approved.
getSorted(Comparator<Material>) - Method in interface com.university.bookstore.api.MaterialStore
Gets materials sorted by custom comparator.
getSorted(Comparator<Material>) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getSorted(Comparator<Material>) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getSorted(Comparator<Material>) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getStatistics() - Method in class com.university.bookstore.impl.BookstoreArrayList
Gets statistics about the inventory.
getStats() - Method in class com.university.bookstore.search.ModernSearchCache
Gets cache statistics.
getStats() - Method in class com.university.bookstore.search.SearchResultCache
Gets cache statistics including hit ratio and average age.
getStreamingBandwidth() - Method in class com.university.bookstore.model.VideoMaterial
Gets bandwidth requirement for streaming in Mbps.
getSummary() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Creates a summary string for reporting.
getSummary() - Method in class com.university.bookstore.chain.DiscountRequest
Gets a summary of the discount request.
getSummary() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Creates a summary string.
getTargetType() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
Gets the target type this iterator filters for.
getTimestamp() - Method in class com.university.bookstore.chain.DiscountRequest
Gets the request timestamp.
getTimestamp() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
Gets the timestamp of the event.
getTimestamp() - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
getTimestamp() - Method in interface com.university.bookstore.observer.MaterialEvent
Gets the timestamp when this event occurred.
getTimestamp() - Method in class com.university.bookstore.observer.PriceChangedEvent
 
getTitle() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current title.
getTitle() - Method in class com.university.bookstore.composite.MaterialBundle
 
getTitle() - Method in interface com.university.bookstore.composite.MaterialComponent
Gets the title of this component.
getTitle() - Method in class com.university.bookstore.composite.MaterialLeaf
 
getTitle() - Method in class com.university.bookstore.model.Book
Gets the title of this book.
getTitle() - Method in class com.university.bookstore.model.Material
 
getTotalBundles() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
getTotalBundleValue() - Method in class com.university.bookstore.composite.BundleService
Gets the total value of all bundles.
getTotalCount() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
getTotalCount() - Method in interface com.university.bookstore.iterator.MaterialIterator
Gets the total number of materials that can be iterated.
getTotalCount() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
getTotalCount() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
getTotalCount() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
getTotalCount(MaterialIterator) - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
Gets the total count of materials in an iterator.
getTotalDiscountAmount() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
Calculates total savings from discounts (thread-safe).
getTotalDiscountAmount() - Method in class com.university.bookstore.impl.MaterialStoreImpl
Calculates total savings from discounts.
getTotalDiscountAmount() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Calculates total savings from discounts.
getTotalDiscountedBundleValue() - Method in class com.university.bookstore.composite.BundleService
Gets the total discounted value of all bundles.
getTotalDiscountedPrice() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the total discounted price of all components.
getTotalDiscountedValue() - Method in interface com.university.bookstore.api.MaterialStore
Calculates total discounted inventory value.
getTotalDiscountedValue() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
getTotalDiscountedValue() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getTotalDiscountedValue() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getTotalDiscountedValue() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getTotalEntries() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
Gets the total number of entries.
getTotalEvents() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the total number of events.
getTotalEvents() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the total number of events processed.
getTotalEvents() - Method in class com.university.bookstore.observer.InventoryObserver
Gets the total number of events processed.
getTotalHits() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
getTotalInventoryCount() - Method in class com.university.bookstore.observer.InventoryObserver
Gets the total number of materials in inventory.
getTotalInventoryValue() - Method in interface com.university.bookstore.api.MaterialStore
Calculates total inventory value.
getTotalInventoryValue() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
getTotalInventoryValue() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
getTotalInventoryValue() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
getTotalInventoryValue() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the total inventory value.
getTotalInventoryValue() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the total inventory value.
getTotalInventoryValue() - Method in class com.university.bookstore.observer.InventoryObserver
Gets the total value of all materials in inventory.
getTotalInventoryValueAsync() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Gets total inventory value asynchronously.
getTotalItems() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
getTotalPrice() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the total price of all components.
getTotalRequests() - Method in class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
getTotalRequests() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
getTotalSavings() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Gets the total savings from the bundle discount.
getTotalSavings() - Method in class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
getTotalSavings() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
getTotalSavings() - Method in class com.university.bookstore.composite.MaterialBundle
Calculates the total savings from the bundle discount.
getTotalShippingCost() - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Gets the total shipping cost calculated so far.
getTotalValue() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
getTotalValue(String) - Method in class com.university.bookstore.observer.InventoryObserver
Gets the total value for a specific material.
getType() - Method in class com.university.bookstore.composite.MaterialLeaf
Gets the material type.
getType() - Method in class com.university.bookstore.model.Material
 
getUniqueMaterialCount() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
Gets the number of unique materials.
getUniqueMaterialCount() - Method in class com.university.bookstore.observer.AnalyticsObserver
Gets the number of unique materials.
getUniqueMaterialCount() - Method in class com.university.bookstore.observer.InventoryObserver
Gets the number of unique materials in inventory.
getUniqueTypes() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
getVideoType() - Method in class com.university.bookstore.model.VideoMaterial
 
getWordCount() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current word count.
getWordCount() - Method in class com.university.bookstore.model.EBook
Gets the word count of the book.
getWrappingStyle() - Method in class com.university.bookstore.decorator.GiftWrappingDecorator
Gets the wrapping style.
getYear() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current year.
getYear() - Method in class com.university.bookstore.composite.MaterialLeaf
Gets the material year.
getYear() - Method in class com.university.bookstore.model.Book
Gets the publication year of this book.
getYear() - Method in class com.university.bookstore.model.Material
 
GiftWrappingDecorator - Class in com.university.bookstore.decorator
Decorator that adds gift wrapping functionality to materials.
GiftWrappingDecorator(Material, String) - Constructor for class com.university.bookstore.decorator.GiftWrappingDecorator
Creates a new gift wrapping decorator.
groupByType() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
Groups materials by type for reporting (thread-safe).
groupByType() - Method in class com.university.bookstore.impl.MaterialStoreImpl
Groups materials by type for reporting.
groupByType() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Groups materials by type for reporting.

H

handleRequest(DiscountRequest) - Method in class com.university.bookstore.chain.DirectorHandler
 
handleRequest(DiscountRequest) - Method in class com.university.bookstore.chain.DiscountHandler
Handles a discount request.
handleRequest(DiscountRequest) - Method in class com.university.bookstore.chain.ManagerHandler
 
handleRequest(DiscountRequest) - Method in class com.university.bookstore.chain.VPHandler
 
hasAnnotations() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Checks if the material has any annotations.
hasAnyCriteria() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Checks if any criteria is specified.
hasComponents() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Checks if the bundle has any components.
hasDecorators() - Method in class com.university.bookstore.decorator.MaterialDecorator
Checks if this material has any decorators applied.
hasEnhancement(Material, Class<? extends MaterialDecorator>) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Checks if a material has a specific type of enhancement.
hasEnhancements(Material) - Method in class com.university.bookstore.decorator.MaterialEnhancementService
Checks if a material has any enhancements applied.
hashCode() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Returns a hash code value for this object.
hashCode() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns a hash code value for this object.
hashCode() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns a hash code value for this object.
hashCode() - Method in class com.university.bookstore.chain.DiscountRequest
 
hashCode() - Method in class com.university.bookstore.composite.MaterialBundle
 
hashCode() - Method in class com.university.bookstore.composite.MaterialLeaf
 
hashCode() - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
 
hashCode() - Method in class com.university.bookstore.decorator.ExpeditedDeliveryDecorator
 
hashCode() - Method in class com.university.bookstore.decorator.GiftWrappingDecorator
 
hashCode() - Method in class com.university.bookstore.decorator.MaterialDecorator
 
hashCode() - Method in class com.university.bookstore.model.Book
Generates hash code based on ISBN.
hashCode() - Method in class com.university.bookstore.model.EBook
 
hashCode() - Method in class com.university.bookstore.model.Material
 
hashCode() - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
hashCode() - Method in class com.university.bookstore.observer.PriceChangedEvent
 
hashCode() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns a hash code value for this object.
hasNext() - Method in interface com.university.bookstore.iterator.MaterialIterator
Checks if there are more materials to iterate over.
hasNext() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
hasNext() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
hasNext() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
hasNoObservers() - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
hasNoObservers() - Method in interface com.university.bookstore.observer.MaterialSubject
Checks if any observers are registered.
hasObserver(MaterialObserver) - Method in class com.university.bookstore.observer.MaterialEventPublisher
Checks if a specific observer is registered.
hasPrefix(String) - Method in class com.university.bookstore.search.MaterialTrie
Checks if any materials exist with titles starting with the given prefix.
hasSubtitles() - Method in class com.university.bookstore.model.VideoMaterial
 
HD - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 
HIGH - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 
hitCount() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the hitCount record component.
hitRate() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the hitRate record component.

I

insert(Material) - Method in class com.university.bookstore.search.MaterialTrie
Inserts a material into the trie using its title as the key.
invalidate(String) - Method in class com.university.bookstore.search.ModernSearchCache
Invalidates a cache entry.
invalidateAll() - Method in class com.university.bookstore.search.ModernSearchCache
Invalidates all cache entries.
invalidateIf(Predicate<String>) - Method in class com.university.bookstore.search.ModernSearchCache
Invalidates entries matching a predicate.
InvalidMaterialException(String) - Constructor for exception class com.university.bookstore.service.MaterialService.InvalidMaterialException
 
InvalidMaterialException(String, Throwable) - Constructor for exception class com.university.bookstore.service.MaterialService.InvalidMaterialException
 
InventoryObserver - Class in com.university.bookstore.observer
Observer that tracks inventory changes for materials.
InventoryObserver() - Constructor for class com.university.bookstore.observer.InventoryObserver
Creates a new inventory observer.
InventoryStats(int, double, double, int, int, int) - Constructor for class com.university.bookstore.api.MaterialStore.InventoryStats
 
inventoryValue() - Method in interface com.university.bookstore.api.BookstoreAPI
Calculates the total value of all books in inventory.
inventoryValue() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
isApproved() - Method in class com.university.bookstore.chain.DiscountRequest
Checks if the request is approved.
isAscending() - Method in class com.university.bookstore.iterator.PriceSortedIterator
Gets the sort order.
isAtBeginning() - Method in interface com.university.bookstore.iterator.MaterialIterator
Checks if the iterator is at the beginning.
isAtBeginning() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
isAtBeginning() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
isAtBeginning() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
isAtEnd() - Method in interface com.university.bookstore.iterator.MaterialIterator
Checks if the iterator is at the end.
isAtEnd() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
isAtEnd() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
isAtEnd() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
isCompleteSuccess() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Checks if all operations were successful.
isComposite() - Method in interface com.university.bookstore.composite.MaterialComponent
Checks if this component is a composite (bundle).
isDrmEnabled() - Method in class com.university.bookstore.builder.EBookBuilder
Gets the current DRM enabled status.
isDrmEnabled() - Method in class com.university.bookstore.model.EBook
Checks if DRM is enabled.
isEmpty() - Method in interface com.university.bookstore.api.MaterialStore
Checks if the inventory is empty.
isEmpty() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Checks if the inventory is empty.
isEmpty() - Method in class com.university.bookstore.composite.BundleService
Checks if any bundles exist.
isEmpty() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
isEmpty() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
isEmpty() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
isEmpty() - Method in class com.university.bookstore.search.MaterialTrie
Checks if the trie is empty.
isEmpty() - Method in class com.university.bookstore.search.ModernSearchCache
Checks if the cache is empty.
isEmpty() - Method in class com.university.bookstore.search.SearchResultCache
Checks if the cache is empty.
isFeatureLength() - Method in class com.university.bookstore.model.VideoMaterial
Checks if this is a feature-length video.
isFull() - Method in class com.university.bookstore.search.SearchResultCache
Checks if the cache is full.
isHardcover() - Method in class com.university.bookstore.model.PrintedBook
 
isIndexEmpty() - Method in class com.university.bookstore.search.CachedSearchService
Checks if the search index is empty.
isLeaf() - Method in class com.university.bookstore.composite.MaterialBundle
 
isLeaf() - Method in interface com.university.bookstore.composite.MaterialComponent
Checks if this component is a leaf (individual material).
isLeaf() - Method in class com.university.bookstore.composite.MaterialLeaf
 
isPriceDecrease() - Method in class com.university.bookstore.observer.PriceChangedEvent
Checks if the price decreased.
isPriceIncrease() - Method in class com.university.bookstore.observer.PriceChangedEvent
Checks if the price increased.
isStreamingOnly() - Method in class com.university.bookstore.model.AudioBook
 
isStreamingOnly() - Method in class com.university.bookstore.model.EBook
 
isStreamingOnly() - Method in interface com.university.bookstore.model.Media
Checks if the media requires an internet connection.
isStreamingOnly() - Method in class com.university.bookstore.model.VideoMaterial
 
isUnabridged() - Method in class com.university.bookstore.model.AudioBook
Checks if unabridged.

J

JsonMaterialRepository - Class in com.university.bookstore.repository
JSON-based implementation of MaterialRepository (Adapter in hexagonal architecture).
JsonMaterialRepository(String) - Constructor for class com.university.bookstore.repository.JsonMaterialRepository
Creates a new JSON material repository.

L

loadCount() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the loadCount record component.
LoggerFactory - Class in com.university.bookstore.utils
Factory for creating SLF4J loggers with consistent configuration.
LOW - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 

M

Magazine - Class in com.university.bookstore.model
Represents a magazine in the store inventory.
Magazine(String, String, String, double, int, int, String, String) - Constructor for class com.university.bookstore.model.Magazine
Creates a new Magazine.
MAGAZINE - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
Magazine.PublicationFrequency - Enum Class in com.university.bookstore.model
Frequency of magazine publication.
main(String[]) - Static method in class com.university.bookstore.BookstoreApplication
Main entry point for the Spring Boot application.
main(String[]) - Static method in class com.university.bookstore.demo.PolymorphismDemo
 
ManagerHandler - Class in com.university.bookstore.chain
Manager-level discount approval handler.
ManagerHandler() - Constructor for class com.university.bookstore.chain.ManagerHandler
 
Material - Class in com.university.bookstore.model
Abstract base class representing any material in the store inventory.
Material.MaterialType - Enum Class in com.university.bookstore.model
Enumeration of material types for polymorphic behavior.
MaterialAddedEvent - Class in com.university.bookstore.observer
Event that occurs when a material is added to the system.
MaterialAddedEvent(Material) - Constructor for class com.university.bookstore.observer.MaterialAddedEvent
Creates a new material added event.
MaterialBuilder<T> - Interface in com.university.bookstore.builder
Builder interface for creating Material instances.
MaterialBundle - Class in com.university.bookstore.composite
Composite component in the Composite pattern.
MaterialBundle(String, double) - Constructor for class com.university.bookstore.composite.MaterialBundle
Creates a new material bundle with the specified name and discount.
MaterialBundleBuilder - Class in com.university.bookstore.builder
Builder for creating MaterialBundle instances with a fluent interface.
MaterialBundleBuilder() - Constructor for class com.university.bookstore.builder.MaterialBundleBuilder
 
MaterialComponent - Interface in com.university.bookstore.composite
Component interface for the Composite pattern.
MaterialController - Class in com.university.bookstore.controller
REST Controller for Material management operations.
MaterialController(MaterialStore) - Constructor for class com.university.bookstore.controller.MaterialController
Constructor with dependency injection of MaterialStore.
MaterialDecorator - Class in com.university.bookstore.decorator
Abstract base class for material decorators in the Decorator pattern.
MaterialDecorator(Material) - Constructor for class com.university.bookstore.decorator.MaterialDecorator
Creates a new material decorator wrapping the specified material.
MaterialDirector - Class in com.university.bookstore.builder
Director class that orchestrates the construction of complex Material objects using various builders.
MaterialDirector(EBookBuilder, MaterialBundleBuilder) - Constructor for class com.university.bookstore.builder.MaterialDirector
Constructs a MaterialDirector with the specified builders.
MaterialEnhancementService - Class in com.university.bookstore.decorator
Service for managing material enhancements using the Decorator pattern.
MaterialEnhancementService() - Constructor for class com.university.bookstore.decorator.MaterialEnhancementService
 
MaterialEvent - Interface in com.university.bookstore.observer
Base interface for material-related domain events in the Observer pattern.
MaterialEventPublisher - Class in com.university.bookstore.observer
Concrete implementation of MaterialSubject that publishes material events to observers.
MaterialEventPublisher() - Constructor for class com.university.bookstore.observer.MaterialEventPublisher
Creates a new material event publisher.
materialExists(String) - Method in class com.university.bookstore.service.MaterialService
Checks if a material exists in the system.
MaterialFactory - Class in com.university.bookstore.factory
Factory class for creating Material instances.
MaterialFactory() - Constructor for class com.university.bookstore.factory.MaterialFactory
 
MaterialIterator - Interface in com.university.bookstore.iterator
Iterator interface for traversing collections of materials.
MaterialIteratorFactory - Class in com.university.bookstore.iterator
Factory for creating different types of material iterators.
MaterialIteratorFactory() - Constructor for class com.university.bookstore.iterator.MaterialIteratorFactory
 
MaterialLeaf - Class in com.university.bookstore.composite
Leaf component in the Composite pattern.
MaterialLeaf(Material) - Constructor for class com.university.bookstore.composite.MaterialLeaf
Creates a new material leaf wrapping the specified material.
MaterialNotFoundException(String) - Constructor for exception class com.university.bookstore.service.MaterialService.MaterialNotFoundException
 
MaterialNotFoundException(String, Throwable) - Constructor for exception class com.university.bookstore.service.MaterialService.MaterialNotFoundException
 
MaterialObserver - Interface in com.university.bookstore.observer
Observer interface for material-related events in the Observer pattern.
MaterialRepository - Interface in com.university.bookstore.repository
Port interface for material persistence operations in hexagonal architecture.
MaterialService - Class in com.university.bookstore.service
Domain service that orchestrates business logic for material management.
MaterialService(MaterialRepository) - Constructor for class com.university.bookstore.service.MaterialService
Creates a new material service with the specified repository.
MaterialService.InvalidMaterialException - Exception Class in com.university.bookstore.service
Exception thrown when a material is invalid according to business rules.
MaterialService.MaterialNotFoundException - Exception Class in com.university.bookstore.service
Exception thrown when a requested material is not found.
materialStore() - Method in class com.university.bookstore.BookstoreApplication
Configures the MaterialStore bean using the existing ModernConcurrentMaterialStore.
MaterialStore - Interface in com.university.bookstore.api
Interface defining operations for a polymorphic material store that demonstrates interface segregation and dependency inversion principles.
MaterialStore.InventoryStats - Class in com.university.bookstore.api
Statistics class for inventory analysis.
MaterialStoreImpl - Class in com.university.bookstore.impl
Implementation of MaterialStore using ArrayList with polymorphic handling.
MaterialStoreImpl() - Constructor for class com.university.bookstore.impl.MaterialStoreImpl
Creates a new empty material store.
MaterialStoreImpl(Collection<Material>) - Constructor for class com.university.bookstore.impl.MaterialStoreImpl
Creates a material store with initial materials.
MaterialSubject - Interface in com.university.bookstore.observer
Subject interface for material events in the Observer pattern.
MaterialsWrapper - Class in com.university.bookstore.repository
Wrapper class to ensure proper JSON serialization of Material polymorphic types.
MaterialsWrapper() - Constructor for class com.university.bookstore.repository.MaterialsWrapper
 
MaterialsWrapper(List<Material>) - Constructor for class com.university.bookstore.repository.MaterialsWrapper
 
MaterialTrie - Class in com.university.bookstore.search
Trie (Prefix Tree) data structure for efficient prefix-based material searching.
MaterialTrie() - Constructor for class com.university.bookstore.search.MaterialTrie
Creates a new empty material trie.
MaterialTypeIterator - Class in com.university.bookstore.iterator
Iterator that filters materials by type.
MaterialTypeIterator(List<Material>, Material.MaterialType) - Constructor for class com.university.bookstore.iterator.MaterialTypeIterator
Creates a new material type iterator.
MaterialVisitor - Interface in com.university.bookstore.visitor
Visitor interface for implementing the Visitor pattern.
maxPrice() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the maxPrice record component.
Media - Interface in com.university.bookstore.model
Interface for materials with multimedia content.
Media.MediaQuality - Enum Class in com.university.bookstore.model
Quality levels for media content.
mediaCount() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns the value of the mediaCount record component.
medianPrice() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns the value of the medianPrice record component.
MEDIUM - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 
merge(Book[], Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Merges two book arrays into one, preserving all elements.
minPrice() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the minPrice record component.
missCount() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the missCount record component.
ModernConcurrentMaterialStore - Class in com.university.bookstore.impl
Modern thread-safe implementation of MaterialStore using best practices.
ModernConcurrentMaterialStore() - Constructor for class com.university.bookstore.impl.ModernConcurrentMaterialStore
Creates a new modern thread-safe material store.
ModernConcurrentMaterialStore(Collection<Material>) - Constructor for class com.university.bookstore.impl.ModernConcurrentMaterialStore
Creates a material store with initial materials.
ModernInventoryStats(int, double, double, int, int, int) - Constructor for record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Compact constructor for validation.
ModernJsonMaterialRepository - Class in com.university.bookstore.repository
Modern JSON-based implementation of MaterialRepository using best practices.
ModernJsonMaterialRepository(String) - Constructor for class com.university.bookstore.repository.ModernJsonMaterialRepository
Creates a new modern JSON material repository.
ModernMaterialStore - Interface in com.university.bookstore.api
Modern interface for polymorphic material store with async operations.
ModernMaterialStore.BatchOperationResult - Record Class in com.university.bookstore.api
Batch operation result record.
ModernMaterialStore.ModernInventoryStats - Record Class in com.university.bookstore.api
Modern InventoryStats using Java record for immutability.
ModernMaterialStore.SearchCriteria - Record Class in com.university.bookstore.api
Search criteria record for complex searches.
ModernMaterialStore.SearchCriteria.Builder - Class in com.university.bookstore.api
Builder for SearchCriteria.
ModernSearchCache - Class in com.university.bookstore.search
Modern high-performance cache implementation with advanced features.
ModernSearchCache() - Constructor for class com.university.bookstore.search.ModernSearchCache
Creates a new modern cache with default settings.
ModernSearchCache(int, Duration, Duration) - Constructor for class com.university.bookstore.search.ModernSearchCache
Creates a new modern cache with custom settings.
ModernSearchCache.CacheStats - Record Class in com.university.bookstore.search
Cache statistics record.
MONTHLY - Enum constant in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 
MOVIE - Enum constant in enum class com.university.bookstore.model.VideoMaterial.VideoType
 
MUSIC_ALBUM - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 

N

next() - Method in interface com.university.bookstore.iterator.MaterialIterator
Gets the next material in the iteration.
next() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
next() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
next() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
notifyObservers(MaterialEvent) - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
notifyObservers(MaterialEvent) - Method in interface com.university.bookstore.observer.MaterialSubject
Notifies all observers of a material event.

O

onAdded(MaterialSubject) - Method in interface com.university.bookstore.observer.MaterialObserver
Called when the observer is added to a subject.
onEvent(MaterialEvent) - Method in class com.university.bookstore.observer.AnalyticsObserver
 
onEvent(MaterialEvent) - Method in class com.university.bookstore.observer.AuditLogObserver
 
onEvent(MaterialEvent) - Method in class com.university.bookstore.observer.InventoryObserver
 
onEvent(MaterialEvent) - Method in interface com.university.bookstore.observer.MaterialObserver
Called when a material event occurs.
onRemoved(MaterialSubject) - Method in interface com.university.bookstore.observer.MaterialObserver
Called when the observer is removed from a subject.

P

parallelSearchAsync(String, String, Material.MaterialType) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Performs parallel search across multiple criteria.
peek() - Method in class com.university.bookstore.iterator.PriceSortedIterator
Gets the current material without advancing the iterator.
peekNext() - Method in class com.university.bookstore.iterator.PriceSortedIterator
Gets the next material without advancing the iterator.
performMaintenance() - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Performs maintenance operations like cleanup and optimization.
PHYSICAL - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 
PODCAST - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
PolymorphismDemo - Class in com.university.bookstore.demo
Demonstration class showing polymorphism and OOP best practices.
PolymorphismDemo() - Constructor for class com.university.bookstore.demo.PolymorphismDemo
 
PriceChangedEvent - Class in com.university.bookstore.observer
Event that occurs when a material's price changes.
PriceChangedEvent(Material, double, double) - Constructor for class com.university.bookstore.observer.PriceChangedEvent
Creates a new price changed event.
PriceRangeIterator - Class in com.university.bookstore.iterator
Iterator that filters materials by price range.
PriceRangeIterator(List<Material>, double, double) - Constructor for class com.university.bookstore.iterator.PriceRangeIterator
Creates a new price range iterator.
PriceSortedIterator - Class in com.university.bookstore.iterator
Iterator that returns materials sorted by price.
PriceSortedIterator(List<Material>, boolean) - Constructor for class com.university.bookstore.iterator.PriceSortedIterator
Creates a new price sorted iterator.
printAuditLog() - Method in class com.university.bookstore.observer.AuditLogObserver
Prints the audit log to the console.
printCount() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns the value of the printCount record component.
PrintedBook - Class in com.university.bookstore.model
Represents a physical printed book in the bookstore inventory.
PrintedBook(String, String, String, double, int) - Constructor for class com.university.bookstore.model.PrintedBook
Convenience constructor for backward compatibility.
PrintedBook(String, String, String, double, int, int, String, boolean) - Constructor for class com.university.bookstore.model.PrintedBook
Creates a new PrintedBook with validation.
publishEvent(MaterialEvent) - Method in class com.university.bookstore.observer.MaterialEventPublisher
Publishes a custom material event.
publishMaterialAdded(Material) - Method in class com.university.bookstore.observer.MaterialEventPublisher
Publishes a material added event.
publishPriceChanged(Material, double, double) - Method in class com.university.bookstore.observer.MaterialEventPublisher
Publishes a price changed event.
put(String, List<Material>) - Method in class com.university.bookstore.search.ModernSearchCache
Puts a value in the cache.
put(String, List<Material>) - Method in class com.university.bookstore.search.SearchResultCache
Stores search results in the cache with the given key.

Q

QUARTERLY - Enum constant in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 

R

refresh(String, Function<String, List<Material>>) - Method in class com.university.bookstore.search.ModernSearchCache
Refreshes a cache entry asynchronously.
refreshIndex() - Method in class com.university.bookstore.search.CachedSearchService
Refreshes the search index from the repository.
remove(Material) - Method in class com.university.bookstore.search.MaterialTrie
Removes a material from the trie.
remove(String) - Method in class com.university.bookstore.search.SearchResultCache
Removes the entry with the given key from the cache.
removeAnnotation(int) - Method in class com.university.bookstore.decorator.DigitalAnnotationDecorator
Removes an annotation by index.
removeBundle(String) - Method in class com.university.bookstore.composite.BundleService
Removes a bundle by name.
removeByIsbn(String) - Method in interface com.university.bookstore.api.BookstoreAPI
Removes a book from the inventory by ISBN.
removeByIsbn(String) - Method in class com.university.bookstore.impl.BookstoreArrayList
 
removeComponent(MaterialComponent) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Removes a component from the bundle.
removeComponent(MaterialComponent) - Method in class com.university.bookstore.composite.MaterialBundle
Removes a component from this bundle.
removeDuplicates(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Removes duplicate books based on ISBN.
removeFromBundle(String, Material) - Method in class com.university.bookstore.composite.BundleService
Removes a material from the specified bundle.
removeMaterial(Material) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Removes a material from the bundle.
removeMaterial(Material) - Method in class com.university.bookstore.search.CachedSearchService
Removes a material from the search index and invalidates relevant cache entries.
removeMaterial(String) - Method in interface com.university.bookstore.api.MaterialStore
Removes a material by its ID.
removeMaterial(String) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
removeMaterial(String) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
removeMaterial(String) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
removeMaterial(String) - Method in class com.university.bookstore.service.MaterialService
Removes a material from the system.
removeMaterialsBatchAsync(List<String>) - Method in interface com.university.bookstore.api.ModernMaterialStore
Removes multiple materials in batch.
removeObserver(MaterialObserver) - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
removeObserver(MaterialObserver) - Method in interface com.university.bookstore.observer.MaterialSubject
Removes an observer from receiving material events.
RepositoryException - Exception Class in com.university.bookstore.repository
Exception thrown when repository operations fail.
RepositoryException(String) - Constructor for exception class com.university.bookstore.repository.RepositoryException
Creates a new repository exception with the specified message.
RepositoryException(String, Throwable) - Constructor for exception class com.university.bookstore.repository.RepositoryException
Creates a new repository exception with the specified message and cause.
RepositoryException(Throwable) - Constructor for exception class com.university.bookstore.repository.RepositoryException
Creates a new repository exception with the specified cause.
requestDiscount(Material, double, String, String) - Method in class com.university.bookstore.chain.DiscountApprovalService
Processes a discount request through the approval chain.
reset() - Method in interface com.university.bookstore.builder.ComponentBuilder
Resets the builder to its initial state.
reset() - Method in class com.university.bookstore.builder.EBookBuilder
 
reset() - Method in interface com.university.bookstore.builder.MaterialBuilder
Resets the builder to its initial state.
reset() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
 
reset() - Method in interface com.university.bookstore.iterator.MaterialIterator
Resets the iterator to the beginning.
reset() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
reset() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
reset() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
reset() - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Resets the shipping cost calculator for a new calculation.
resetStats() - Method in class com.university.bookstore.search.ModernSearchCache
Resets cache statistics.
restoreFromBackup(String) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Restores data from a backup file.

S

save(Material) - Method in class com.university.bookstore.repository.JsonMaterialRepository
 
save(Material) - Method in interface com.university.bookstore.repository.MaterialRepository
Saves a material to the repository.
save(Material) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
 
saveAll(Collection<Material>) - Method in class com.university.bookstore.repository.ModernJsonMaterialRepository
Saves multiple materials in batch for better performance.
searchByCreator(String) - Method in interface com.university.bookstore.api.MaterialStore
Searches materials by creator (author/director/publisher).
searchByCreator(String) - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/search/creator?q={query} - Search materials by creator
searchByCreator(String) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
searchByCreator(String) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
searchByCreator(String) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
searchByPrefix(String) - Method in class com.university.bookstore.search.CachedSearchService
Searches for materials by title prefix with caching.
searchByPrefix(String) - Method in class com.university.bookstore.search.MaterialTrie
Searches for materials with titles that start with the given prefix.
searchByPrefixWithLimit(String, int) - Method in class com.university.bookstore.search.CachedSearchService
Searches for materials by title prefix with result limit and caching.
searchByPrefixWithLimit(String, int) - Method in class com.university.bookstore.search.MaterialTrie
Searches for materials with titles that start with the given prefix, limited to a maximum number of results.
searchByTitle(String) - Method in interface com.university.bookstore.api.MaterialStore
Searches materials by title (case-insensitive partial match).
searchByTitle(String) - Method in class com.university.bookstore.controller.MaterialController
GET /api/materials/search/title?q={query} - Search materials by title
searchByTitle(String) - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
searchByTitle(String) - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
searchByTitle(String) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
searchByTitleAsync(String) - Method in interface com.university.bookstore.api.ModernMaterialStore
Searches by title asynchronously.
searchByTitleAsync(String) - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
Searches by title asynchronously.
SearchCriteria(Optional<String>, Optional<String>, Optional<Material.MaterialType>, Optional<Double>, Optional<Double>, Optional<Integer>, Optional<Integer>) - Constructor for record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Creates an instance of a SearchCriteria record class.
SearchResultCache - Class in com.university.bookstore.search
LRU (Least Recently Used) cache for search results.
SearchResultCache(int) - Constructor for class com.university.bookstore.search.SearchResultCache
Creates a new search result cache with the specified maximum size.
SearchResultCache.CacheStats - Class in com.university.bookstore.search
Statistics class for cache performance monitoring.
setApproved(boolean) - Method in class com.university.bookstore.chain.DiscountRequest
Sets the approval status.
setApprovedBy(String) - Method in class com.university.bookstore.chain.DiscountRequest
Sets who approved the request.
setAuthor(String) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook author.
setBundleDiscount(double) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Sets the bundle discount rate.
setBundleDiscountPercent(double) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Sets the bundle discount percentage.
setBundleName(String) - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Sets the bundle name.
setDrmEnabled(boolean) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the DRM enabled status.
setFileFormat(String) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook file format.
setFileSize(double) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook file size.
setHighQuality() - Method in class com.university.bookstore.builder.EBookBuilder
Sets the quality to high.
setId(String) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook ID.
setLargeDiscount() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Sets a 30% discount.
setLowQuality() - Method in class com.university.bookstore.builder.EBookBuilder
Sets the quality to low.
setMaterials(List<Material>) - Method in class com.university.bookstore.repository.MaterialsWrapper
 
setMediumDiscount() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Sets a 20% discount.
setNext(DiscountHandler) - Method in class com.university.bookstore.chain.DiscountHandler
Sets the next handler in the chain.
setPrice(double) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook price.
setQuality(Media.MediaQuality) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook quality.
setRejectionReason(String) - Method in class com.university.bookstore.chain.DiscountRequest
Sets the rejection reason.
setSmallDiscount() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
Sets a 10% discount.
setTitle(String) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook title.
setWordCount(int) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook word count.
setYear(int) - Method in class com.university.bookstore.builder.EBookBuilder
Sets the eBook publication year.
ShippingCostCalculator - Class in com.university.bookstore.visitor
Concrete visitor implementation for calculating shipping costs.
ShippingCostCalculator() - Constructor for class com.university.bookstore.visitor.ShippingCostCalculator
 
SHORT_FILM - Enum constant in enum class com.university.bookstore.model.VideoMaterial.VideoType
 
size() - Method in interface com.university.bookstore.api.BookstoreAPI
Gets the number of books in the inventory.
size() - Method in interface com.university.bookstore.api.MaterialStore
Gets the number of materials in inventory.
size() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
size() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
size() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
size() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
size() - Method in class com.university.bookstore.search.MaterialTrie
Gets the total number of materials in the trie.
size() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the size record component.
size() - Method in class com.university.bookstore.search.ModernSearchCache
Gets the current cache size.
size() - Method in class com.university.bookstore.search.SearchResultCache
Gets the current number of entries in the cache.
snapshotArray() - Method in interface com.university.bookstore.api.BookstoreAPI
Creates a defensive copy of the inventory as an array.
snapshotArray() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
sortByPrice() - Method in class com.university.bookstore.impl.BookstoreArrayList
Sorts the inventory by price (ascending).
sortByPrice(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Sorts books by price in ascending order (in-place).
sortByTitle() - Method in class com.university.bookstore.impl.BookstoreArrayList
Sorts the inventory by title (alphabetical order).
sortByYear() - Method in class com.university.bookstore.impl.BookstoreArrayList
Sorts the inventory by year (ascending).
sortByYear(Book[]) - Static method in class com.university.bookstore.utils.BookArrayUtils
Sorts books by year in ascending order (in-place).
STANDARD - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 
successful() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Returns the value of the successful record component.
successRate() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Gets the success rate.

T

title() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the title record component.
toString() - Method in class com.university.bookstore.api.MaterialStore.InventoryStats
 
toString() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Returns a string representation of this record class.
toString() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns a string representation of this record class.
toString() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns a string representation of this record class.
toString() - Method in class com.university.bookstore.builder.EBookBuilder
 
toString() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
 
toString() - Method in class com.university.bookstore.chain.DiscountApprovalService.ApprovalStats
 
toString() - Method in class com.university.bookstore.chain.DiscountApprovalService
 
toString() - Method in class com.university.bookstore.chain.DiscountHandler
 
toString() - Method in class com.university.bookstore.chain.DiscountRequest
 
toString() - Method in class com.university.bookstore.composite.BundleService.BundleStats
 
toString() - Method in class com.university.bookstore.composite.BundleService
 
toString() - Method in class com.university.bookstore.composite.MaterialBundle
 
toString() - Method in class com.university.bookstore.composite.MaterialLeaf
 
toString() - Method in class com.university.bookstore.decorator.MaterialDecorator
 
toString() - Method in class com.university.bookstore.decorator.MaterialEnhancementService
 
toString() - Method in class com.university.bookstore.impl.BookstoreArrayList
 
toString() - Method in class com.university.bookstore.impl.ConcurrentMaterialStore
 
toString() - Method in class com.university.bookstore.impl.MaterialStoreImpl
 
toString() - Method in class com.university.bookstore.impl.ModernConcurrentMaterialStore
 
toString() - Method in class com.university.bookstore.iterator.MaterialIteratorFactory
 
toString() - Method in class com.university.bookstore.iterator.MaterialTypeIterator
 
toString() - Method in class com.university.bookstore.iterator.PriceRangeIterator
 
toString() - Method in class com.university.bookstore.iterator.PriceSortedIterator
 
toString() - Method in class com.university.bookstore.model.AudioBook
 
toString() - Method in class com.university.bookstore.model.Book
Returns a human-readable string representation of this book.
toString() - Method in class com.university.bookstore.model.EBook
 
toString() - Method in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 
toString() - Method in class com.university.bookstore.model.Magazine
 
toString() - Method in class com.university.bookstore.model.Material
 
toString() - Method in enum class com.university.bookstore.model.Media.MediaQuality
 
toString() - Method in class com.university.bookstore.model.PrintedBook
 
toString() - Method in class com.university.bookstore.model.VideoMaterial
 
toString() - Method in enum class com.university.bookstore.model.VideoMaterial.VideoType
 
toString() - Method in class com.university.bookstore.observer.AnalyticsObserver.AnalyticsData
 
toString() - Method in class com.university.bookstore.observer.AnalyticsObserver
 
toString() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogEntry
 
toString() - Method in class com.university.bookstore.observer.AuditLogObserver.AuditLogStats
 
toString() - Method in class com.university.bookstore.observer.AuditLogObserver
 
toString() - Method in class com.university.bookstore.observer.InventoryObserver
 
toString() - Method in class com.university.bookstore.observer.MaterialAddedEvent
 
toString() - Method in class com.university.bookstore.observer.MaterialEventPublisher
 
toString() - Method in class com.university.bookstore.observer.PriceChangedEvent
 
toString() - Method in class com.university.bookstore.search.CachedSearchService
 
toString() - Method in class com.university.bookstore.search.MaterialTrie
 
toString() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns a string representation of this record class.
toString() - Method in class com.university.bookstore.search.SearchResultCache.CacheStats
 
toString() - Method in class com.university.bookstore.search.SearchResultCache
 
totalAccessCount() - Method in record class com.university.bookstore.search.ModernSearchCache.CacheStats
Returns the value of the totalAccessCount record component.
totalCount() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns the value of the totalCount record component.
totalOperations() - Method in record class com.university.bookstore.api.ModernMaterialStore.BatchOperationResult
Gets the total number of operations.
TUTORIAL - Enum constant in enum class com.university.bookstore.model.VideoMaterial.VideoType
 
TV_SERIES - Enum constant in enum class com.university.bookstore.model.VideoMaterial.VideoType
 
type() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the type record component.

U

ULTRA_HD - Enum constant in enum class com.university.bookstore.model.Media.MediaQuality
 
uniqueTypes() - Method in record class com.university.bookstore.api.ModernMaterialStore.ModernInventoryStats
Returns the value of the uniqueTypes record component.
updateMaterial(Material) - Method in class com.university.bookstore.service.MaterialService
Updates an existing material with business logic validation.
updateMaterial(String, Material) - Method in class com.university.bookstore.controller.MaterialController
PUT /api/materials/{id} - Update an existing material

V

validate() - Method in interface com.university.bookstore.builder.ComponentBuilder
Validates that all required fields are set.
validate() - Method in class com.university.bookstore.builder.EBookBuilder
 
validate() - Method in interface com.university.bookstore.builder.MaterialBuilder
Validates that all required fields are set.
validate() - Method in class com.university.bookstore.builder.MaterialBundleBuilder
 
validateRequiredProperties(String, Map<String, Object>) - Static method in class com.university.bookstore.factory.AdvancedMaterialFactory
Validates that all required properties are present.
valueOf(String) - Static method in enum class com.university.bookstore.model.Magazine.PublicationFrequency
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class com.university.bookstore.model.Material.MaterialType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class com.university.bookstore.model.Media.MediaQuality
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class com.university.bookstore.model.VideoMaterial.VideoType
Returns the enum constant of this class with the specified name.
values() - Static method in enum class com.university.bookstore.model.Magazine.PublicationFrequency
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class com.university.bookstore.model.Material.MaterialType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class com.university.bookstore.model.Media.MediaQuality
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class com.university.bookstore.model.VideoMaterial.VideoType
Returns an array containing the constants of this enum class, in the order they are declared.
VIDEO - Enum constant in enum class com.university.bookstore.model.Material.MaterialType
 
VideoMaterial - Class in com.university.bookstore.model
Represents video content (movies, documentaries, educational videos).
VideoMaterial(String, String, String, double, int, int, String, double, Media.MediaQuality, VideoMaterial.VideoType, String, List<String>, boolean, String) - Constructor for class com.university.bookstore.model.VideoMaterial
Creates a new VideoMaterial.
VideoMaterial.VideoType - Enum Class in com.university.bookstore.model
Types of video content.
visit(AudioBook) - Method in interface com.university.bookstore.visitor.MaterialVisitor
Visits an AudioBook.
visit(AudioBook) - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Calculates shipping cost for audio books.
visit(EBook) - Method in interface com.university.bookstore.visitor.MaterialVisitor
Visits an EBook.
visit(EBook) - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Calculates shipping cost for e-books.
visit(Magazine) - Method in interface com.university.bookstore.visitor.MaterialVisitor
Visits a Magazine.
visit(Magazine) - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Calculates flat rate shipping cost for magazines.
visit(PrintedBook) - Method in interface com.university.bookstore.visitor.MaterialVisitor
Visits a PrintedBook.
visit(PrintedBook) - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Calculates shipping cost for a printed book based on weight.
visit(VideoMaterial) - Method in interface com.university.bookstore.visitor.MaterialVisitor
Visits a VideoMaterial.
visit(VideoMaterial) - Method in class com.university.bookstore.visitor.ShippingCostCalculator
Calculates shipping cost for video materials.
VPHandler - Class in com.university.bookstore.chain
VP-level discount approval handler.
VPHandler() - Constructor for class com.university.bookstore.chain.VPHandler
 

W

warmUp(Collection<String>, Function<String, List<Material>>) - Method in class com.university.bookstore.search.ModernSearchCache
Warms up the cache with predefined keys.
WEEKLY - Enum constant in enum class com.university.bookstore.model.Magazine.PublicationFrequency
 
withCreator(String) - Method in class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 
withPriceRange(Double, Double) - Method in class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 
withTitle(String) - Method in class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 
withType(Material.MaterialType) - Method in class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 
withYearRange(Integer, Integer) - Method in class com.university.bookstore.api.ModernMaterialStore.SearchCriteria.Builder
 

Y

yearFrom() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the yearFrom record component.
yearTo() - Method in record class com.university.bookstore.api.ModernMaterialStore.SearchCriteria
Returns the value of the yearTo record component.
A B C D E F G H I J L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Serialized Form