com.vaadin.v7.client.renderers.NumberRenderer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin-compatibility-client Show documentation
Show all versions of vaadin-compatibility-client Show documentation
Vaadin 7 compatibility package for Vaadin 8
/*
* Copyright (C) 2000-2023 Vaadin Ltd
*
* This program is available under Vaadin Commercial License and Service Terms.
*
* See for the full
* license.
*/
package com.vaadin.v7.client.renderers;
import com.google.gwt.i18n.client.NumberFormat;
import com.vaadin.v7.client.widget.grid.RendererCellReference;
/**
* Renders a number into a cell using a specific {@link NumberFormat}. By
* default uses the default number format returned by
* {@link NumberFormat#getDecimalFormat()}.
*
* @since 7.4
* @author Vaadin Ltd
*/
public class NumberRenderer implements Renderer {
private NumberFormat format;
public NumberRenderer() {
this(NumberFormat.getDecimalFormat());
}
public NumberRenderer(NumberFormat format) {
setFormat(format);
}
/**
* Gets the number format that the number should be formatted in.
*
* @return the number format used to render the number
*/
public NumberFormat getFormat() {
return format;
}
/**
* Sets the number format to use for formatting the number.
*
* @param format
* the format to use
* @throws IllegalArgumentException
* when the format is null
*/
public void setFormat(NumberFormat format) throws IllegalArgumentException {
if (format == null) {
throw new IllegalArgumentException("Format cannot be null");
}
this.format = format;
}
@Override
public void render(RendererCellReference cell, Number number) {
cell.getElement().setInnerText(format.format(number));
}
}