blob: fb5c9616a9522a0d5fcbc8e2fd6e9cf7d7925243 [file] [log] [blame]
package org.eclipse.jst.jsf.common.internal.finder.matcher;
import java.util.jar.JarEntry;
import java.util.regex.Pattern;
import org.eclipse.jst.jsf.common.JSFCommonPlugin;
import org.eclipse.jst.jsf.common.internal.finder.AbstractMatcher.IMatcher;
/**
* @author cbateman
*
*/
public class TaglibJarEntryFinder extends TaglibFinder<JarEntry, JarEntry> implements IMatcher
{
/**
* Unique id of this strategy.
*/
public static final String ID = TaglibJarEntryFinder.class.getCanonicalName();
private static final String DISPLAY_NAME = "Display Name"; //$NON-NLS-1$
private final Pattern _pattern;
/**
* @param pattern
*/
public TaglibJarEntryFinder(final Pattern pattern)
{
super(ID, DISPLAY_NAME, null);
_pattern = pattern;
}
@Override
public JarEntry perform(JarEntry input) throws Exception
{
if (_pattern.matcher(input.getName()).matches())
{
return input;
}
return getNoResult();
}
public boolean matches(Object matchThis)
{
if (matchThis instanceof JarEntry)
{
try
{
return perform((JarEntry) matchThis) != getNoResult();
} catch (Exception e)
{
JSFCommonPlugin.log(e, "While matching jar entry: "+matchThis); //$NON-NLS-1$
}
}
return false;
}
}