Class ProductManager


  • public class ProductManager
    extends Object
    A type-safe container for elements of the type Product. ProductListeners can be added to inform if a Product was added or removed.
    • Constructor Detail

      • ProductManager

        public ProductManager()
        Constructs an product manager with an empty list of products.
    • Method Detail

      • getProductCount

        public int getProductCount()
        Returns:
        The number of products in this product manager.
      • getProduct

        public Product getProduct​(int index)
        Gets the product at the given index.
        Parameters:
        index - the index
        Returns:
        The product at the given index.
      • getProductDisplayNames

        public String[] getProductDisplayNames()
        Returns the display names of all products currently managed.
        Returns:
        an array containing the display names, never null, but the array can have zero length
        See Also:
        ProductNode.getDisplayName()
      • getProductNames

        public String[] getProductNames()
        Returns the names of all products currently managed.
        Returns:
        an array containing the names, never null, but the array can have zero length
      • getProducts

        public Product[] getProducts()
        Returns an array of all products currently managed.
        Returns:
        an array containing the products, never null, but the array can have zero length
      • getProductByDisplayName

        public Product getProductByDisplayName​(String displayName)
        Parameters:
        displayName - The product's display name.
        Returns:
        The product with the given display name.
      • getProductByRefNo

        public Product getProductByRefNo​(int refNo)
        Parameters:
        refNo - The reference number.
        Returns:
        The product with the given reference number.
      • getProduct

        public Product getProduct​(String name)
        Parameters:
        name - The product name.
        Returns:
        The product with the given name.
      • getProductIndex

        public int getProductIndex​(Product product)
      • containsProduct

        public boolean containsProduct​(String name)
        Tests whether a product with the given name is contained in this list.
        Parameters:
        name - the product name
        Returns:
        true, if so
      • contains

        public boolean contains​(Product product)
        Tests whether the given product is contained in this list.
        Parameters:
        product - The product.
        Returns:
        true if so.
      • addProduct

        public void addProduct​(Product product)
        Adds the given product to this product manager if it does not already exists and sets it's reference number one biger than the greatest reference number in this product manager.
        Parameters:
        product - the product to be added, ignored if null
      • removeProduct

        public boolean removeProduct​(Product product)
        Removes the given product from this product manager if it exists.
        Parameters:
        product - the product to be removed, ignored if null
        Returns:
        true, if the product was removed
      • removeAllProducts

        public void removeAllProducts()
        Removes all product from this list.
      • addListener

        public boolean addListener​(ProductManager.Listener listener)
        Adds a ProductManagerListener to this product manager. The ProductManagerListener is informed each time a product was added or removed.
        Parameters:
        listener - the listener to be added.
        Returns:
        true if the listener was added, otherwise false.
      • removeListener

        public boolean removeListener​(ProductManager.Listener listener)
        Removes a ProductManagerListener from this product manager.
        Parameters:
        listener - The listener.
        Returns:
        true, if the listener was removed, otherwise false.