<commit_before><commit_msg>[Feature] Introduce DummyLongRange.<commit_after>package net.sf.jranges.range.longrange.impl;

import net.sf.jranges.range.RangeException;
import net.sf.jranges.range.integer.IntegerRange;
import net.sf.jranges.range.integer.impl.DummyIntegerRange;
import net.sf.jranges.range.longrange.LongRange;

public class DummyLongRange extends VeryAbstractLongRange implements LongRange {
	
	// Constructor //

	/**
	 * 
	 * Construct a new {@code DummyLongRange} with start and stop values initiated with {@code 0}.
	 *
	 */
	public DummyLongRange() {
		this.start = 0;
		this.stop = 0;
	}

	/**
	 * 
	 * Construct a new {@code DummyLongRange} with given start and stop values.
	 *
	 */
	public DummyLongRange(long start, long stop) {
		this.start = start;
		this.stop = stop;
	}
	
	// Public //

	/**
	 * 
	 * Set start position for this {@code DummyLongRange}.
	 *
	 * @param start new start position
	 */
	public void setStart(long start) {
		this.start = start;
	}

	/**
	 * 
	 * Set stop position for this {@code DummyLongRange}.
	 *
	 * @param stop new stop position
	 */
	public void setStop(long stop) {
		this.stop = stop;
	}

	// Implement //

	/**
	 * 
	 */
	public LongRange shift(long offset) {
		return new DummyLongRange(getStart() + offset, getStop() + offset);
	}

	/**
	 * 
	 */
	public LongRange expandRange(long offset) throws RangeException {
		return expandRange(offset, false);
	}

	/**
	 * 
	 */
	public LongRange expandRange(long offset, boolean stayWithinLimits)
			throws RangeException {
		long start = getStart() - offset;
		long stop = getStop() + offset;
		return new DummyLongRange(start, stop);
	}

}
{'fraction_non_alphanumeric': 0.12227602905569007, 'fraction_numerical': 0.0018159806295399517, 'mean_word_length': 3.3046875, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6988494', 'n_tokens_mistral': 582, 'n_tokens_neox': 520, 'n_words': 137}