blob: 605ebfa4b4a149b2bf12781d4b1cf24009f8cad4 [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2012, 2021 Original NatTable authors and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Original NatTable authors and others - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.ecommons.waltable.layer.cell;
import org.eclipse.statet.ecommons.waltable.config.CellConfigAttributes;
import org.eclipse.statet.ecommons.waltable.config.IConfigRegistry;
import org.eclipse.statet.ecommons.waltable.data.convert.IDisplayConverter;
public final class CellDisplayConversionUtils {
public static String convertDataType(final ILayerCell cell, final IConfigRegistry configRegistry) {
return convertDataType(cell, cell.getDataValue(0, null), configRegistry);
}
public static String convertDataType(final ILayerCell cell, final Object canonicalValue, final IConfigRegistry configRegistry) {
Object displayValue;
final IDisplayConverter displayConverter= configRegistry.getConfigAttribute(
CellConfigAttributes.DISPLAY_CONVERTER,
cell.getDisplayMode(),
cell.getConfigLabels().getLabels());
if (displayConverter != null) {
displayValue= displayConverter.canonicalToDisplayValue(cell, configRegistry, canonicalValue);
}
else {
displayValue= canonicalValue;
}
return (displayValue == null) ? "" : String.valueOf(displayValue); //$NON-NLS-1$
}
}