<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_77) on Fri Apr 22 13:46:24 UTC 2016 --> <title>PropertyValueFactory (JavaFX 8)</title> <meta name="date" content="2016-04-22"> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="PropertyValueFactory (JavaFX 8)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/PropertyValueFactory.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> <div class="aboutLanguage">JavaFX 8</div> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../javafx/scene/control/cell/ProgressBarTreeTableCell.html" title="class in javafx.scene.control.cell"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../javafx/scene/control/cell/TextFieldListCell.html" title="class in javafx.scene.control.cell"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?javafx/scene/control/cell/PropertyValueFactory.html" target="_top">Frames</a></li> <li><a href="PropertyValueFactory.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">javafx.scene.control.cell</div> <h2 title="Class PropertyValueFactory" class="title">Class PropertyValueFactory<S,T></h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> <li> <ul class="inheritance"> <li>javafx.scene.control.cell.PropertyValueFactory<S,T></li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt><span class="paramLabel">Type Parameters:</span></dt> <dd><code>S</code> - The type of the class contained within the TableView.items list.</dd> <dd><code>T</code> - The type of the class contained within the TableColumn cells.</dd> </dl> <dl> <dt>All Implemented Interfaces:</dt> <dd><a href="../../../../javafx/util/Callback.html" title="interface in javafx.util">Callback</a><<a href="../../../../javafx/scene/control/TableColumn.CellDataFeatures.html" title="class in javafx.scene.control">TableColumn.CellDataFeatures</a><S,T>,<a href="../../../../javafx/beans/value/ObservableValue.html" title="interface in javafx.beans.value">ObservableValue</a><T>></dd> </dl> <hr> <br> <pre>public class <span class="typeNameLabel">PropertyValueFactory<S,T></span> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements <a href="../../../../javafx/util/Callback.html" title="interface in javafx.util">Callback</a><<a href="../../../../javafx/scene/control/TableColumn.CellDataFeatures.html" title="class in javafx.scene.control">TableColumn.CellDataFeatures</a><S,T>,<a href="../../../../javafx/beans/value/ObservableValue.html" title="interface in javafx.beans.value">ObservableValue</a><T>></pre> <div class="block">A convenience implementation of the Callback interface, designed specifically for use within the <a href="../../../../javafx/scene/control/TableColumn.html" title="class in javafx.scene.control"><code>TableColumn</code></a> <a href="../../../../javafx/scene/control/TableColumn.html#cellValueFactoryProperty--"><code>cell value factory</code></a>. An example of how to use this class is: <pre><code> TableColumn<Person,String> firstNameCol = new TableColumn<Person,String>("First Name"); firstNameCol.setCellValueFactory(new PropertyValueFactory<Person,String>("firstName")); </code></pre> In this example, the "firstName" string is used as a reference to an assumed <code>firstNameProperty()</code> method in the <code>Person</code> class type (which is the class type of the TableView <a href="../../../../javafx/scene/control/TableView.html#itemsProperty--"><code>items</code></a> list). Additionally, this method must return a <a href="../../../../javafx/beans/property/Property.html" title="interface in javafx.beans.property"><code>Property</code></a> instance. If a method meeting these requirements is found, then the <a href="../../../../javafx/scene/control/TableCell.html" title="class in javafx.scene.control"><code>TableCell</code></a> is populated with this ObservableValue<T>. In addition, the TableView will automatically add an observer to the returned value, such that any changes fired will be observed by the TableView, resulting in the cell immediately updating. <p>If no method matching this pattern exists, there is fall-through support for attempting to call get<property>() or is<property>() (that is, <code>getFirstName()</code> or <code>isFirstName()</code> in the example above). If a method matching this pattern exists, the value returned from this method is wrapped in a <a href="../../../../javafx/beans/property/ReadOnlyObjectWrapper.html" title="class in javafx.beans.property"><code>ReadOnlyObjectWrapper</code></a> and returned to the TableCell. However, in this situation, this means that the TableCell will not be able to observe the ObservableValue for changes (as is the case in the first approach above). <p>For reference (and as noted in the TableColumn <a href="../../../../javafx/scene/control/TableColumn.html#cellValueFactory"><code>cell value factory</code></a> documentation), the long form of the code above would be the following: <pre><code> TableColumn<Person,String> firstNameCol = new TableColumn<Person,String>("First Name"); firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() { public ObservableValue<String> call(CellDataFeatures<Person, String> p) { // p.getValue() returns the Person instance for a particular TableView row return p.getValue().firstNameProperty(); } }); } </code></pre></div> <dl> <dt><span class="simpleTagLabel">Since:</span></dt> <dd>JavaFX 2.0</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../javafx/scene/control/TableColumn.html" title="class in javafx.scene.control"><code>TableColumn</code></a>, <a href="../../../../javafx/scene/control/TableView.html" title="class in javafx.scene.control"><code>TableView</code></a>, <a href="../../../../javafx/scene/control/TableCell.html" title="class in javafx.scene.control"><code>TableCell</code></a>, <a href="../../../../javafx/scene/control/cell/TreeItemPropertyValueFactory.html" title="class in javafx.scene.control.cell"><code>TreeItemPropertyValueFactory</code></a>, <a href="../../../../javafx/scene/control/cell/MapValueFactory.html" title="class in javafx.scene.control.cell"><code>MapValueFactory</code></a></dd> </dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html#PropertyValueFactory-java.lang.String-">PropertyValueFactory</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> property)</code> <div class="block">Creates a default PropertyValueFactory to extract the value from a given TableView row item reflectively, using the given property name.</div> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code><a href="../../../../javafx/beans/value/ObservableValue.html" title="interface in javafx.beans.value">ObservableValue</a><<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">T</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html#call-javafx.scene.control.TableColumn.CellDataFeatures-">call</a></span>(<a href="../../../../javafx/scene/control/TableColumn.CellDataFeatures.html" title="class in javafx.scene.control">TableColumn.CellDataFeatures</a><<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">S</a>,<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">T</a>> param)</code> <div class="block">The <code>call</code> 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.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html#getProperty--">getProperty</a></span>()</code> <div class="block">Returns the property name provided in the constructor.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="PropertyValueFactory-java.lang.String-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>PropertyValueFactory</h4> <pre>public PropertyValueFactory(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> property)</pre> <div class="block">Creates a default PropertyValueFactory to extract the value from a given TableView row item reflectively, using the given property name.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>property</code> - The name of the property with which to attempt to reflectively extract a corresponding value for in a given object.</dd> </dl> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="call-javafx.scene.control.TableColumn.CellDataFeatures-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>call</h4> <pre>public <a href="../../../../javafx/beans/value/ObservableValue.html" title="interface in javafx.beans.value">ObservableValue</a><<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">T</a>> call(<a href="../../../../javafx/scene/control/TableColumn.CellDataFeatures.html" title="class in javafx.scene.control">TableColumn.CellDataFeatures</a><<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">S</a>,<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">T</a>> param)</pre> <div class="block">The <code>call</code> 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.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../javafx/util/Callback.html#call-P-">call</a></code> in interface <code><a href="../../../../javafx/util/Callback.html" title="interface in javafx.util">Callback</a><<a href="../../../../javafx/scene/control/TableColumn.CellDataFeatures.html" title="class in javafx.scene.control">TableColumn.CellDataFeatures</a><<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">S</a>,<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">T</a>>,<a href="../../../../javafx/beans/value/ObservableValue.html" title="interface in javafx.beans.value">ObservableValue</a><<a href="../../../../javafx/scene/control/cell/PropertyValueFactory.html" title="type parameter in PropertyValueFactory">T</a>>></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>param</code> - The single argument upon which the returned value should be determined.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>An object of type R that may be determined based on the provided parameter value.</dd> </dl> </li> </ul> <a name="getProperty--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>getProperty</h4> <pre>public final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getProperty()</pre> <div class="block">Returns the property name provided in the constructor.</div> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/PropertyValueFactory.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> <div class="aboutLanguage">JavaFX 8</div> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../javafx/scene/control/cell/ProgressBarTreeTableCell.html" title="class in javafx.scene.control.cell"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../javafx/scene/control/cell/TextFieldListCell.html" title="class in javafx.scene.control.cell"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?javafx/scene/control/cell/PropertyValueFactory.html" target="_top">Frames</a></li> <li><a href="PropertyValueFactory.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><small><a href="https://docs.oracle.com/javase/8/docs/legal/cpyr.html">Copyright</a> (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.</small></small></p> </body> </html>