Package org.codehaus.plexus.archiver.util

Source Code of org.codehaus.plexus.archiver.util.FilterSupport

package org.codehaus.plexus.archiver.util;

import java.io.InputStream;
import java.util.Iterator;
import java.util.List;

import org.codehaus.plexus.archiver.ArchiveFileFilter;
import org.codehaus.plexus.archiver.ArchiveFilterException;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.components.io.fileselectors.FileSelector;
import org.codehaus.plexus.logging.Logger;


/**
* @deprecated Use {@link FileSelector} and {@link Archiver#addFileSet}.
*/
public class FilterSupport
{

    private final List filters;

    private final Logger logger;

    public FilterSupport( List filters, Logger logger )
    {
        this.filters = filters;
        this.logger = logger;
    }

    public boolean include( InputStream dataStream, String entryName )
        throws ArchiveFilterException
    {
        boolean included = true;

        if ( filters != null && !filters.isEmpty() )
        {
            for ( Iterator it = filters.iterator(); it.hasNext(); )
            {
                ArchiveFileFilter filter = (ArchiveFileFilter) it.next();

                included = filter.include( dataStream, entryName );

                if ( !included )
                {
                    if ( logger.isDebugEnabled() )
                    {
                        logger.debug( "Entry: \'" + entryName + "\' excluded by filter: " + filter.getClass().getName() );
                    }

                    break;
                }
            }
        }

        return included;
    }

}
TOP

Related Classes of org.codehaus.plexus.archiver.util.FilterSupport

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.