package org.batfish.representation.juniper; import java.io.Serializable; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import org.batfish.common.util.ComparableStructure; public final class RouteFilter extends ComparableStructure<String> implements Serializable { /** * */ private static final long serialVersionUID = 1L; private boolean _ipv4; private boolean _ipv6; private final Map<RouteFilterLine, RouteFilterLine> _lines; public RouteFilter(String name) { super(name); _lines = new LinkedHashMap<>(); } public boolean getIpv4() { return _ipv4; } public boolean getIpv6() { return _ipv6; } public Set<RouteFilterLine> getLines() { return _lines.keySet(); } public <T extends RouteFilterLine> T insertLine(T line, Class<T> lineClass) { RouteFilterLine existingLine = _lines.get(line); if (existingLine == null) { _lines.put(line, line); return line; } else { return lineClass.cast(existingLine); } } public void setIpv4(boolean ipv4) { _ipv4 = ipv4; } public void setIpv6(boolean ipv6) { _ipv6 = ipv6; } }