package org.batfish.representation.juniper; import org.batfish.datamodel.LineAction; import org.batfish.datamodel.Prefix6; import org.batfish.datamodel.Route6FilterList; import org.batfish.datamodel.SubRange; public final class Route6FilterLineLengthRange extends Route6FilterLine { /** * */ private static final long serialVersionUID = 1L; private final int _maxPrefixLength; private final int _minPrefixLength; public Route6FilterLineLengthRange(Prefix6 prefix6, int minPrefixLength, int maxPrefixLength) { super(prefix6); _minPrefixLength = minPrefixLength; _maxPrefixLength = maxPrefixLength; } @Override public void applyTo(Route6FilterList rfl) { org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.ACCEPT, _prefix6, new SubRange(_minPrefixLength, _maxPrefixLength)); rfl.addLine(line); } @Override public boolean equals(Object o) { if (!this.getClass().equals(o.getClass())) { return false; } else { Route6FilterLineLengthRange rhs = (Route6FilterLineLengthRange) o; return _prefix6.equals(rhs._prefix6) && _minPrefixLength == rhs._minPrefixLength && _maxPrefixLength == rhs._maxPrefixLength; } } public int getMaxPrefixLength() { return _maxPrefixLength; } public int getMinPrefixLength() { return _minPrefixLength; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + _maxPrefixLength; result = prime * result + _minPrefixLength; result = prime * result + _prefix6.hashCode(); return result; } }