summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/everge/IntHolder.java
blob: b72e0e7c329170f09a84dfa3563a0a9e2041849f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package bjc.everge;

/**
 * Utility class for ints by ref.
 *
 * @author Ben Culkin
 */
public class IntHolder {
	/**
	 * The int value.
	 */
	public int val;

	/**
	 * Create a new int-holder set to 0.
	 */
	public IntHolder() {
		val = 0;
	}

	/**
	 * Create a new int-holder set to a value.
	 *
	 * @param i
	 * 		The value to set the int to.
	 */
	public IntHolder(int i) {
		val = i;
	}

	/**
	 * Increment the value by one, and return it.
	 *
	 * @return The value of the holder.
	 */
	public int incr() {
		return incr(1);
	}

	/**
	 * Increment the value by an amount and return it.
	 *
	 * @param i
	 * 		The amount to increment by.
	 *
	 * @return The value of the holder.
	 */
	public int incr(int i) {
		val += 1;

		return val;
	}

	/**
	 * Get the value.
	 *
	 * @return The value.
	 */
	public int get() {
		return val;
	}

	/**
	 * Set the value.
	 * 
	 * @param i
	 * 	The value to set it to.
	 */
	public void set(int i) {
		val = i;
	}
}