GUAVA

Testando pré condições de forma fácil


Métodos

Cada método tem 3 variantes:

  • Nenhum argumento extra. Todas as exceções são lançadas sem nenhuma mensagem de erro.
  • Um argumento Object extra. Toda exceção é lançada com a mensagem de erro object.toString().
  • Um argumento String extra, com um numero abritrário de argumentos Object. (pense em algo como printf)


Check argument


checkArgument(boolean)

Motivação: Checa se a expressão boolean é true
Uso: validar argumentos dos métodos
Em caso de falha: IllegalArgumentException

Check NOT NULL


checkNotNull(T)

Motivação: Checa se o valor não é nulo

Uso: validar argumentos dos métodos, Retorna o valor diretamente, logo pode ser usado inline

Em caso de falha: NullPointerException

Check state


checkState(boolean)

Motivação: Checa algum estado do objeto

Uso:  Não depende dos argumentos do método. 
Ex: Um Iterator pode usar essa checagem em um next mesmo sendo chamado antes de qualquer chamada de remove.
Em caso de falha: IllegalStateException

Check ELEMENT INDEX 


checkElementIndex(index, size)

Motivação: Checa se o indice é válido na lista, string ou array.

Uso:  O intervalo do indice deve estar entre zero e o tamanho exclusive. Você não pode passar o alvo diretamente, mas sim o seu tamanho. Retorna o indice.

Em caso de falha: IndexOutOfBoundsException

Check position INDEX 


checkPositionIndex(index, size)

Motivação: Checa se o indice é válido na lista, string ou array.

Uso:  O intervalo do indice deve estar entre zero e o tamanho inclusive. Você não pode passar o alvo diretamente, mas sim o seu tamanho.  Retorna o indice.

Em caso de falha: IndexOutOfBoundsException

Check position INDEXes 


checkPositionIndexes(start, end, size)

Motivação: Checa se [start, end) é valido no sub intervalo da lista, string ou array do tamanho especificado

Em caso de falha: IndexOutOfBoundsException

Guava - PreConditions

By Alex Rios

Guava - PreConditions

  • 306