package org.batfish.representation.cisco;
import org.batfish.datamodel.Configuration;
import org.batfish.datamodel.routing_policy.expr.BooleanExpr;
import org.batfish.datamodel.routing_policy.expr.DestinationNetwork;
import org.batfish.datamodel.routing_policy.expr.DestinationNetwork6;
import org.batfish.datamodel.routing_policy.expr.MatchPrefix6Set;
import org.batfish.datamodel.routing_policy.expr.MatchPrefixSet;
import org.batfish.datamodel.routing_policy.expr.Prefix6SetExpr;
import org.batfish.datamodel.routing_policy.expr.PrefixSetExpr;
import org.batfish.common.Warnings;
public class RoutePolicyBooleanDestination extends RoutePolicyBoolean {
private static final long serialVersionUID = 1L;
private RoutePolicyPrefixSet _prefixSet;
public RoutePolicyBooleanDestination(RoutePolicyPrefixSet prefixSet) {
_prefixSet = prefixSet;
}
public RoutePolicyPrefixSet getPrefixSet() {
return _prefixSet;
}
@Override
public BooleanExpr toBooleanExpr(CiscoConfiguration cc, Configuration c,
Warnings w) {
PrefixSetExpr prefixSetExpr = _prefixSet.toPrefixSetExpr(cc, c, w);
if (prefixSetExpr != null) {
return new MatchPrefixSet(new DestinationNetwork(), prefixSetExpr);
}
else {
Prefix6SetExpr prefix6SetExpr = _prefixSet.toPrefix6SetExpr(cc, c, w);
return new MatchPrefix6Set(new DestinationNetwork6(), prefix6SetExpr);
}
}
}