package com.constellio.data.utils; import org.joda.time.LocalDate; import org.joda.time.LocalDateTime; public abstract class TimeProvider { private static TimeProvider timeProvider = new DefaultTimeProvider(); public static void setTimeProvider(TimeProvider timeProvider) { TimeProvider.timeProvider = timeProvider; } public static LocalDateTime getLocalDateTime() { return timeProvider.getTimeProviderLocalDateTime(); } public static LocalDate getLocalDate() { return timeProvider.getTimeProviderLocalDate(); } public abstract LocalDateTime getTimeProviderLocalDateTime(); public abstract LocalDate getTimeProviderLocalDate(); public static class DefaultTimeProvider extends TimeProvider { @Override public LocalDateTime getTimeProviderLocalDateTime() { return new LocalDateTime(); } @Override public LocalDate getTimeProviderLocalDate() { return new LocalDate(); } } }