All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.v7.client.widget.grid.CellReference Maven / Gradle / Ivy

There is a newer version: 8.27.3
Show newest version
/*
 * 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.widget.grid;

import com.google.gwt.dom.client.TableCellElement;
import com.vaadin.v7.client.widgets.Grid;

/**
 * A data class which contains information which identifies a cell in a
 * {@link Grid}.
 * 

* Since this class follows the Flyweight-pattern any instance of * this object is subject to change without the user knowing it and so should * not be stored anywhere outside of the method providing these instances. * * @author Vaadin Ltd * @param * the type of the row object containing this cell * @since 7.4 */ public class CellReference { private int columnIndexDOM; private int columnIndex; private Grid.Column column; private final RowReference rowReference; public CellReference(RowReference rowReference) { this.rowReference = rowReference; } /** * Sets the identifying information for this cell. *

* The difference between {@link #columnIndexDOM} and {@link #columnIndex} * comes from hidden columns. * * @param columnIndexDOM * the index of the column in the DOM * @param columnIndex * the index of the column * @param column * the column object */ public void set(int columnIndexDOM, int columnIndex, Grid.Column column) { this.columnIndexDOM = columnIndexDOM; this.columnIndex = columnIndex; this.column = column; } /** * Gets the grid that contains the referenced cell. * * @return the grid that contains referenced cell */ public Grid getGrid() { return rowReference.getGrid(); } /** * Gets the row index of the row. * * @return the index of the row */ public int getRowIndex() { return rowReference.getRowIndex(); } /** * Gets the row data object. * * @return the row object */ public T getRow() { return rowReference.getRow(); } /** * Gets the index of the column. *

* NOTE: The index includes hidden columns in the count, unlike * {@link #getColumnIndexDOM()}. * * @return the index of the column */ public int getColumnIndex() { return columnIndex; } /** * Gets the index of the cell in the DOM. The difference to * {@link #getColumnIndex()} is caused by hidden columns. * * @since 7.5.0 * @return the index of the column in the DOM */ public int getColumnIndexDOM() { return columnIndexDOM; } /** * Gets the column objects. * * @return the column object */ public Grid.Column getColumn() { return column; } /** * Gets the value of the cell. * * @return the value of the cell */ public Object getValue() { return getColumn().getValue(getRow()); } /** * Get the element of the cell. * * @return the element of the cell */ public TableCellElement getElement() { return rowReference.getElement().getCells().getItem(columnIndexDOM); } /** * Gets the RowReference for this CellReference. * * @return the row reference */ protected RowReference getRowReference() { return rowReference; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy