Module javafx.controls
Package javafx.scene.control.cell

# Class MapValueFactory<T>

java.lang.Object
javafx.scene.control.cell.MapValueFactory<T>

Type Parameters:
  `T` - The type of the class contained within the TableColumn cells.

All Implemented Interfaces:
  `Callback<TableColumn.CellDataFeatures<Map,​T>,​ObservableValue<T>>`

    public class MapValueFactory<T>
    extends Object
    implements Callback<TableColumn.CellDataFeatures<Map,​T>,​ObservableValue<T>>

A convenience implementation of the Callback interface, designed specifically for use within the `TableColumn` `cell value factory`. An example of how to use this class is:

     ObservableList<Map> personsMapList = ...

     TableColumn<Map, String> firstNameColumn = new TableColumn<Map, String>("First Name");
     firstNameColumn.setCellValueFactory(new MapValueFactory<String>("firstName"));

     TableView<Map> table = new TableView<Map>(personMapList);
     tableView.getColumns().setAll(firstNameColumn);

In this example, there is a list of Map instances, where each Map instance representsa single row in the TableView. The "firstName" string is used as a key into this map, and the value corresponding to this key is returned, if one exists. If the value is an `ObservableValue`, then this is returned directly, otherwise the value is wrapped in a `ReadOnlyObjectWrapper`.

Since:
  JavaFX 2.2
See Also:
  `TableColumn`, `TableView`, `TableCell`, `PropertyValueFactory`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `MapValueFactory​(Object key)` | Creates a default MapValueFactory, which will use the provided key to lookup the value for cells in the `TableColumn` in which this MapValueFactory is installed (via the `cell value factory` property.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `ObservableValue<T>` | `call​(TableColumn.CellDataFeatures<Map,​T> cdf)` | The `call` method is called when required, and is given a single argument of type P, with a requirement that an object of type R is returned.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### MapValueFactory

    public MapValueFactory​(Object key)
    Creates a default MapValueFactory, which will use the provided key to lookup the value for cells in the `TableColumn` in which this MapValueFactory is installed (via the `cell value factory` property.
    Parameters:
      `key` - The key to use to lookup the value in the `Map`.

- ## Method Details

  - ### call

    public ObservableValue<T> call​(TableColumn.CellDataFeatures<Map,​T> cdf)
    Description copied from interface: `Callback`
    The `call` method is called when required, and is given a single argument of type P, with a requirement that an object of type R is returned.
    Specified by:
      `call` in interface `Callback<TableColumn.CellDataFeatures<Map,​T>,​ObservableValue<T>>`
    Parameters:
      `cdf` - The single argument upon which the returned value should be determined.
    Returns:
      An object of type R that may be determined based on the provided parameter value.