blob: 0dbe8f44356596c9f9f6cb0f82b656d0bc51a068 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
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.
--><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache log4cxx: object.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="classes.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>object.h File Reference</h1>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx.html">log4cxx</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx_1_1helpers.html">log4cxx::helpers</a></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">base class for java-like objects. <a href="classlog4cxx_1_1helpers_1_1_object.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_1_1_clazz_object.html">Object::ClazzObject</a></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#7a13485fd2b3040ee5cae53c2bc00f13">DECLARE_ABSTRACT_LOG4CXX_OBJECT</a>(object)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#9e129ec12609d98bb2a10d15b46709ba">DECLARE_LOG4CXX_OBJECT</a>(object)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#1bca89baf41fe4f2f4ff96203de445d5">DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(object, class)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#7407bf6e747dc0c5db5208a4ae4a07e6">IMPLEMENT_LOG4CXX_OBJECT</a>(object)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#f7bf8c071020414cc69eb1c95845901c">IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(object, class)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#c8ff8f70159e03fe7d8c4aa743cc9cda">BEGIN_LOG4CXX_CAST_MAP</a>()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#917a7d053853b1ffdf45a3d91aeca4f1">END_LOG4CXX_CAST_MAP</a>()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#642180530328ec0378468edda5bc94e2">LOG4CXX_CAST_ENTRY</a>(Interface)&nbsp;&nbsp;&nbsp;if (&amp;clazz == &amp;Interface::getStaticClass()) return (const Interface *)this;</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#148aec9f47f8af8058c7b476b08a7802">LOG4CXX_CAST_ENTRY2</a>(Interface, interface2)&nbsp;&nbsp;&nbsp;if (&amp;clazz == &amp;Interface::getStaticClass()) return (Interface *)(interface2 *)this;</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#b14dc1a75d63a11359c8861a59786abc">LOG4CXX_CAST_ENTRY_CHAIN</a>(Interface)</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx_1_1helpers.html#3786cf3e0c3d55955d25114ae2c273f8">log4cxx::helpers::LOG4CXX_PTR_DEF</a> (Object)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="c8ff8f70159e03fe7d8c4aa743cc9cda"></a><!-- doxytag: member="object.h::BEGIN_LOG4CXX_CAST_MAP" ref="c8ff8f70159e03fe7d8c4aa743cc9cda" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define BEGIN_LOG4CXX_CAST_MAP </td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">const</span> <span class="keywordtype">void</span> * cast(<span class="keyword">const</span> helpers::Class&amp; clazz) <span class="keyword">const</span>\
{\
<span class="keyword">const</span> <span class="keywordtype">void</span> * object = 0;\
<span class="keywordflow">if</span> (&amp;clazz == &amp;helpers::Object::getStaticClass()) <span class="keywordflow">return</span> (<span class="keyword">const</span> helpers::Object *)<span class="keyword">this</span>;
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="7a13485fd2b3040ee5cae53c2bc00f13"></a><!-- doxytag: member="object.h::DECLARE_ABSTRACT_LOG4CXX_OBJECT" ref="7a13485fd2b3040ee5cae53c2bc00f13" args="(object)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define DECLARE_ABSTRACT_LOG4CXX_OBJECT </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">object&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">public</span>:\
<span class="keyword">class </span>Clazz##object : <span class="keyword">public</span> helpers::Class\
{\
<span class="keyword">public</span>:\
Clazz##object() : helpers::Class() {}\
<span class="keyword">virtual</span> ~Clazz##object() {}\
<span class="keyword">virtual</span> <a class="code" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">log4cxx::LogString</a> getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LOG4CXX_STR(#object); } \
};\
<span class="keyword">virtual</span> <span class="keyword">const</span> helpers::Class&amp; getClass() <span class="keyword">const</span>;\
<span class="keyword">static</span> <span class="keyword">const</span> helpers::Class&amp; getStaticClass(); \
<span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="9e129ec12609d98bb2a10d15b46709ba"></a><!-- doxytag: member="object.h::DECLARE_LOG4CXX_OBJECT" ref="9e129ec12609d98bb2a10d15b46709ba" args="(object)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define DECLARE_LOG4CXX_OBJECT </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">object&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">public</span>:\
<span class="keyword">class </span>Clazz##object : <span class="keyword">public</span> helpers::Class\
{\
<span class="keyword">public</span>:\
Clazz##object() : helpers::Class() {}\
<span class="keyword">virtual</span> ~Clazz##object() {}\
<span class="keyword">virtual</span> <a class="code" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">log4cxx::LogString</a> getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LOG4CXX_STR(#object); } \
<span class="keyword">virtual</span> <a class="code" href="namespacelog4cxx_1_1helpers.html#b6a6ce8f0ab4ed49ed45fad8cd9ea177">helpers::ObjectPtr</a> newInstance() const\
{\
<span class="keywordflow">return</span> <span class="keyword">new</span> object();\
}\
};\
<span class="keyword">virtual</span> <span class="keyword">const</span> helpers::Class&amp; getClass() <span class="keyword">const</span>;\
<span class="keyword">static</span> <span class="keyword">const</span> helpers::Class&amp; getStaticClass(); \
<span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="1bca89baf41fe4f2f4ff96203de445d5"></a><!-- doxytag: member="object.h::DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS" ref="1bca89baf41fe4f2f4ff96203de445d5" args="(object, class)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">object, <tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>class&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">public</span>:\
<span class="keyword">virtual</span> <span class="keyword">const</span> helpers::Class&amp; getClass() <span class="keyword">const</span>;\
<span class="keyword">static</span> <span class="keyword">const</span> helpers::Class&amp; getStaticClass();\
<span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="917a7d053853b1ffdf45a3d91aeca4f1"></a><!-- doxytag: member="object.h::END_LOG4CXX_CAST_MAP" ref="917a7d053853b1ffdf45a3d91aeca4f1" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define END_LOG4CXX_CAST_MAP </td>
<td class="md" valign="top">(&nbsp;</td>
&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">return</span> object;\
}\
<span class="keywordtype">bool</span> instanceof(<span class="keyword">const</span> helpers::Class&amp; clazz) <span class="keyword">const</span>\
{ <span class="keywordflow">return</span> cast(clazz) != 0; }
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="7407bf6e747dc0c5db5208a4ae4a07e6"></a><!-- doxytag: member="object.h::IMPLEMENT_LOG4CXX_OBJECT" ref="7407bf6e747dc0c5db5208a4ae4a07e6" args="(object)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define IMPLEMENT_LOG4CXX_OBJECT </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">object&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class.html">log4cxx::helpers::Class</a>&amp; object::getClass()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getStaticClass(); }\
<span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class.html">log4cxx::helpers::Class</a>&amp; object::getStaticClass() { \
<span class="keyword">static</span> Clazz##object theClass; \
<span class="keywordflow">return</span> theClass; \
} \
<span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; object::registerClass() { \
<span class="keyword">static</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a> classReg(object::getStaticClass); \
<span class="keywordflow">return</span> classReg; \
}\
<span class="keyword">namespace </span>log4cxx { <span class="keyword">namespace </span>classes { \
<span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; object##Registration = object::registerClass(); \
} }
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="f7bf8c071020414cc69eb1c95845901c"></a><!-- doxytag: member="object.h::IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS" ref="f7bf8c071020414cc69eb1c95845901c" args="(object, class)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">object, <tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>class&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class.html">log4cxx::helpers::Class</a>&amp; object::getClass()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getStaticClass(); }\
<span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class.html">log4cxx::helpers::Class</a>&amp; object::getStaticClass() { \
<span class="keyword">static</span> <span class="keyword">class </span>theClass; \
<span class="keywordflow">return</span> theClass; \
} \
<span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; object::registerClass() { \
<span class="keyword">static</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a> classReg(object::getStaticClass); \
<span class="keywordflow">return</span> classReg; \
}\
<span class="keyword">namespace </span>log4cxx { <span class="keyword">namespace </span>classes { \
<span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; object##Registration = object::registerClass(); \
} }
</pre></div> </td>
</tr>
</table>
<a class="anchor" name="642180530328ec0378468edda5bc94e2"></a><!-- doxytag: member="object.h::LOG4CXX_CAST_ENTRY" ref="642180530328ec0378468edda5bc94e2" args="(Interface)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define LOG4CXX_CAST_ENTRY </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">Interface&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;if (&amp;clazz == &amp;Interface::getStaticClass()) return (const Interface *)this;</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="148aec9f47f8af8058c7b476b08a7802"></a><!-- doxytag: member="object.h::LOG4CXX_CAST_ENTRY2" ref="148aec9f47f8af8058c7b476b08a7802" args="(Interface, interface2)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define LOG4CXX_CAST_ENTRY2 </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">Interface, <tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>interface2&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap>&nbsp;&nbsp;&nbsp;if (&amp;clazz == &amp;Interface::getStaticClass()) return (Interface *)(interface2 *)this;</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="b14dc1a75d63a11359c8861a59786abc"></a><!-- doxytag: member="object.h::LOG4CXX_CAST_ENTRY_CHAIN" ref="b14dc1a75d63a11359c8861a59786abc" args="(Interface)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define LOG4CXX_CAST_ENTRY_CHAIN </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">Interface&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">object = Interface::cast(clazz);\
<span class="keywordflow">if</span> (object != 0) <span class="keywordflow">return</span> object;
</pre></div> </td>
</tr>
</table>
<!--
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.
-->
</BODY>
</HTML>