package com.anjlab.eclipse.tapestry5.internal;
import java.util.ArrayList;
import java.util.List;
import com.anjlab.eclipse.tapestry5.TapestryService;
import com.anjlab.eclipse.tapestry5.TapestryService.Matcher;
public class AndMatcher implements Matcher
{
private final List<Matcher> matchers;
public AndMatcher()
{
matchers = new ArrayList<Matcher>();
}
public AndMatcher(List<Matcher> matchers)
{
this();
this.matchers.addAll(matchers);
}
public void add(Matcher matcher)
{
matchers.add(matcher);
}
@Override
public boolean matches(TapestryService service)
{
for (Matcher m : matchers)
{
if (!m.matches(service))
{
return false;
}
}
return matchers.size() > 0;
}
}