Enum Class SearchNormalization

java.lang.Object
java.lang.Enum<SearchNormalization>
br.com.seedgrid.privacy.SearchNormalization
All Implemented Interfaces:
Serializable, Comparable<SearchNormalization>, Constable

public enum SearchNormalization extends Enum<SearchNormalization>
Como normalizar um valor antes de gerar o hash de busca de um EncryptedField.

A busca por igualdade só encontra o registro se o mesmo modo for aplicado na gravação (pelo EncryptedFieldListener) e na consulta (pelo EncryptedFieldSearch). Escolha o modo pela natureza do dado.

  • Enum Constant Details

    • NONE

      public static final SearchNormalization NONE
      Sem normalização: hash do valor exato, byte a byte (case-sensitive).
    • CANONICAL

      public static final SearchNormalization CANONICAL
      Canônica: trim, remove acentos (NFD), lowercase e mantém só [a-z0-9]. Ideal para documentos e telefones (CPF, CNPJ, telefone, CEP) — tolera pontuação/formatação sem risco de colisão, porque são sequências de dígitos.
    • EMAIL

      public static final SearchNormalization EMAIL
      E-mail: apenas trim + lowercase, preservando @ . - _ etc. É a única normalização segura para e-mail: aplicar a CANONICAL (que remove pontuação) faria joao@x.com e joa@ox.com colidirem no mesmo hash.
  • Method Details

    • values

      public static SearchNormalization[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static SearchNormalization valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • apply

      public String apply(String value, ValueNormalizer canonicalNormalizer)
      Aplica a normalização. canonicalNormalizer é usado apenas por CANONICAL (permite injetar um normalizador customizado); os demais modos o ignoram.