/** * Creates a singleton DimRange. * * @param index single index for this DimRange. */ public Range(final Long index) { this(); setIndex.add(index); add(index); }
/** * Creates the DimRange: [start, end] * * @param start inclusive start value * @param end inclusive end value */ public Range(final Long start, final Long end) { this(); for (long l = start; l <= end; l++) { setIndex.add(l); add(l); } }
/** * Creates a singleton DimRange. * * @param index single index for this DimRange. */ public Range(final Long index) { this(); setIndex.add(index); add(index); }
/** * Constructs a DimRange that includes only the values contained in the * provided array. * * @param values explicit list of values in this range */ public Range(final long[] values) { this(); for (final long l : values) { setIndex.add(l); add(l); } }
/** * Creates the DimRange: [start, end] * * @param start inclusive start value * @param end inclusive end value */ public Range(final Long start, final Long end) { this(); for (long l = start; l <= end; l++) { setIndex.add(l); add(l); } }
/** * Constructs a DimRange that includes only the values contained in the * provided array. * * @param values explicit list of values in this range */ public Range(final long[] values) { this(); for (final long l : values) { setIndex.add(l); add(l); } }
public Range(final String range) { this(); // Check for invalid patterns if (!range.matches(REGION_PATTERN)) { throw new IllegalArgumentException("Invalid range pattern. Must match: " + REGION_PATTERN); } final String[] intervals = range.split(","); // Iterate over each axis of the region and extract its constraints for (final String interval : intervals) { final String[] rangeTokens = interval.split("-"); final long start = Long.parseLong(rangeTokens[0]); long end = start; long step = 1; if (rangeTokens.length == 2) { final String[] rangeTail = rangeTokens[1].split(":"); end = Long.parseLong(rangeTail[0]); if (rangeTail.length == 2) step = Long.parseLong(rangeTail[1]); } for (long j = start; j <= end; j += step) { setIndex.add(j); add(j); } } }
public Range(final String range) { this(); // Check for invalid patterns if (!range.matches(REGION_PATTERN)) { throw new IllegalArgumentException("Invalid range pattern. Must match: " + REGION_PATTERN); } final String[] intervals = range.split(","); // Iterate over each axis of the region and extract its constraints for (final String interval : intervals) { final String[] rangeTokens = interval.split("-"); final long start = Long.parseLong(rangeTokens[0]); long end = start; long step = 1; if (rangeTokens.length == 2) { final String[] rangeTail = rangeTokens[1].split(":"); end = Long.parseLong(rangeTail[0]); if (rangeTail.length == 2) step = Long.parseLong(rangeTail[1]); } for (long j = start; j <= end; j += step) { setIndex.add(j); add(j); } } }