# Uses of Interface
com.university.bookstore.composite.MaterialComponent

Packages that use MaterialComponent
Package
Description
com.university.bookstore.builder
com.university.bookstore.composite

- ## Uses of MaterialComponent in com.university.bookstore.builder

  Classes in com.university.bookstore.builder with type parameters of type MaterialComponent
  Modifier and Type
  Interface
  Description
  `interface`
  `ComponentBuilder<T extends MaterialComponent>`
  Builder interface for creating MaterialComponent instances.
  Methods in com.university.bookstore.builder that return types with arguments of type MaterialComponent
  Modifier and Type
  Method
  Description
  `List<MaterialComponent>`
  MaterialBundleBuilder.`getComponents()`
  Gets the current components.
  Methods in com.university.bookstore.builder with parameters of type MaterialComponent
  Modifier and Type
  Method
  Description
  `MaterialBundleBuilder`
  MaterialBundleBuilder.`addComponent(MaterialComponent component)`
  Adds a material component to the bundle.
  `MaterialBundleBuilder`
  MaterialBundleBuilder.`removeComponent(MaterialComponent component)`
  Removes a component from the bundle.
  Method parameters in com.university.bookstore.builder with type arguments of type MaterialComponent
  Modifier and Type
  Method
  Description
  `MaterialBundleBuilder`
  MaterialBundleBuilder.`addComponents(List<MaterialComponent> components)`
  Adds multiple components to the bundle.

- ## Uses of MaterialComponent in com.university.bookstore.composite

  Classes in com.university.bookstore.composite that implement MaterialComponent
  Modifier and Type
  Class
  Description
  `class`
  `MaterialBundle`
  Composite component in the Composite pattern.
  `class`
  `MaterialLeaf`
  Leaf component in the Composite pattern.
  Methods in com.university.bookstore.composite that return types with arguments of type MaterialComponent
  Modifier and Type
  Method
  Description
  `List<MaterialComponent>`
  MaterialBundle.`getComponents()`
  Gets all components in this bundle.
  Methods in com.university.bookstore.composite with parameters of type MaterialComponent
  Modifier and Type
  Method
  Description
  `void`
  MaterialBundle.`addComponent(MaterialComponent component)`
  Adds a component to this bundle.
  `void`
  BundleService.`addComponentToBundle(String bundleName, MaterialComponent component)`
  Adds a component to the specified bundle.
  `boolean`
  MaterialBundle.`removeComponent(MaterialComponent component)`
  Removes a component from this bundle.