blob: e8730d688a05eb867676745848dba416f0d56e45 [file] [log] [blame]
<!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&amp;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
&#160;<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&amp;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&amp;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&amp;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 ^&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:af75d72e375954334c9f11ad1e7efe65b"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</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">&#160;</td><td class="mdescRight">Deserialize this object. <a href="#af75d72e375954334c9f11ad1e7efe65b">More...</a><br /></td></tr>
<tr class="separator:af75d72e375954334c9f11ad1e7efe65b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aea2cef72a21e8bcf6931e985398fa3"><td class="memItemLeft" align="right" valign="top">virtual String ^&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a4096028bd472d47d3bdbcbcafde94ca8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00382.html#a25534680ef2bea4c25253ae9d809bed6">FieldType</a>&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a77edc9c5289c56e81150367a55656366"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae02f0f5e7301525df6dcba830ea7667e"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a514fe5de7c42032425d365f3f6dfdb0e"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</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">&#160;</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">&#160;</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">&#9670;&nbsp;</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^&#160;</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>^&#160;</td>
<td class="paramname"><em>cache</em>&#160;</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">&#9670;&nbsp;</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^&#160;</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>^&#160;</td>
<td class="paramname"><em>reader</em>&#160;</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">&#9670;&nbsp;</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^&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Type^&#160;</td>
<td class="paramname"><em>type</em>&#160;</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>&lt;param name"type"&gt; 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">&#9670;&nbsp;</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^&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Type^&#160;</td>
<td class="paramname"><em>type</em>&#160;</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">&#9670;&nbsp;</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^&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Type^&#160;</td>
<td class="paramname"><em>type</em>&#160;</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">&#9670;&nbsp;</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^&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Type^&#160;</td>
<td class="paramname"><em>type</em>&#160;</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">&#9670;&nbsp;</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^&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Type^&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Object^&#160;</td>
<td class="paramname"><em>serializeValue</em>&#160;</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">&#9670;&nbsp;</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^&#160;</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>^&#160;</td>
<td class="paramname"><em>writer</em>&#160;</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">&#9670;&nbsp;</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^&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Type^&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Object^&#160;</td>
<td class="paramname"><em>originalValue</em>&#160;</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>