| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| <meta name="generator" content="Doxygen 1.8.15"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>Apache Geode Native .NET Reference: Apache::Geode::Client::ReflectionBasedAutoSerializer Class Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="navtree.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="resize.js"></script> |
| <script type="text/javascript" src="navtreedata.js"></script> |
| <script type="text/javascript" src="navtree.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(document).ready(initResizable); |
| /* @license-end */</script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">Apache Geode Native .NET Reference |
|  <span id="projectnumber">1.13.1</span> |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.15 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */</script> |
| <div id="main-nav"></div> |
| </div><!-- top --> |
| <div id="side-nav" class="ui-resizable side-nav-resizable"> |
| <div id="nav-tree"> |
| <div id="nav-tree-contents"> |
| <div id="nav-sync" class="sync"></div> |
| </div> |
| </div> |
| <div id="splitbar" style="-moz-user-select:none;" |
| class="ui-resizable-handle"> |
| </div> |
| </div> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(document).ready(function(){initNavTree('a01090.html','');}); |
| /* @license-end */ |
| </script> |
| <div id="doc-content"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#pub-methods">Public Member Functions</a> </div> |
| <div class="headertitle"> |
| <div class="title">Apache::Geode::Client::ReflectionBasedAutoSerializer Class Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p> |
| <a href="a01090.html#details">More...</a></p> |
| |
| <p>Inherits <a class="el" href="a00982.html">Apache::Geode::Client::IPdxSerializer</a>.</p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> |
| Public Member Functions</h2></td></tr> |
| <tr class="memitem:af4fa044a16e0f27e438125d03e30d96d"><td class="memItemLeft" align="right" valign="top">virtual Object ^ </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#af4fa044a16e0f27e438125d03e30d96d">CreateObject</a> (String^ className, <a class="el" href="a00410.html">Cache</a>^ cache)</td></tr> |
| <tr class="memdesc:af4fa044a16e0f27e438125d03e30d96d"><td class="mdescLeft"> </td><td class="mdescRight">Overirde this method to create default instance of </p><div class="fragment"><div class="line">className</div></div><!-- fragment --><p> Otherwise it will create instance using zer arg public constructor <a href="#af4fa044a16e0f27e438125d03e30d96d">More...</a><br /></td></tr> |
| <tr class="separator:af4fa044a16e0f27e438125d03e30d96d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af75d72e375954334c9f11ad1e7efe65b"><td class="memItemLeft" align="right" valign="top">virtual Object ^ </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#af75d72e375954334c9f11ad1e7efe65b">FromData</a> (String^ o, <a class="el" href="a00974.html">IPdxReader</a>^ reader)</td></tr> |
| <tr class="memdesc:af75d72e375954334c9f11ad1e7efe65b"><td class="mdescLeft"> </td><td class="mdescRight">Deserialize this object. <a href="#af75d72e375954334c9f11ad1e7efe65b">More...</a><br /></td></tr> |
| <tr class="separator:af75d72e375954334c9f11ad1e7efe65b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a4aea2cef72a21e8bcf6931e985398fa3"><td class="memItemLeft" align="right" valign="top">virtual String ^ </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#a4aea2cef72a21e8bcf6931e985398fa3">GetFieldName</a> (FieldInfo^ fi, Type^ type)</td></tr> |
| <tr class="memdesc:a4aea2cef72a21e8bcf6931e985398fa3"><td class="mdescLeft"> </td><td class="mdescRight">Controls the field name that will be used in pdx for a field being auto serialized. <a href="#a4aea2cef72a21e8bcf6931e985398fa3">More...</a><br /></td></tr> |
| <tr class="separator:a4aea2cef72a21e8bcf6931e985398fa3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a4096028bd472d47d3bdbcbcafde94ca8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00382.html#a25534680ef2bea4c25253ae9d809bed6">FieldType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#a4096028bd472d47d3bdbcbcafde94ca8">GetFieldType</a> (FieldInfo^ fi, Type^ type)</td></tr> |
| <tr class="memdesc:a4096028bd472d47d3bdbcbcafde94ca8"><td class="mdescLeft"> </td><td class="mdescRight">Controls what pdx field type will be used when auto serializing. <a href="#a4096028bd472d47d3bdbcbcafde94ca8">More...</a><br /></td></tr> |
| <tr class="separator:a4096028bd472d47d3bdbcbcafde94ca8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#a0f8e1cb1e96ea53e9efe42dbb0fcffee">IsFieldIncluded</a> (FieldInfo^ fi, Type^ type)</td></tr> |
| <tr class="memdesc:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="mdescLeft"> </td><td class="mdescRight">Controls what fields of a class will be auto serialized by this serializer. <a href="#a0f8e1cb1e96ea53e9efe42dbb0fcffee">More...</a><br /></td></tr> |
| <tr class="separator:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a77edc9c5289c56e81150367a55656366"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#a77edc9c5289c56e81150367a55656366">IsIdentityField</a> (FieldInfo^ fi, Type^ type)</td></tr> |
| <tr class="memdesc:a77edc9c5289c56e81150367a55656366"><td class="mdescLeft"> </td><td class="mdescRight">Controls what fields of a class that is auto serialized will be marked as pdx identity fields. <a href="#a77edc9c5289c56e81150367a55656366">More...</a><br /></td></tr> |
| <tr class="separator:a77edc9c5289c56e81150367a55656366"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae02f0f5e7301525df6dcba830ea7667e"><td class="memItemLeft" align="right" valign="top">virtual Object ^ </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#ae02f0f5e7301525df6dcba830ea7667e">ReadTransform</a> (FieldInfo^ fi, Type^ type, Object^ serializeValue)</td></tr> |
| <tr class="memdesc:ae02f0f5e7301525df6dcba830ea7667e"><td class="mdescLeft"> </td><td class="mdescRight">Controls what field value is read during auto deserialization. <a href="#ae02f0f5e7301525df6dcba830ea7667e">More...</a><br /></td></tr> |
| <tr class="separator:ae02f0f5e7301525df6dcba830ea7667e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#a0a7fee9ac7d5b32600ea1729e2a6b50a">ToData</a> (Object^ o, <a class="el" href="a00994.html">IPdxWriter</a>^ writer)</td></tr> |
| <tr class="memdesc:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="mdescLeft"> </td><td class="mdescRight">Serializes this object in geode PDX format. <a href="#a0a7fee9ac7d5b32600ea1729e2a6b50a">More...</a><br /></td></tr> |
| <tr class="separator:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a514fe5de7c42032425d365f3f6dfdb0e"><td class="memItemLeft" align="right" valign="top">virtual Object ^ </td><td class="memItemRight" valign="bottom"><a class="el" href="a01090.html#a514fe5de7c42032425d365f3f6dfdb0e">WriteTransform</a> (FieldInfo^ fi, Type^ type, Object^ originalValue)</td></tr> |
| <tr class="memdesc:a514fe5de7c42032425d365f3f6dfdb0e"><td class="mdescLeft"> </td><td class="mdescRight">Controls what field value is written during auto serialization. <a href="#a514fe5de7c42032425d365f3f6dfdb0e">More...</a><br /></td></tr> |
| <tr class="separator:a514fe5de7c42032425d365f3f6dfdb0e"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>This class uses .NET reflection in conjunction with <a class="el" href="a00982.html" title="The IPdxSerializer interface allows domain classes to be serialized and deserialized as PDXs without ...">IPdxSerializer</a> to perform automatic serialization of domain objects. The implication is that the domain classes do not need to implement the <a class="el" href="a00978.html">interface. This implementation will serialize all relevant fields. This will not serialize the fields which has defined attribute NonSerialized. This will not serialize the static, literal and readonly fields. Use </a> to define member field as identity field. Identity fields are used for hashcode creation and equals methods.</p> |
| </div><h2 class="groupheader">Member Function Documentation</h2> |
| <a id="af4fa044a16e0f27e438125d03e30d96d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af4fa044a16e0f27e438125d03e30d96d">◆ </a></span>CreateObject()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::CreateObject </td> |
| <td>(</td> |
| <td class="paramtype">String^ </td> |
| <td class="paramname"><em>className</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="a00410.html">Cache</a>^ </td> |
| <td class="paramname"><em>cache</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Overirde this method to create default instance of </p><div class="fragment"><div class="line">className</div></div><!-- fragment --><p> Otherwise it will create instance using zer arg public constructor </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">className</td><td>name of the class to create default instance </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>the defaulf instance </dd></dl> |
| |
| </div> |
| </div> |
| <a id="af75d72e375954334c9f11ad1e7efe65b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af75d72e375954334c9f11ad1e7efe65b">◆ </a></span>FromData()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::FromData </td> |
| <td>(</td> |
| <td class="paramtype">String^ </td> |
| <td class="paramname"><em>classname</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="a00974.html">IPdxReader</a>^ </td> |
| <td class="paramname"><em>reader</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Deserialize this object. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">classname</td><td>the classname whose object need to de-serialize </td></tr> |
| <tr><td class="paramname">reader</td><td>the <a class="el" href="a00974.html" title="A IPdxReader will be passed to IPdxSerializable.fromData or during deserialization of a PDX.">IPdxReader</a> stream to use for reading the object data </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| <p>Implements <a class="el" href="a00982.html#a5fd763574f64fa778f109df605904d78">Apache::Geode::Client::IPdxSerializer</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a4aea2cef72a21e8bcf6931e985398fa3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a4aea2cef72a21e8bcf6931e985398fa3">◆ </a></span>GetFieldName()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual String ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::GetFieldName </td> |
| <td>(</td> |
| <td class="paramtype">FieldInfo^ </td> |
| <td class="paramname"><em>fi</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Type^ </td> |
| <td class="paramname"><em>type</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Controls the field name that will be used in pdx for a field being auto serialized. </p> |
| <p>Override this method to customize the field names that will be generated by auto serialization. It allows you to convert a local, language dependent name, to a more portable name. The returned name is the one that will show up in a <a class="el" href="a00966.html" title="PdxInstance provides run time access to the fields of a PDX without deserializing the PDX.">IPdxInstance</a> and that one that will need to be used to access the field when doing a query. </p> |
| <p>The default implementation returns the name obtained from <code>fi</code>. </p> |
| <p>This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fi</td><td>the field whose name is returned.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <p><param name"type"> type the original class being serialized that owns this field.</p> |
| <dl class="section return"><dt>Returns</dt><dd>the name of the field </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a4096028bd472d47d3bdbcbcafde94ca8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a4096028bd472d47d3bdbcbcafde94ca8">◆ </a></span>GetFieldType()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual <a class="el" href="a00382.html#a25534680ef2bea4c25253ae9d809bed6">FieldType</a> Apache::Geode::Client::ReflectionBasedAutoSerializer::GetFieldType </td> |
| <td>(</td> |
| <td class="paramtype">FieldInfo^ </td> |
| <td class="paramname"><em>fi</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Type^ </td> |
| <td class="paramname"><em>type</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Controls what pdx field type will be used when auto serializing. </p> |
| <p>Override this method to customize what pdx field type will be used for a given domain class field. </p> |
| <p>The default implementation uses type of field. </p> |
| <p>This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fi</td><td>the field whose pdx field type needs to be determined </td></tr> |
| <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>the pdx field type of the given domain class field.</dd></dl> |
| |
| </div> |
| </div> |
| <a id="a0f8e1cb1e96ea53e9efe42dbb0fcffee"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a0f8e1cb1e96ea53e9efe42dbb0fcffee">◆ </a></span>IsFieldIncluded()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual bool Apache::Geode::Client::ReflectionBasedAutoSerializer::IsFieldIncluded </td> |
| <td>(</td> |
| <td class="paramtype">FieldInfo^ </td> |
| <td class="paramname"><em>fi</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Type^ </td> |
| <td class="paramname"><em>type</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Controls what fields of a class will be auto serialized by this serializer. </p> |
| <p>Override this method to customize what fields of a class will be auto serialized. The default implementation: </p><ul> |
| <li> |
| excludes NonSerialized fields </li> |
| <li> |
| excludes static fields </li> |
| <li> |
| excludes literal fields </li> |
| <li> |
| excludes readonly fields </li> |
| </ul> |
| <p>All other fields are included. This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fi</td><td>the field being considered for serialization</td></tr> |
| <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if the field should be serialized as a pdx field; false if it should be ignored.</dd></dl> |
| |
| </div> |
| </div> |
| <a id="a77edc9c5289c56e81150367a55656366"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a77edc9c5289c56e81150367a55656366">◆ </a></span>IsIdentityField()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual bool Apache::Geode::Client::ReflectionBasedAutoSerializer::IsIdentityField </td> |
| <td>(</td> |
| <td class="paramtype">FieldInfo^ </td> |
| <td class="paramname"><em>fi</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Type^ </td> |
| <td class="paramname"><em>type</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Controls what fields of a class that is auto serialized will be marked as pdx identity fields. </p> |
| <p>Override this method to customize what fields of an auto serialized class will be identity fields. Identity fields are used when a <a class="el" href="a00966.html" title="PdxInstance provides run time access to the fields of a PDX without deserializing the PDX.">IPdxInstance</a> computes its hash code and checks to see if it is equal to another object. </p> |
| <p>The default implementation only marks fields that match an "#identity=" pattern as identity fields. </p> |
| <p>This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fi</td><td>the field to test to see if it is an identity field.</td></tr> |
| <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>true if the field should be marked as an identity field; false if not. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ae02f0f5e7301525df6dcba830ea7667e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae02f0f5e7301525df6dcba830ea7667e">◆ </a></span>ReadTransform()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::ReadTransform </td> |
| <td>(</td> |
| <td class="paramtype">FieldInfo^ </td> |
| <td class="paramname"><em>fi</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Type^ </td> |
| <td class="paramname"><em>type</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Object^ </td> |
| <td class="paramname"><em>serializeValue</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Controls what field value is read during auto deserialization. </p> |
| <p>Override this method to customize the data that will be read during auto deserialization. This method will only be called if <a class="el" href="">transformFieldValue</a> returned true. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fi</td><td>the field in question </td></tr> |
| <tr><td class="paramname">type</td><td>the original class being serialized that owns this field. Note that this field may have been inherited from a super class by this class.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <p>the value of the field that was serialized for this field.</p> |
| <dl class="section return"><dt>Returns</dt><dd>the actual value to write for this field. Return <div class="fragment"><div class="line">serializedValue</div></div><!-- fragment --> if you decide not to transform the value. </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a0a7fee9ac7d5b32600ea1729e2a6b50a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a0a7fee9ac7d5b32600ea1729e2a6b50a">◆ </a></span>ToData()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual bool Apache::Geode::Client::ReflectionBasedAutoSerializer::ToData </td> |
| <td>(</td> |
| <td class="paramtype">Object^ </td> |
| <td class="paramname"><em>o</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="a00994.html">IPdxWriter</a>^ </td> |
| <td class="paramname"><em>writer</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Serializes this object in geode PDX format. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">o</td><td>the object which need to serialize </td></tr> |
| <tr><td class="paramname">writer</td><td>the <a class="el" href="a00994.html" title="A IPdxWriter will be passed to IPdxSerializable.toData when it is serializing the domain class.">IPdxWriter</a> object to use for serializing the object </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| <p>Implements <a class="el" href="a00982.html#afaf1bc50a405f4aa0098b0cac995308e">Apache::Geode::Client::IPdxSerializer</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a514fe5de7c42032425d365f3f6dfdb0e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a514fe5de7c42032425d365f3f6dfdb0e">◆ </a></span>WriteTransform()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::WriteTransform </td> |
| <td>(</td> |
| <td class="paramtype">FieldInfo^ </td> |
| <td class="paramname"><em>fi</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Type^ </td> |
| <td class="paramname"><em>type</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">Object^ </td> |
| <td class="paramname"><em>originalValue</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">virtual</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Controls what field value is written during auto serialization. </p> |
| <p>Override this method to customize the data that will be written during auto serialization. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">fi</td><td>the field in question</td></tr> |
| <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr> |
| <tr><td class="paramname">originalValue</td><td>the value of the field that was read from the domain object.</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>the actual value to write for this field. Return <div class="fragment"><div class="line">originalValue</div></div><!-- fragment --> if you decide not to transform the value. </dd></dl> |
| |
| </div> |
| </div> |
| </div><!-- contents --> |
| </div><!-- doc-content --> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| http://www.apache.org/licenses/LICENSE-2.0 |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address> |