org.codehaus.mojo.apt.CollectionUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apt-maven-plugin Show documentation
Show all versions of apt-maven-plugin Show documentation
Maven Plugin for Annotation Processing Tool (apt).
package org.codehaus.mojo.apt;
/*
* The MIT License
*
* Copyright 2006-2008 The Codehaus.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is furnished to do
* so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* Provides utilities for working with collections.
*
* @author Mark Hobson
* @version $Id: CollectionUtils.java 7031 2008-05-22 09:41:31Z mark $
*/
public final class CollectionUtils
{
// constructors -----------------------------------------------------------
private CollectionUtils()
{
throw new AssertionError();
}
// public methods ---------------------------------------------------------
public static Set defaultSet( Set set )
{
return defaultSet( set, Collections.emptySet() );
}
public static Set defaultSet( Set set, Set defaultSet )
{
return isEmpty( set ) ? defaultSet : set;
}
public static boolean isEmpty( Collection> collection )
{
return ( collection == null ) || collection.isEmpty();
}
public static Set genericSet( Set> set, Class elementType )
{
return genericCollection( set, elementType, new HashSet() );
}
public static List genericList( List> list, Class elementType )
{
return genericCollection( list, elementType, new ArrayList() );
}
// private methods --------------------------------------------------------
private static , E> T genericCollection( Collection> collection, Class elementType,
T genericCollection )
{
for ( Object element : collection )
{
genericCollection.add( elementType.cast( element ) );
}
return genericCollection;
}
}