Package models

Class Branch

java.lang.Object
models.Branch

public class Branch extends Object
Representa uma filial. Contem informações sobre id, senha, endereço e produtos.
Since:
2023
Version:
1.1
Author:
Mateus, Henrique e Gabriel
  • Field Details

  • Constructor Details

    • Branch

      public Branch(String password, Address address)
      Cria um objeto do tipo Branch
      Parameters:
      password - Senha de acesso recebida pelo gerente
      address - Endereço da filial
  • Method Details

    • searchProductsByWord

      public ArrayList<Product> searchProductsByWord(String word)
      Procura produtos por uma expressão existente em seu nome. Caso nao sejam encontrados produtos com a expressão, retorna null.
      Parameters:
      word - A expressão a ser procurada
      Returns:
      ArrayList products
    • searchProductByName

      public Product searchProductByName(String name)
      Procura um produto por nome.

      Retorna um objeto do tipo Product caso exista um objeto com o nome procurado. Caso nao seja encontrado, retorna null

      Parameters:
      name - O nome do produto a ser procurado
      Returns:
      Objeto do tipo Product
    • addProduct

      public void addProduct(Product product, Integer productsQuantity)
      Adiciona uma quantidade especifica de produtos do tipo Product ao HashMap products da filial.
      Parameters:
      product - Produto a ser adicionado a filial.
      productsQuantity - Quantidade de produtos a serem adicionados a filial.
    • removeProduct

      public boolean removeProduct(Product product)
      Remove um produto do HashMap products da filial.
      Parameters:
      product - Produto a ser removido da filial.
      Returns:
      true se o produto foi removido com sucesso, false caso contrario.
    • removeProduct

      public boolean removeProduct(Product product, Integer quantity)
      Remove uma quantidade especifica de produtos do HashMap products da filial.

      Caso a quantidade de product seja maior que quantity, decrementa a quantidade em quantity.

      Caso contrario, remove product de products.

      Parameters:
      product - Produto a ser decrementado.
      quantity - Quantidade a ser decrementada.
      Returns:
      true se o produto foi removido com sucesso, false caso contrario.
    • buyProduct

      public void buyProduct(Client client, Product product)
      Realiza a compra de um produto por um cliente. Apos a compra, a quantidade de produtos comprados é decrementada e o produto é adicionado a lista de produtos comprados do cliente.
      Parameters:
      client - Cliente que esta comprando o produto.
      product - Produto a ser comprado.
      See Also:
    • login

      public Boolean login(String password)
      Realiza o login de um gerente na area administrativa da filial.
      Parameters:
      password - Senha de acesso do gerente.
      Returns:
      true se a senha estiver correta, false caso contrario.
    • logout

      public void logout()
      Realiza o logout de um gerente na area administrativa da filial.
    • getProducts

      public HashMap<Product,Integer> getProducts()
      Retorna os produtos de um objeto Branch
      Returns:
      HashMap<Product, Integer>
    • getId

      public String getId()
    • getAddress

      public Address getAddress()
    • setAddress

      public boolean setAddress(Address address)
    • getIsAuthenticated

      public Boolean getIsAuthenticated()
    • toString

      public String toString()
      Overrides:
      toString in class Object