/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.timeseries; /** * A time-series, which represents the changes in a value over time. * <p> * This interface is similar to both a {@code SortedMap} of value keyed by date-time * and a {@code List} of date-time to value pairs. * As such, the date/times do not have to be evenly spread over time within the series. * * @param <T> the date-time type, such as {@code Instant} or {@code LocalDate} * @param <V> the value being viewed over time, such as {@code Double} */ public interface ObjectTimeSeries<T, V> extends TimeSeries<T, V> { @Override // override for covariant return type ObjectTimeSeries<T, V> subSeries(T startTimeInclusive, T endTimeExclusive); @Override // override for covariant return type ObjectTimeSeries<T, V> subSeries(T startTime, boolean includeStart, T endTime, boolean includeEnd); @Override // override for covariant return type ObjectTimeSeries<T, V> head(int numItems); @Override // override for covariant return type ObjectTimeSeries<T, V> tail(int numItems); @Override // override for covariant return type ObjectTimeSeries<T, V> lag(int lagCount); @Override // override for covariant return type ObjectTimeSeries<T, V> newInstance(T[] dateTimes, V[] values); }