package com.netflix.suro.routing.filter.lang;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.netflix.suro.routing.filter.MessageFilters;
import com.netflix.suro.routing.filter.MessageFilter;
import org.antlr.runtime.Token;
import org.antlr.runtime.tree.Tree;
public class AndTreeNode extends MessageFilterBaseTreeNode implements MessageFilterTranslatable {
@Override
@SuppressWarnings("unchecked")
public MessageFilter translate() {
return MessageFilters.and(
Lists.transform(getChildren(), new Function<Object, MessageFilter>() {
@Override
public MessageFilter apply(Object input) {
MessageFilterTranslatable node = (MessageFilterTranslatable) input;
return node.translate();
}
})
);
}
public AndTreeNode(Token t) {
super(t);
}
public AndTreeNode(AndTreeNode node) {
super(node);
}
public Tree dupNode() {
return new AndTreeNode(this);
}
}