/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.web.analytics.formatting; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.opengamma.engine.value.ValueSpecification; /** * Formatter. */ @SuppressWarnings("rawtypes") /* package */ class ListDoubleArrayFormatter extends AbstractFormatter<List> { private static final Logger s_logger = LoggerFactory.getLogger(ListDoubleArrayFormatter.class); /* package */ ListDoubleArrayFormatter() { super(List.class); addFormatter(new Formatter<List>(Format.EXPANDED) { @Override Object format(List value, ValueSpecification valueSpec, Object inlineKey) { return value; } }); } @Override public Object formatCell(List value, ValueSpecification valueSpec, Object inlineKey) { int rowCount = value.size(); int colCount; if (rowCount == 0) { colCount = 0; } else { if (value.get(0).getClass().equals(double[].class)) { colCount = ((double[]) value.get(0)).length; } else if (value.get(0).getClass().equals(Double[].class)) { colCount = ((Double[]) value.get(0)).length; } else { s_logger.warn("Unexpected type in list: {}", value.get(0).getClass()); return FORMATTING_ERROR; } } return "Matrix (" + rowCount + " x " + colCount + ")"; } @Override public DataType getDataType() { return DataType.MATRIX_2D; } }