/**
* 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 com.opengamma.engine.value.ValueSpecification;
/**
*
*/
/* package */ class DefaultFormatter extends AbstractFormatter<Object> {
/** Maximum string length for values that are sent to the grid. */
private static final int MAX_VALUE_LENGTH = 100;
/* package */ DefaultFormatter() {
super(Object.class);
}
@Override
public String formatCell(Object value, ValueSpecification valueSpec, Object inlineKey) {
return trim(value.toString());
}
@Override
public DataType getDataType() {
return DataType.STRING;
}
/**
* If a string is shorter than {@link #MAX_VALUE_LENGTH} it is returned, otherwise it is trimmed and
* "..." is appended.
* @param str The string to be trimmed.
* @return The trimmed string.
*/
private static String trim(String str) {
if (str.length() < MAX_VALUE_LENGTH) {
return str;
} else {
return str.substring(0, MAX_VALUE_LENGTH) + "...";
}
}
}