Have started unifying jareas and jboxes into a new project: jregions.
The original projects were written about three years apart and
I'd not realized how much overlap there was between them until
it was too late. This sort of code is a prime target for
value types: There
are four sets of specialized classes for int
, long
, double
, and BigInteger
coordinates because Java's generics don't allow for abstraction over primitive
types without boxing. This is something that Brian Goetz
has complained about frequently. To paraphrase, "you sometimes
end up writing the same code eight times".
The jregions
project is also a first attempt at moving to
the OSGi conventions
I mentioned previously. Thought I might as well use them for
all new code and migrate the old code when JDK 9 appears.