The Estatio app that Jeroen and I are developing has quite a number of date
ranges.

Internally we want to store these as a pair of dates, with inclusive start,
exclusive end.  For example [1-apr-2013, 1-jul-2013) represents all of Q2.

However, on the UI our users want the end date to be the inclusive.  In
other words, [1-apr-2013, 30-jun-2013].

Probably the best solution to this is to have proper support for Joda's
Interval class.  But that's quite a lot of work that we don't want to get
into for now.  (Especially because we have open-ended intervals, ie where
null end date implies infinity).

Rather than polluting our domain code with lots of +1day/-1day nonsense, a
simpler solution we came up with was a new annotation that could be applied
to the end date, so that it is stored exclusive (1-jul-2013) but is
rendered 1 day before (30-jun-2013).  Neat, huh?

Question is: what to call this annotation.  Right now I have chosen
"@RenderedAdjusted":

public LocalDate getStartDate() { ... }

@RenderedAdjusted
public LocalDate getEndDate() { ... }

But I don't like it as a name; too clunky.

Other names I've though of are:
* @Adjusted   (a bit misleading)
* @EndDate   (a bit literal?)
* @ExclusiveDate  (a bit obscure)
* @ExclusiveDateRenderedAsInclusive   (too long)

If anyone has a better name, please shout!

Thx
Dan

Reply via email to