package org.batfish.representation.juniper;
import org.batfish.datamodel.LineAction;
import org.batfish.datamodel.Prefix;
import org.batfish.datamodel.RouteFilterList;
import org.batfish.datamodel.SubRange;
public final class Route4FilterLineUpTo extends Route4FilterLine {
/**
*
*/
private static final long serialVersionUID = 1L;
private final int _maxPrefixLength;
public Route4FilterLineUpTo(Prefix prefix, int maxPrefixLength) {
super(prefix);
_maxPrefixLength = maxPrefixLength;
}
@Override
public void applyTo(RouteFilterList rfl) {
int prefixLength = _prefix.getPrefixLength();
org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine(
LineAction.ACCEPT, _prefix,
new SubRange(prefixLength, _maxPrefixLength));
rfl.addLine(line);
}
@Override
public boolean equals(Object o) {
if (!this.getClass().equals(o.getClass())) {
return false;
}
else {
Route4FilterLineUpTo rhs = (Route4FilterLineUpTo) o;
return _prefix.equals(rhs._prefix)
&& _maxPrefixLength == rhs._maxPrefixLength;
}
}
public int getMaxPrefixLength() {
return _maxPrefixLength;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + _maxPrefixLength;
result = prime * result + _prefix.hashCode();
return result;
}
}