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
73
74
75 | package Torello.Java.Additional;
/**
* An extremely basic <CODE>'Counter'</CODE> class that is used to help alleviate Java's
* stringent <CODE>'Effectively Final'</CODE> requirement for lambda-expressions.
*
* <EMBED CLASS='external-html' DATA-FILE-ID=LAMBDA_NOTE>
* <EMBED CLASS='external-html' DATA-FILE-ID=COUNTER>
*/
public class Counter
{
private int counter;
/**
* Creates a new counter instance, and initializes it's internal-private
* {@code int counter} field to {@code '0'}.
*/
public Counter()
{ this.counter = 0; }
/**
* Creates a new counter object, and initializes it's value to the passed-parameter
* {@code int startingValue}
*
* @param startingValue The with which to initialize the internal-private
* {@code int counter} field.
*/
public Counter(int startingValue)
{ this.counter = startingValue; }
/**
* Increments the internal-private {@code int counter} field by a value of 1.
* @return The value stored in the counter, after performing the addition.
*/
public int addOne()
{ return ++counter; }
/**
* Decrements the internal-private {@code int counter} field by a value of 1.
* @return The value stored in the counter, after performing the subtraction.
*/
public int subtractOne()
{ return counter--; }
/**
* Adds the input-parameter 'n' value to the current value of the internal-private
* {@code int counter} field.
* @return The value stored in the counter, after performing the addition.
*/
public int modifyBy(int n)
{ return counter += n; }
/**
* Sets the value of the internal-private {@code int counter} field to the value of the input
* passed-parameter {@code 'n'}.
* @param n The internal counter will be set to this value.
*/
public void set(int n)
{ counter = n; }
/**
* Retrieves the value of the internal-private {@code int counter} field.
* @return The current value stored in the counter.
*/
public int size()
{ return counter; }
/**
* Retrieves the value of the internal-private {@code int counter} field, as a java
* {@code java.lang.Integer} instance-object.
* @return The current value stored in the counter, as an instantiated Integer-instance.
*/
public Integer get()
{ return Integer.valueOf(counter); }
}
|