package jetbrains.mps.smodel.search;
/*Generated by MPS */
import java.util.LinkedHashSet;
import org.jetbrains.mps.openapi.model.SNode;
import java.util.List;
import java.util.Collection;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.util.Condition;
import java.util.ArrayList;
public class SimpleSearchScope extends AbstractSearchScope {
private LinkedHashSet<SNode> myNodes;
public SimpleSearchScope(List<SNode> nodes) {
this(((Collection) nodes));
}
public SimpleSearchScope(Collection<SNode> nodes) {
myNodes = new LinkedHashSet<SNode>();
for (SNode node : nodes) {
myNodes.add(node);
}
}
public SimpleSearchScope(SNode node) {
myNodes = new LinkedHashSet<SNode>(1);
if (node != null) {
myNodes.add(node);
}
}
@NotNull
@Override
public List<SNode> getNodes(Condition<SNode> condition) {
List<SNode> result = new ArrayList<SNode>(myNodes.size());
for (SNode node : myNodes) {
if (condition.met(node)) {
result.add(node);
}
}
return result;
}
}