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

com.vaadin.v7.client.connectors.AbstractGridRendererConnector 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.connectors;

import com.vaadin.client.ServerConnector;
import com.vaadin.v7.client.renderers.Renderer;
import com.vaadin.v7.client.widgets.Grid.Column;

import elemental.json.JsonObject;

/**
 * An abstract base class for renderer connectors. A renderer connector is used
 * to link a client-side {@link Renderer} to a server-side
 * {@link com.vaadin.ui.components.grid.Renderer Renderer}. As a connector, it
 * can use the regular Vaadin RPC and shared state mechanism to pass additional
 * state and information between the client and the server. This base class
 * itself only uses the basic {@link com.vaadin.shared.communication.SharedState
 * SharedState} and no RPC interfaces.
 *
 * @param 
 *            the presentation type of the renderer
 *
 * @since 7.4
 * @author Vaadin Ltd
 */
public abstract class AbstractGridRendererConnector
        extends AbstractRendererConnector {

    /**
     * Gets the row key for a row object.
     * 

* In case this renderer wants be able to identify a row in such a way that * the server also understands it, the row key is used for that. Rows are * identified by unified keys between the client and the server. * * @param row * the row object * @return the row key for the given row */ protected String getRowKey(JsonObject row) { final ServerConnector parent = getParent(); if (parent instanceof GridConnector) { return ((GridConnector) parent).getRowKey(row); } else { throw new IllegalStateException( "Renderers can only be used " + "with a Grid."); } } /** * Gets the column id for a column. *

* In case this renderer wants be able to identify a column in such a way * that the server also understands it, the column id is used for that. * Columns are identified by unified ids between the client and the server. * * @param column * the column object * @return the column id for the given column */ protected String getColumnId(Column column) { final ServerConnector parent = getParent(); if (parent instanceof GridConnector) { return ((GridConnector) parent).getColumnId(column); } else { throw new IllegalStateException( "Renderers can only be used " + "with a Grid."); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy