Perhaps better @IntervalBegin and @IntervalEnd instead.

El 17/05/2013, a las 07:44, GESCONSULTOR <[email protected]> escribió:

> Perhaps is more difficult to implement or implies a solution not properly 
> thought, but what about the annotation representing an Interval? It could 
> represent numeric intervals or date intervals.
> 
> For example, 
> 
> @Interval(name="Bedrooms", inclusive=true)
> private Integer minBedrooms;
> 
> @Interval(name="Bedrooms", inclusive=true)
> Private Integer maxBedrooms;
> 
> @Interval(name="Renting Period", inclusive=true)
> private Date rentingFromDate;
> 
> @Interval(name="Renting Period", inclusive=false)
> private Date rentingToDate;
> 
> 
> The viewer could render them together as:
> 
> Bedrooms: 1 - 5
> 
> Renting Period: 1-Aug-2013 - 1-sep-2013 (Not inclusive)
> 
> 
> 
> Enviado desde mi iPhone
> 
> El 17/05/2013, a las 02:41, Freddijanto <[email protected]> escribió:
> 
>> @DateRenderedAsInclusive ?
>> 
>> 
>> On 17/05/2013 04:46, Dan Haywood wrote:
>>> 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