All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jrimum.utilix.Collections Maven / Gradle / Ivy

Go to download

This is a fork and merge from JRimum ( http://www.jrimum.org ), - Bopepo: https://github.com/jrimum/bopepo - Texgit: https://github.com/jrimum/texgit - Valia: https://github.com/jrimum/vallia - Utilix: https://github.com/jrimum/utilix - Domkee: https://github.com/jrimum/domkee For Brazillian Boleto Payment Method. So much thanks for original authors: Gilmar P. S. L, Misael Barreto and Rômulo Augusto.

The newest version!
/*
 * Copyright 2010 JRimum Project
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
 * applicable law or agreed to in writing, software distributed under the
 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
 * OF ANY KIND, either express or implied. See the License for the specific
 * language governing permissions and limitations under the License.
 * 
 * Created at: 01/08/2010 - 21:30:00
 * 
 * ================================================================================
 * 
 * Direitos autorais 2010 JRimum Project
 * 
 * Licenciado sob a Licença Apache, Versão 2.0 ("LICENÇA"); você não pode usar
 * esse arquivo exceto em conformidade com a esta LICENÇA. Você pode obter uma
 * cópia desta LICENÇA em http://www.apache.org/licenses/LICENSE-2.0 A menos que
 * haja exigência legal ou acordo por escrito, a distribuição de software sob
 * esta LICENÇA se dará “COMO ESTÁ”, SEM GARANTIAS OU CONDIÇÕES DE QUALQUER
 * TIPO, sejam expressas ou tácitas. Veja a LICENÇA para a redação específica a
 * reger permissões e limitações sob esta LICENÇA.
 * 
 * Criado em: 01/08/2010 - 21:30:00
 * 
 */

package org.jrimum.utilix;

import java.util.Collection;
import java.util.Map;

/**
 * Classe utilitária para validações de coleções em geral, com e sem exceções.
 * 
 * 

* Fornece métodos booleanos e métodos que verificam se uma coleção está de * acordo com o desejado e, caso não estejam, lançam exceção. *

* * @author Gilmar P.S.L. * @author Rômulo Augusto * * @since 0.2 * * @version 0.2 */ public final class Collections { /** * Utility class pattern: classe não instanciável * * @throws IllegalStateException * Caso haja alguma tentativa de utilização deste construtor. */ private Collections() { Exceptions.throwIllegalStateException("Instanciação não permitida!"); } /** * Verifica se a Collection passada por parâmetro é * null ou não possui elementos e lança * exceção caso não preencha estes requisitos. * * @param collection * - Instância de Collection analisada. * * @throws IllegalArgumentException - Caso a coleção não * seja null e possua elementos. * * @see #checkEmpty(Collection, String) * @see #isEmpty(Collection) * @see #isNotEmpty(Collection) * * @since 0.2 */ public static void checkEmpty(Collection collection) { checkEmpty(collection, "Collection não nulo e com elementos! Valor [" + collection + "]."); } /** * Verifica se a Collection passado por parâmetro é * null ou não possui elementos e lança * exceção, com a mensagem informada, caso não preencha estes requisitos. * * @param collection * - Instância de Collection analisada. * @param message * - Mensagem utilizada na exceção. * * @throws IllegalArgumentException - Caso a coleção não * seja null e possua elementos. * * @see #isEmpty(Collection) * @see #isNotEmpty(Collection) * * @since 0.2 */ public static void checkEmpty(Collection collection, String message) { if (hasElement(collection)) { Exceptions.throwIllegalArgumentException(message); } } /** * Verifica se a Collection passada por parâmetro * não é null e possui elementos e lança * exceção caso não preencha estes requisitos. * * @param collection * - Instância de Collection analisada. * * @throws IllegalArgumentException * - Caso a coleção seja null ou a coleção * não possua elementos. * * @see #checkNotEmpty(Collection, String) * @see #isEmpty(Collection) * @see #isNotEmpty(Collection) * * @since 0.2 */ public static void checkNotEmpty(Collection collection) { checkNotEmpty(collection, "Objeto nulo!", "Collection sem elementos!"); } /** * Verifica se a Collection passada por parâmetro * não é null e possui elementos e lança * exceção, com a mensagem informada, caso não preencha estes requisitos. * * @param collection * - Instância de Collection analisada. * @param message * - Mensagem utiliada na exceção. * * @throws IllegalArgumentException * - Caso a coleção seja null ou a coleção * não possua elementos. * * @see #isEmpty(Collection) * @see #isNotEmpty(Collection) * * @since 0.2 */ public static void checkNotEmpty(Collection collection, String message) { checkNotEmpty(collection, message, message); } /** * Verifica se o Map passado por parâmetro é null * ou não possui elementos e lança exceção caso não * preencha estes requisitos. * * @param map * - Instância de Map analisada. * * @throws IllegalArgumentException - Caso o mapa não seja * null e possua elementos. * * @see #checkEmpty(Map, String) * @see #isEmpty(Map) * @see #isNotEmpty(Map) * * @since 0.2 */ public static void checkEmpty(Map map) { checkEmpty(map, "Map não nulo e com elementos. Valor [" + map + "]"); } /** * Verifica se o Map passado por parâmetro é null * ou não possui elementos e lança exceção, com a mensagem * informada, caso não preencha estes requisitos. * * @param map * - Instância de Map analisada. * @param message * - Mensagem utilizada na exceção. * * @throws IllegalArgumentException - Caso o mapa não seja * null e possua elementos. * * @see #isEmpty(Map) * @see #isNotEmpty(Map) * * @since 0.2 */ public static void checkEmpty(Map map, String message) { if (hasElement(map)) { Exceptions.throwIllegalArgumentException(message); } } /** * Verifica se o Map passado por parâmetro não * é null e possui elementos e lança exceção caso não preencha * estes requisitos. * * @param map * - Instância de Map analisada. * * @throws IllegalArgumentException * - Caso o mapa seja null ou o mapa * não possua elementos. * * @see #checkNotEmpty(Map, String) * @see #isEmpty(Map) * @see #isNotEmpty(Map) * * @since 0.2 */ public static void checkNotEmpty(Map map) { checkNotEmpty(map, "Objeto nulo", "Map sem elementos"); } /** * Verifica se o Map passado por parâmetro não * é null e possui elementos e lança exceção, com a mensagem * informada, caso não preencha estes requisitos. * * @param map * - Instância de Map analisada. * @param message * - Mensagem utiliada na exceção. * * @throws IllegalArgumentException * - Caso o mapa seja null ou o mapa * não possua elementos. * * @see #isEmpty(Map) * @see #isNotEmpty(Map) * * @since 0.2 */ public static void checkNotEmpty(Map map, String message) { checkNotEmpty(map, message, message); } /** * Verifica se a Collection passada por parâmetro é * null ou não possui elementos. * * @param collection * - Instância de Collection analisada. * @return !hasElement(collection) * * @since 0.2 */ public static boolean isEmpty(Collection collection) { return !hasElement(collection); } /** * Verifica se a Collection passada por parâmetro * não é null e possui elementos. * * @param collection * - Instância de Collection analisada. * @return hasElement(collection) * * @see #isEmpty(Collection) * * @since 0.2 */ public static boolean isNotEmpty(Collection collection) { return hasElement(collection); } /** * Verifica se o Map passado por parâmetro é null * ou não possui elementos. * * @param map * - Instância de Map analisada. * @return !hasElement(map) * * @since 0.2 */ public static boolean isEmpty(Map map) { return !hasElement(map); } /** * Verifica se o Map passado por parâmetro não * é null e possui elementos. * * @param map * - Instância de Map analisada. * @return hasElement(map) * * @see #isEmpty(Map) * * @since 0.2 */ public static boolean isNotEmpty(Map map) { return hasElement(map); } /** * Indica se pelo menos uma coleção tem algum elemento sem gerar NPE. * * @param cols * - Coleções para teste. * * @return indicativo */ public static boolean hasElement(Collection ... cols) { if(Arrays.hasElement(cols)){ for(Collection c : cols){ if(hasElement(c)){ return true; } } } return false; } /** * Indica se pelo menos um mapa tem algum elemento sem gerar NPE. * * @param maps * - Mapas para teste. * * @return indicativo */ public static boolean hasElement(Map ... maps) { if(Arrays.hasElement(maps)){ for(Map m : maps){ if(hasElement(m)){ return true; } } } return false; } /** * Indica se uma dada coleção tem elementos sem gerar NPE. *

* Resposta direta para o seguinte código: * (c != null && !c.isEmpty()). *

* * @param c * - A coleção a ser testada. * * @return (c != null && !c.isEmpty()) * * @since 0.2 */ public static boolean hasElement(Collection c) { return (c != null && !c.isEmpty()); } /** * Indica se um dado mapa tem elementos sem gerar NPE. *

* Resposta direata para o seguinte código: * (m != null && !m.isEmpty()). *

* * @param m * - O mapa a ser testado. * * @return (m != null && !m.isEmpty()) * * @since 0.2 */ public static boolean hasElement(Map m) { return (m != null && !m.isEmpty()); } /** * Retorna a quantidade de elementos de uma dada coleção sem gerar NPE. *

* Resposta direata para o seguinte código: * (c != null ? c.size() : 0). *

* * @param c * - Coleção com ou sem elementos. * * @return (c != null ? c.size() : 0) */ public static int size(Collection c) { return (c != null ? c.size() : 0); } /** * Retorna a quantidade de elementos de um dado mapa sem gerar NPE. *

* Resposta direata para o seguinte código: * (m != null ? m.size() : 0). *

* * @param m * - Mapa com ou sem elementos. * * @return (m != null ? m.size() : 0) */ public static int size(Map m) { return (m != null ? m.size() : 0); } /** * Verifica se o coleção passado por parâmetro não é * null ou se é vazio. *

* Caso o objeto seja null, lança * NullPointerException com a mensagem informada no parâmetro * messageNullPointer (primeiro parâmetro String). Caso o * objeto não seja null e não possua elementos, lança * IllegalArgumentException com a mensagem informada no * parâmetro messageIllegalArgument (segundo parâmetro String). *

* * @param collection * - Objeto analisado. * @param messageNullPointer * - Mensagem utiliada na exceção * IllegalArgumentException. * @param messageIllegalArgument * - Mensagem utiliada na exceção * IllegalArgumentException. * * @throws IllegalArgumentException * * @since 0.2 */ public static void checkNotEmpty(Collection collection, String messageNullPointer, String messageIllegalArgument) { if (collection == null) { Exceptions.throwIllegalArgumentException(messageNullPointer); } if (collection.isEmpty()) { Exceptions.throwIllegalArgumentException(messageIllegalArgument); } } /** * Verifica se o mapa passado por parâmetro não é * null ou se é vazio. *

* Caso o objeto seja null, lança * NullPointerException com a mensagem informada no parâmetro * messageNullPointer (primeiro parâmetro String). Caso o * objeto não seja null e não possua elementos, lança * IllegalArgumentException com a mensagem informada no * parâmetro messageIllegalArgument (segundo parâmetro String). *

* * @param map * - Objeto analisado. * @param messageNullPointer * - Mensagem utiliada na exceção * IllegalArgumentException. * @param messageIllegalArgument * - Mensagem utiliada na exceção * IllegalArgumentException. * * @throws IllegalArgumentException * * @since 0.2 */ public static void checkNotEmpty(Map map, String messageNullPointer, String messageIllegalArgument) { if (map == null) { Exceptions.throwIllegalArgumentException(messageNullPointer); } if (map.isEmpty()) { Exceptions.throwIllegalArgumentException(messageIllegalArgument); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy