Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 1237

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>NQ Optimization At Load Time</title>
    <link rel="stylesheet" type="text/css" href="../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>NQ Optimization At Load Time</h1><script>
//We attach this function to a browser object as a variable so that if multiple of these blocks are
//present on the same page, then they will simply over-write eachother with the same function instead
//of generating a naming collision.
window.WikiCodeFormattingCopyToClipboard = function copyToClipboard(sID){
	var sContent = document.getElementById(sID).innerText;
	if( window.clipboardData && clipboardData.setData )
	{
		clipboardData.setData("Text", sContent);
	}
	else
	{
		alert("You must enable javascript access to your clipboard for this feature to work. Please referr to your browser documentation or Google search for instructions.");
	}
}
</script>

<p><font color="#990000">This topic applies to Java version only</font></p><p><b>Note: This will not work with JDK1.1.</b></p>

<p>Native Query predicates can be optimized when they are loaded into JVM. In order to do that you should make use of db4o <a href="../../implementation_strategies/enhancement_tools.html" class="wikiLink">Enhancement Tools</a>. </p><p>The idea is very simple: </p><ul><li>you create your application without any worries about NQ optimization</li><li>when the application is ready, you use a special starter class, which calls a special classloader to instrument your predicates and start the application.</li></ul><p>Let's look how this is done on an example. We will use a well-known <a href="nq_optimization_at_load_time/pilot.html" class="wikiLink">Pilot</a> class, store it and use NQ to retrieve it:</p><div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">NQExample.java: <span class="fscMemberName">main</span></span></div><div class="fscCode"><pre ID="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">1</span><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Open_Text').style.display='inline';"/><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> main(String[] args) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_Main_730_48_39_86_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    storePilots();
</span><span style="color: #008080;">3</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    selectPilot5Points();
</span><span style="color: #008080;">4</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>      }</span></span></div></pre></div></div>&nbsp;&nbsp;&nbsp;</p><div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">NQExample.java: <span class="fscMemberName">storePilots</span></span></div><div class="fscCode"><pre ID="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Open_Text').style.display='inline';"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> storePilots() </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_34_708_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> File(DB4O_FILE_NAME).delete();
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    ObjectContainer container </span><span style="color: #000000;">=</span><span style="color: #000000;"> database(configureNQ());
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Open_Text').style.display='inline';"/>    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (container </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_153_705_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Open_Text').style.display='inline';"/>      </span><span style="color: #0000FF;">try</span><span style="color: #000000;"> </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_162_479_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        Pilot pilot;
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> (</span><span style="color: #0000FF;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;">&lt;</span><span style="color: #000000;"> OBJECT_COUNT; i</span><span style="color: #000000;">++</span><span style="color: #000000;">) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_224_305_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>          pilot </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Pilot(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">Test Pilot #</span><span style="color: #000000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> i, i);
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>          container.set(pilot);
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> (</span><span style="color: #0000FF;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;">&lt;</span><span style="color: #000000;"> OBJECT_COUNT; i</span><span style="color: #000000;">++</span><span style="color: #000000;">) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_349_450_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>          pilot </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Pilot(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">Professional Pilot #</span><span style="color: #000000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> (i </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;">), i </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;">);
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>          container.set(pilot);
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        container.commit();
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">catch</span><span style="color: #000000;"> (Db4oException ex) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_505_573_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        System.out.println(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">Db4o Exception: </span><span style="color: #000000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> ex.getMessage());
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">catch</span><span style="color: #000000;"> (Exception ex) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_595_665_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">19</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        System.out.println(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">System Exception: </span><span style="color: #000000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> ex.getMessage());
</span><span style="color: #008080;">20</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">finally</span><span style="color: #000000;"> </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_StorePilots_800_55_674_701_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">21</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        closeDatabase();
</span><span style="color: #008080;">22</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>      }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">23</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">24</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>&nbsp;&nbsp;&nbsp;&nbsp;</p><div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">NQExample.java: <span class="fscMemberName">selectPilot5Points</span></span></div><div class="fscCode"><pre ID="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Open_Text').style.display='inline';"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> selectPilot5Points() </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_41_522_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    ObjectContainer container </span><span style="color: #000000;">=</span><span style="color: #000000;"> database(configureNQ());
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Open_Text').style.display='inline';"/>    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (container </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_123_519_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Open_Text').style.display='inline';"/>      </span><span style="color: #0000FF;">try</span><span style="color: #000000;"> </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_132_387_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Open_Text').style.display='inline';"/>        List</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Pilot</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"> result </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.query(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Predicate</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Pilot</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">() </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_198_356_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Open_Text').style.display='inline';"/>          </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">boolean</span><span style="color: #000000;"> match(Pilot pilot) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_239_350_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #008000;">//</span><span style="color: #008000;"> pilots with 5 points are included in the
</span><span style="color: #008080;">08</span><span style="color: #008000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            </span><span style="color: #008000;">//</span><span style="color: #008000;"> result</span><span style="color: #008000;">
</span><span style="color: #008080;">09</span><span style="color: #008000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">            </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> pilot.getPoints() </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">5</span><span style="color: #000000;">;
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>          }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">);
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        listResult(result);
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">catch</span><span style="color: #000000;"> (Exception ex) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_409_479_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        System.out.println(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">System Exception: </span><span style="color: #000000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> ex.getMessage());
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">finally</span><span style="color: #000000;"> </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQExample.Java_NQExample.Java_SelectPilot5Points_883_62_488_515_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        closeDatabase();
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>      }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">19</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>&nbsp;</p><p>We will need to create a starter class, which will call the main method of the NQExample:</p><div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">NQEnhancedStarter.java: <span class="fscMemberName">main</span></span></div><div class="fscCode"><pre ID="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">1</span><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Open_Text').style.display='inline';"/><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> main(String[] args) </span><span style="color: #0000FF;">throws</span><span style="color: #000000;"> Exception </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_56_544_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> Create class filter to point to the predicates to be optimized</span><span style="color: #008000;">
</span><span style="color: #008080;">3</span><span style="color: #008000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">    ClassFilter filter </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> ByNameClassFilter(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">com.db4odoc.nqoptimize.</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">, </span><span style="color: #0000FF;">true</span><span style="color: #000000;">);
</span><span style="color: #008080;">4</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> Create NQ optimization class edit</span><span style="color: #008000;">
</span><span style="color: #008080;">5</span><span style="color: #008000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Open_Text').style.display='inline';"/></span><span style="color: #000000;">    BloatClassEdit[] edits </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_271_301_Open_Text"><span style="color: #000000;">{ </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> TranslateNQToSODAEdit()}</span></span><span style="color: #000000;">;
</span><span style="color: #008080;">6</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Open_Text').style.display='inline';"/>    URL[] urls </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_318_382_Open_Text"><span style="color: #000000;">{ </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> File(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">/work/workspaces/db4o/nqtest/bin</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">).toURI().toURL() }</span></span><span style="color: #000000;">;
</span><span style="color: #008080;">7</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> launch the application using the class edit and the filter</span><span style="color: #008000;">
</span><span style="color: #008080;">8</span><span style="color: #008000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Open_Text').style.display='inline';"/></span><span style="color: #000000;">    Db4oInstrumentationLauncher.launch(edits, urls, NQExample.</span><span style="color: #0000FF;">class</span><span style="color: #000000;">.getName(), </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> String[]</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationNQOptimizeJava.ZipsNQEnhancedStarter.Java_NQEnhancedStarter.Java_Main_1051_56_537_539_Open_Text"><span style="color: #000000;">{}</span></span><span style="color: #000000;">);
</span><span style="color: #008080;">9</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>&nbsp;&nbsp;</p><p>That's all. Now you can run your application using NQEnhancedStarter and all the predicated will be optimized while they are loaded. This will also save time on optimization at runtime.&nbsp;</p></div>
    </div>
    <div id="footer">
					This revision (7) was last Modified 2007-11-05T18:35:31 by Tetyana.
				</div>
  </body>
</html>