package org.opennms.core.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HttpResponseRange {
private static final Pattern RANGE_PATTERN = Pattern.compile("([1-5][0-9][0-9])(?:-([1-5][0-9][0-9]))?");
private final int m_begin;
private final int m_end;
public HttpResponseRange(String rangeSpec) {
Matcher matcher = RANGE_PATTERN.matcher(rangeSpec);
if (!matcher.matches()) {
throw new IllegalArgumentException("Invalid range spec: " + rangeSpec);
}
String beginSpec = matcher.group(1);
String endSpec = matcher.group(2);
m_begin = Integer.parseInt(beginSpec);
if (endSpec == null) {
m_end = m_begin;
} else {
m_end = Integer.parseInt(endSpec);
}
}
public boolean contains(int responseCode) {
return (m_begin <= responseCode && responseCode <= m_end);
}
public String toString() {
if (m_begin == m_end) {
return Integer.toString(m_begin);
} else {
return Integer.toString(m_begin) + '-' + Integer.toString(m_end);
}
}
}