/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics; import org.threeten.bp.Period; import org.threeten.bp.ZonedDateTime; /** * */ public class ZonedDateTimeLabelledMatrix1D extends LabelledMatrix1D<ZonedDateTime, Period> { private static final Period TOLERANCE = Period.ofDays(1); public ZonedDateTimeLabelledMatrix1D(final ZonedDateTime[] keys, final double[] values) { super(keys, values, TOLERANCE); } public ZonedDateTimeLabelledMatrix1D(final ZonedDateTime[] keys, final Object[] labels, final double[] values) { super(keys, labels, values, TOLERANCE); } public ZonedDateTimeLabelledMatrix1D(final ZonedDateTime[] keys, final Object[] labels, final String labelsTitle, final double[] values, final String valuesTitle) { super(keys, labels, labelsTitle, values, valuesTitle, TOLERANCE); } @Override public int compare(final ZonedDateTime d1, final ZonedDateTime d2, final Period tolerance) { final ZonedDateTime dLow = d1.minus(tolerance); final ZonedDateTime dHigh = d1.plus(tolerance); if (d1.equals(d2) || (d2.isAfter(dLow) && d2.isBefore(dHigh))) { return 0; } return d1.isBefore(d2) ? -1 : 1; } @Override public LabelledMatrix1D<ZonedDateTime, Period> getMatrix(final ZonedDateTime[] keys, final Object[] labels, final String labelsTitle, final double[] values, final String valuesTitle) { return new ZonedDateTimeLabelledMatrix1D(keys, labels, labelsTitle, values, valuesTitle); } @Override public LabelledMatrix1D<ZonedDateTime, Period> getMatrix(final ZonedDateTime[] keys, final Object[] labels, final double[] values) { return new ZonedDateTimeLabelledMatrix1D(keys, labels, values); } @Override public LabelledMatrix1D<ZonedDateTime, Period> getMatrix(final ZonedDateTime[] keys, final double[] values) { return new ZonedDateTimeLabelledMatrix1D(keys, values); } }