Class DuplicatedAddressValidator

java.lang.Object
com.fiap.tech_challenge.parte1.ms_users.validators.DuplicatedAddressValidator
All Implemented Interfaces:
UserValidator

@Component public class DuplicatedAddressValidator extends Object implements UserValidator
Validator that checks for duplicate addresses in a user's request.

Implements the UserValidator interface and ensures that all addresses in a user request are unique by comparing all relevant address fields.

  • Constructor Details

    • DuplicatedAddressValidator

      public DuplicatedAddressValidator()
  • Method Details

    • validate

      public void validate(UsersRequestDTO dto)
      Validates the list of addresses in the given UsersRequestDTO to ensure no duplicates exist.
      Specified by:
      validate in interface UserValidator
      Parameters:
      dto - the DTO containing user data, including the list of addresses.
      Throws:
      DuplicatedAddressException - if duplicate addresses are found.
    • validateAddress

      public void validateAddress(List<AddressRequestDTO> addresses)
      Checks a list of addresses for duplicates.
      Parameters:
      addresses - the list of addresses to validate.
      Throws:
      DuplicatedAddressException - if any duplicate addresses are detected.
    • generateAddressKey

      public String generateAddressKey(AddressRequestDTO address)
      Generates a unique key for an address by concatenating its normalized fields.
      Parameters:
      address - the address object to generate the key for.
      Returns:
      a string key representing the address.