2 * Copyright © 2013 Sebastian Hoß <mail@shoss.de>
3 * This work is free. You can redistribute it and/or modify it under the
4 * terms of the Do What The Fuck You Want To Public License, Version 2,
5 * as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.
7 package com
.github
.sebhoss
.time
;
9 import java
.time
.LocalDate
;
12 * Creates {@link FiscalDate fiscal dates} from {@link LocalDate local dates}. Thus converts between calendar years to
15 public final class FiscalYearFactory
{
17 private final FiscalDateCalculator fiscalDateCalculator
;
19 FiscalYearFactory(final FiscalDateCalculator fiscalDateCalculator
) {
20 this.fiscalDateCalculator
= fiscalDateCalculator
;
25 * The date in a calendar year.
26 * @return The corresponding date in a fiscal year.
28 public FiscalDate
createFromCalendarDate(final LocalDate calendarDate
) {
29 return new FiscalDateImplementation(fiscalDateCalculator
, calendarDate
);
39 * @return A new FiscalDate representing the given parameters.
41 public FiscalDate
create(final int fiscalYear
, final int fiscalMonth
, final int fiscalDay
) {
42 final LocalDate calendarDate
= fiscalDateCalculator
.calculateCalendarDate(fiscalYear
, fiscalMonth
, fiscalDay
);
44 return new FiscalDateImplementation(fiscalDateCalculator
, calendarDate
);