RangeIndexLookupValueRange lookup = (RangeIndexLookupValueRange) lookupValue;
TreeMap treeMap = (TreeMap) parent;
Object rangeValue = lookup.getValue();
if (lookup.getOperator() == QueryGraphRangeEnum.RANGE_CLOSED) {
Range range = (Range) rangeValue;
lookupRange(result, treeMap, range.getLowEndpoint(), true, range.getHighEndpoint(), true, true);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.RANGE_HALF_OPEN) {
Range range = (Range) rangeValue;
lookupRange(result, treeMap, range.getLowEndpoint(), true, range.getHighEndpoint(), false, true);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.RANGE_HALF_CLOSED) {
Range range = (Range) rangeValue;
lookupRange(result, treeMap, range.getLowEndpoint(), false, range.getHighEndpoint(), true, true);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.RANGE_OPEN) {
Range range = (Range) rangeValue;
lookupRange(result, treeMap, range.getLowEndpoint(), false, range.getHighEndpoint(), false, true);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.NOT_RANGE_CLOSED) {
Range range = (Range) rangeValue;
lookupRangeInverted(result, treeMap, range.getLowEndpoint(), true, range.getHighEndpoint(), true);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.NOT_RANGE_HALF_OPEN) {
Range range = (Range) rangeValue;
lookupRangeInverted(result, treeMap, range.getLowEndpoint(), true, range.getHighEndpoint(), false);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.NOT_RANGE_HALF_CLOSED) {
Range range = (Range) rangeValue;
lookupRangeInverted(result, treeMap, range.getLowEndpoint(), false, range.getHighEndpoint(), true);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.NOT_RANGE_OPEN) {
Range range = (Range) rangeValue;
lookupRangeInverted(result, treeMap, range.getLowEndpoint(), false, range.getHighEndpoint(), false);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.GREATER) {
lookupGreater(result, treeMap, rangeValue);
}
else if (lookup.getOperator() == QueryGraphRangeEnum.GREATER_OR_EQUAL) {