blob: 7042e3c3542c49ebfec5f114059eb60bc1bec0b7 [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*/
package org.eclipse.osbp.utils.fillertext.provider;
import org.joda.time.DateTime;
public class DateProvider {
private final BaseProvider fBaseProvider;
public DateProvider(BaseProvider baseProvider) {
fBaseProvider = baseProvider;
}
public DateTime randomDateInThePast(int yearsToPast) {
DateTime now = DateTime.now();
return randomDateBetweenTwoDates(
firstDayOfYear(now.getYear()-yearsToPast),
now
);
}
public DateTime randomDateInTheFuture(int yearsInFuture) {
DateTime now = DateTime.now();
return randomDateBetweenTwoDates(
now,
new DateTime(firstDayOfYear(now.getYear()+yearsInFuture+1).getMillis() - 1)
);
}
public DateTime randomDateBetweenYears(int startYear, int endYear) {
return randomDateBetweenTwoDates(
firstDayOfYear(startYear),
new DateTime(firstDayOfYear(endYear+1).getMillis() - 1)
);
}
private DateTime firstDayOfYear(int year) {
return new DateTime(year, 1, 1, 0, 0);
}
private DateTime randomDateBetweenTwoDates(DateTime from, DateTime to) {
return new DateTime(fBaseProvider.randomBetween(from.getMillis(), to.getMillis()));
}
}