blob: 75298518bc956d50130639d5229e3a83f82dcef3 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_171) on Wed Jun 20 14:25:32 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractSearchTool (VelocityTools 3.0-SNAPSHOT API)</title>
<meta name="date" content="2018-06-20">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractSearchTool (VelocityTools 3.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractSearchTool.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/velocity/tools/view/AbstractSearchTool.html" target="_top">Frames</a></li>
<li><a href="AbstractSearchTool.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.velocity.tools.view</div>
<h2 title="Class AbstractSearchTool" class="title">Class AbstractSearchTool</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">org.apache.velocity.tools.generic.SafeConfig</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">org.apache.velocity.tools.view.PagerTool</a></li>
<li>
<ul class="inheritance">
<li>org.apache.velocity.tools.view.AbstractSearchTool</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="../../../../../org/apache/velocity/tools/config/DefaultKey.html" title="annotation in org.apache.velocity.tools.config">@DefaultKey</a>(<a href="../../../../../org/apache/velocity/tools/config/DefaultKey.html#value--">value</a>="search")
<a href="../../../../../org/apache/velocity/tools/config/InvalidScope.html" title="annotation in org.apache.velocity.tools.config">@InvalidScope</a>(<a href="../../../../../org/apache/velocity/tools/config/InvalidScope.html#value--">value</a>={"application","session"})
public abstract class <span class="typeNameLabel">AbstractSearchTool</span>
extends <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></pre>
<div class="block"><p>Abstract view tool for doing "searching" and robust
pagination of search results. The goal here is to provide a simple
and uniform API for "search tools" that can be used in velocity
templates (or even a standard Search.vm template). In particular,
this class provides good support for result pagination and some
very simple result caching.
</p>
<p><b>Usage:</b><br>
To use this class, you must extend it and implement
the executeQuery(Object) method.
</p>
<p>
The setCriteria(Object) method takes an Object in order to
allow the search criteria to meet your needs. Your criteria
may be as simple as a single string, an array of strings, or
whatever you like. The value passed into this method is that
which will ultimately be passed into executeQuery(Object) to
perform the search and return a list of results. A simple
implementation might be like:
<pre>
protected List executeQuery(Object crit)
{
return MyDbUtils.getFooBarsMatching((String)crit);
}
</pre>
<p>
Here's an example of how your subclass would be used in a template:
<pre>
&lt;form name="search" method="get" action="$link.setRelative('search.vm')"&gt;
&lt;input type="text"name="find" value="$!search.criteria"&gt;
&lt;input type="submit" value="Find"&gt;
&lt;/form&gt;
#if( $search.hasItems() )
Showing $!search.pageDescription&lt;br&gt;
#set( $i = $search.index )
#foreach( $item in $search.page )
${i}. $!item &lt;br&gt;
#set( $i = $i + 1 )
#end
&lt;br&gt;
#if ( $search.pagesAvailable &gt; 1 )
#set( $pagelink = $link.setRelative('search.vm').addQueryData("find",$!search.criteria).addQueryData("show",$!search.itemsPerPage) )
#if( $search.prevIndex )
&lt;a href="$pagelink.addQueryData('index',$!search.prevIndex)"&gt;Prev&lt;/a&gt;
#end
#foreach( $index in $search.slip )
#if( $index == $search.index )
&lt;b&gt;$search.pageNumber&lt;/b&gt;
#else
&lt;a href="$pagelink.addQueryData('index',$!index)"&gt;$!search.getPageNumber($index)&lt;/a&gt;
#end
#end
#if( $search.nextIndex )
&lt;a href="$pagelink.addQueryData('index',$!search.nextIndex)"&gt;Next&lt;/a&gt;
#end
#end
#elseif( $search.criteria )
Sorry, no matches were found for "$!search.criteria".
#else
Please enter a search term
#end
</pre>
<p>The output of this might look like:</p>
<pre>
&lt;form method="get" action=""&gt;
&lt;input type="text" value="foo"&gt;
&lt;input type="submit" value="Find"&gt;
&lt;/form&gt;
Showing 1-5 of 8&lt;br&gt;
1. foo&lt;br&gt;
2. bar&lt;br&gt;
3. blah&lt;br&gt;
4. woogie&lt;br&gt;
5. baz&lt;br&gt;&lt;br&gt;
&lt;b&gt;1&lt;/b&gt; &lt;a href=""&gt;2&lt;/a&gt; &lt;a href=""&gt;Next&lt;/a&gt;
</pre>
<p>Example tools.xml configuration:</p>
<pre>
&lt;tools&gt;
&lt;toolbox scope="request"&gt;
&lt;tool class="com.foo.tools.MySearchTool"/&gt;
&lt;/toolbox&gt;
&lt;/tools&gt;
</pre></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>VelocityTools 2.0</dd>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Revision: 1769774 $ $Date: 2016-11-15 11:52:36 +0100 (mar., 15 nov. 2016) $</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Nathan Bubna</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view">AbstractSearchTool.StoredResults</a></span></code>
<div class="block">Simple utility class to hold a criterion and its result list.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#DEFAULT_CRITERIA_KEY">DEFAULT_CRITERIA_KEY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#STORED_RESULTS_KEY">STORED_RESULTS_KEY</a></span></code>
<div class="block">the key under which StoredResults are kept in session</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.velocity.tools.view.PagerTool">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.velocity.tools.view.<a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></h3>
<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#DEFAULT_INDEX_KEY">DEFAULT_INDEX_KEY</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#DEFAULT_ITEMS_PER_PAGE">DEFAULT_ITEMS_PER_PAGE</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#DEFAULT_ITEMS_PER_PAGE_KEY">DEFAULT_ITEMS_PER_PAGE_KEY</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#DEFAULT_NEW_ITEMS_KEY">DEFAULT_NEW_ITEMS_KEY</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#DEFAULT_SLIP_SIZE">DEFAULT_SLIP_SIZE</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#DEFAULT_SLIP_SIZE_KEY">DEFAULT_SLIP_SIZE_KEY</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#session">session</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#STORED_ITEMS_KEY">STORED_ITEMS_KEY</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.velocity.tools.generic.SafeConfig">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.velocity.tools.generic.<a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">SafeConfig</a></h3>
<code><a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#LOCK_CONFIG_KEY">LOCK_CONFIG_KEY</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#log">log</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#LOGGER_NAME_KEY">LOGGER_NAME_KEY</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#SAFE_MODE_KEY">SAFE_MODE_KEY</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#USE_CLASS_LOGGER_KEY">USE_CLASS_LOGGER_KEY</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#AbstractSearchTool--">AbstractSearchTool</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected abstract <a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#executeQuery-java.lang.Object-">executeQuery</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;criteria)</code>
<div class="block">Executes a query for the specified criteria.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#getCriteria--">getCriteria</a></span>()</code>
<div class="block">Return the criteria object for this request.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#getCriteriaKey--">getCriteriaKey</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#getItems--">getItems</a></span>()</code>
<div class="block">Gets the results for the given criteria either in memory
or by performing a new query for them.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#getStoredItems--">getStoredItems</a></span>()</code>
<div class="block">Retrieves stored search items (if any) from the user's
session attributes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view">AbstractSearchTool.StoredResults</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#getStoredResults--">getStoredResults</a></span>()</code>
<div class="block">Retrieves stored search results (if any) from the user's
session attributes.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#reset--">reset</a></span>()</code>
<div class="block">Sets the criteria and results to null, page index to zero, and
items per page to the default.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#setCriteria-java.lang.Object-">setCriteria</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;criteria)</code>
<div class="block">Sets the criteria for this search.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#setCriteriaKey-java.lang.String-">setCriteriaKey</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#setStoredItems-java.util.List-">setStoredItems</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;items)</code>
<div class="block">Stores current search items in the user's session attributes
(if one currently exists) in order to do efficient result pagination.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#setStoredResults-org.apache.velocity.tools.view.AbstractSearchTool.StoredResults-">setStoredResults</a></span>(<a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view">AbstractSearchTool.StoredResults</a>&nbsp;results)</code>
<div class="block">Stores current search results in the user's session attributes
(if one currently exists) in order to do efficient result pagination.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.html#setup-javax.servlet.http.HttpServletRequest-">setup</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request)</code>
<div class="block">Sets the criteria *if* it is set in the request parameters.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.velocity.tools.view.PagerTool">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.velocity.tools.view.<a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></h3>
<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getCreateSession--">getCreateSession</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getFirstIndex--">getFirstIndex</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getIndex--">getIndex</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getIndexKey--">getIndexKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getItemsPerPage--">getItemsPerPage</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getItemsPerPageKey--">getItemsPerPageKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getLastIndex--">getLastIndex</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getNewItemsKey--">getNewItemsKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getNextIndex--">getNextIndex</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getPage--">getPage</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getPageDescription--">getPageDescription</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getPageNumber--">getPageNumber</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getPageNumber-int-">getPageNumber</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getPagesAvailable--">getPagesAvailable</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getPrevIndex--">getPrevIndex</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getSlip--">getSlip</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getSlipSize--">getSlipSize</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getSlipSizeKey--">getSlipSizeKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getTotal--">getTotal</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#hasItems--">hasItems</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setCreateSession-boolean-">setCreateSession</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setIndex-int-">setIndex</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setIndexKey-java.lang.String-">setIndexKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setItems-java.util.List-">setItems</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setItemsPerPage-int-">setItemsPerPage</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setItemsPerPageKey-java.lang.String-">setItemsPerPageKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setNewItemsKey-java.lang.String-">setNewItemsKey</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setRequest-javax.servlet.http.HttpServletRequest-">setRequest</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setSlipSize-int-">setSlipSize</a>, <a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setSlipSizeKey-java.lang.String-">setSlipSizeKey</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.velocity.tools.generic.SafeConfig">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.velocity.tools.generic.<a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">SafeConfig</a></h3>
<code><a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#configure-java.util.Map-">configure</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#configure-org.apache.velocity.tools.generic.ValueParser-">configure</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#getLog--">getLog</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#initLogger-org.apache.velocity.tools.generic.ValueParser-">initLogger</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#isConfigLocked--">isConfigLocked</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#isSafeMode--">isSafeMode</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#setLockConfig-boolean-">setLockConfig</a>, <a href="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#setSafeMode-boolean-">setSafeMode</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_CRITERIA_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CRITERIA_KEY</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_CRITERIA_KEY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.velocity.tools.view.AbstractSearchTool.DEFAULT_CRITERIA_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="STORED_RESULTS_KEY">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STORED_RESULTS_KEY</h4>
<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> STORED_RESULTS_KEY</pre>
<div class="block">the key under which StoredResults are kept in session</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractSearchTool--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractSearchTool</h4>
<pre>public&nbsp;AbstractSearchTool()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setup-javax.servlet.http.HttpServletRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setup</h4>
<pre>public&nbsp;void&nbsp;setup(javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
<div class="block">Sets the criteria *if* it is set in the request parameters.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setup-javax.servlet.http.HttpServletRequest-">setup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the current HttpServletRequest</dd>
</dl>
</li>
</ul>
<a name="setCriteriaKey-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCriteriaKey</h4>
<pre>public&nbsp;void&nbsp;setCriteriaKey(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
</li>
</ul>
<a name="getCriteriaKey--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCriteriaKey</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCriteriaKey()</pre>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">Sets the criteria and results to null, page index to zero, and
items per page to the default.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></code></dd>
</dl>
</li>
</ul>
<a name="setCriteria-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCriteria</h4>
<pre>public&nbsp;void&nbsp;setCriteria(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;criteria)</pre>
<div class="block">Sets the criteria for this search.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>criteria</code> - - the criteria used for this search</dd>
</dl>
</li>
</ul>
<a name="getCriteria--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCriteria</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getCriteria()</pre>
<div class="block">Return the criteria object for this request.
(for a simple search mechanism, this will typically be
just a java.lang.String)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>criteria object</dd>
</dl>
</li>
</ul>
<a name="getItems--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getItems</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;getItems()</pre>
<div class="block">Gets the results for the given criteria either in memory
or by performing a new query for them. If the criteria
is null, an empty list will be returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getItems--">getItems</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a> of all items for the criteria</dd>
</dl>
</li>
</ul>
<a name="getStoredItems--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStoredItems</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;getStoredItems()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getStoredItems--">PagerTool</a></code></span></div>
<div class="block">Retrieves stored search items (if any) from the user's
session attributes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#getStoredItems--">getStoredItems</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a> retrieved from memory</dd>
</dl>
</li>
</ul>
<a name="setStoredItems-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStoredItems</h4>
<pre>protected&nbsp;void&nbsp;setStoredItems(<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;items)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setStoredItems-java.util.List-">PagerTool</a></code></span></div>
<div class="block">Stores current search items in the user's session attributes
(if one currently exists) in order to do efficient result pagination.
<p>Override this to store search items somewhere besides the
HttpSession or to prevent storage of items across requests. In
the former situation, you must also override getStoredItems().</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html#setStoredItems-java.util.List-">setStoredItems</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/velocity/tools/view/PagerTool.html" title="class in org.apache.velocity.tools.view">PagerTool</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>items</code> - the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a> to be stored</dd>
</dl>
</li>
</ul>
<a name="executeQuery-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeQuery</h4>
<pre>protected abstract&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;executeQuery(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;criteria)</pre>
<div class="block">Executes a query for the specified criteria.
<p>This method must be implemented! A simple
implementation might be something like:
<pre>
protected List executeQuery(Object crit)
{
return MyDbUtils.getFooBarsMatching((String)crit);
}
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a> of results for this query</dd>
</dl>
</li>
</ul>
<a name="getStoredResults--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStoredResults</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view">AbstractSearchTool.StoredResults</a>&nbsp;getStoredResults()</pre>
<div class="block">Retrieves stored search results (if any) from the user's
session attributes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view"><code>AbstractSearchTool.StoredResults</code></a> retrieved from memory</dd>
</dl>
</li>
</ul>
<a name="setStoredResults-org.apache.velocity.tools.view.AbstractSearchTool.StoredResults-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setStoredResults</h4>
<pre>protected&nbsp;void&nbsp;setStoredResults(<a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view">AbstractSearchTool.StoredResults</a>&nbsp;results)</pre>
<div class="block">Stores current search results in the user's session attributes
(if one currently exists) in order to do efficient result pagination.
<p>Override this to store search results somewhere besides the
HttpSession or to prevent storage of results across requests. In
the former situation, you must also override getStoredResults().</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>results</code> - the <a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view"><code>AbstractSearchTool.StoredResults</code></a> to be stored</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractSearchTool.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/velocity/tools/view/AbstractSearchTool.StoredResults.html" title="class in org.apache.velocity.tools.view"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/velocity/tools/view/AbstractSearchTool.html" target="_top">Frames</a></li>
<li><a href="AbstractSearchTool.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2002&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>