use of org.batfish.grammar.flatjuniper.FlatJuniperParser.Tcp_flags_literalContext in project batfish by batfish.
the class ConfigurationBuilder method toTcpFlags.
private static TcpFlags toTcpFlags(Tcp_flags_alternativeContext ctx) {
TcpFlags tcpFlags = new TcpFlags();
for (Tcp_flags_literalContext literalCtx : ctx.literals) {
boolean value = literalCtx.BANG() == null;
Tcp_flags_atomContext atom = literalCtx.tcp_flags_atom();
if (atom.ACK() != null) {
tcpFlags.setUseAck(true);
tcpFlags.setAck(value);
} else if (atom.CWR() != null) {
tcpFlags.setUseCwr(true);
tcpFlags.setCwr(value);
} else if (atom.ECE() != null) {
tcpFlags.setUseEce(true);
tcpFlags.setEce(value);
} else if (atom.FIN() != null) {
tcpFlags.setUseFin(true);
tcpFlags.setFin(value);
} else if (atom.PSH() != null) {
tcpFlags.setUsePsh(true);
tcpFlags.setPsh(value);
} else if (atom.RST() != null) {
tcpFlags.setUseRst(true);
tcpFlags.setRst(value);
} else if (atom.SYN() != null) {
tcpFlags.setUseSyn(true);
tcpFlags.setSyn(value);
} else if (atom.URG() != null) {
tcpFlags.setUseUrg(true);
tcpFlags.setUrg(value);
} else {
throw new BatfishException("Invalid tcp-flags atom: " + atom.getText());
}
}
return tcpFlags;
}
Aggregations