Code Search for Developers
 
 
  

ListUtil.java from Groovy Eclipse Monkey at Krugle


Show ListUtil.java syntax highlighted

package net.sf.groovyMonkey.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
import org.apache.commons.lang.ObjectUtils;

public class ListUtil
{
    public static < T > List< T > transformed( final Transformer< T > transformer,
                                               final List<?> list )
    {
        return transformed( transformer, list.toArray() );
    }
    public static < T > List< T > transformed( final Transformer< T > transformer,
                                               final Object... objects )
    {
        final List< T > list = new ArrayList< T >()
        {
            private static final long serialVersionUID = 4888742388896207408L;
            private final Transformer< T > trans = transformer;
            @Override
            public void add( int index, T element )
            {
                super.add( index, trans.transform( element ) );
            }
            @Override
            public boolean add( T o )
            {
                return super.add( trans.transform( o ) );
            }
            @Override
            public boolean addAll( Collection< ? extends T > c )
            {
                final List< T > list = new ArrayList< T >();
                for( final T t : c )
                    list.add( trans.transform( t ) );
                return super.addAll( list );
            }
            @Override
            public boolean addAll( int index, Collection< ? extends T > c )
            {
                final List< T > list = new ArrayList< T >();
                for( final T t : c )
                    list.add( trans.transform( t ) );
                return super.addAll( index, list );
            }
            @Override
            public boolean contains( Object elem )
            {
                return super.contains( trans.transform( elem ) );
            }
            @Override
            public int indexOf( Object elem )
            {
                return super.indexOf( trans.transform( elem ) );
            }
            @Override
            public int lastIndexOf( Object elem )
            {
                return super.lastIndexOf( trans.transform( elem ) );
            }
            @Override
            public boolean remove( Object o )
            {
                // TODO Auto-generated method stub
                return super.remove( trans.transform( o ) );
            }
            @Override
            public T set( int index, T element )
            {
                return super.set( index, trans.transform( element ) );
            }
            @Override
            public boolean containsAll( Collection< ? > c )
            {
                final List< T > list = new ArrayList< T >();
                for( final Object t : c )
                    list.add( trans.transform( t ) );
                return super.containsAll( list );
            }
            @Override
            public boolean removeAll( Collection< ? > c )
            {
                final List< T > list = new ArrayList< T >();
                for( final Object t : c )
                    list.add( trans.transform( t ) );
                return super.removeAll( list );
            }
            @Override
            public boolean retainAll( Collection< ? > c )
            {
                final List< T > list = new ArrayList< T >();
                for( final Object t : c )
                    list.add( trans.transform( t ) );
                return super.retainAll( list );
            }

        };
        for( final Object object : objects )
            list.add( transformer.transform( object ) );
        return list;
    }
    public static < T > List< T > array( final T... objects )
    {
        final List< T > list = new ArrayList< T >();
        add( list, objects );
        return list;
    }
    public static < T > List< T > array( final Collection< T > collection )
    {
        final List< T > list = new ArrayList< T >();
        if( collection != null && collection.size() > 0 )
            list.addAll( collection );
        return list;
    }
    public static < T > List< T > linked( final T... objects )
    {
        final List< T > list = new LinkedList< T >();
        add( list, objects );
        return list;
    }
    public static < T > List< T > linked( final Collection< T > collection )
    {
        final List< T > list = new LinkedList< T >();
        if( collection != null && collection.size() > 0 )
            list.addAll( collection );
        return list;
    }
    public static < T > List< T > list( final T... objects )
    {
        return array( objects );
    }
    public static < T > List< T > list( final Collection< T > collection )
    {
        final List< T > list = new ArrayList< T >();
        if( collection != null && collection.size() > 0 )
            list.addAll( collection );
        return list;
    }
    public static < T extends Comparable< T > > List< T > treeList( final T... objects )
    {
        final List< T > list = new TreeList< T >();
        add( list, objects );
        return list;
    }
    public static < T extends Comparable< T > > List< T > treeList( final Collection< T > collection )
    {
        final List< T > list = new TreeList< T >();
        if( collection != null && collection.size() > 0 )
            list.addAll( collection );
        return list;
    }
    public static < T > void add( final List< T > list,
                                  final T... objects )
    {
        for( final T object : objects )
            list.add( object );
    }
    public static < T > void listAdd( final List< T > list,
            						  final T... objects )
    {
    	add( list, objects );
    }
    public static < E extends Object > List< String > caseless( final E... objects )
    {
        final Transformer< String > transformer = new Transformer< String >()
        {
            private static final long serialVersionUID = 1631027078150099602L;
            public String transform( final Object input )
            {
                return ObjectUtils.toString( input ).toLowerCase();
            }
        };
        return transformed( transformer, objects );
    }
    public static List< String > caseless( final List<?> list )
    {
        return caseless( list.toArray() );
    }
    public static < T > List< T > vector( final T... objects )
    {
        final List< T > vector = new Vector< T >();
        add( vector, objects );
        return vector;
    }
    public static < T > List< T > vector( final Collection< T > collection )
    {
        final List< T > vector = new Vector< T >();
        if( collection != null && collection.size() > 0 )
            vector.addAll( collection );
        return vector;
    }
}




See more files for this project here

Groovy Eclipse Monkey

Groovy Monkey is a Utility for Eclipse that enables you to create scripts in Groovy, Beanshell, Python or Ruby to run directly in Eclipse. This tool can be used to Eclipse API exploration, automation scripts, and rapid plugin prototyping.

Project homepage: http://sourceforge.net/projects/groovy-monkey
Programming language(s): Groovy,Java,XML
License: other

  ListUtil.java
  MapUtil.java
  SetUtil.java
  StringUtil.java
  Transformer.java
  TreeList.java