http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/HookEvent.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/HookEvent.html b/content/site/apidocs/org/apache/juneau/rest/annotation/HookEvent.html new file mode 100644 index 0000000..fa47233 --- /dev/null +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/HookEvent.html @@ -0,0 +1,783 @@ +<!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 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>HookEvent (Apache Juneau (incubating) 6.3.2-incubating-SNAPSHOT)</title> +<link rel="stylesheet" type="text/css" href="../../../../../javadoc.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="HookEvent (Apache Juneau (incubating) 6.3.2-incubating-SNAPSHOT)"; + } + } + catch(err) { + } +//--> +var methods = {"i0":9,"i1":9}; +var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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><a href="../../../../../org/apache/juneau/rest/annotation/Header.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/juneau/rest/annotation/HookEvent.html" target="_top">Frames</a></li> +<li><a href="HookEvent.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li><a href="#enum.constant.summary">Enum Constants</a> | </li> +<li>Field | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#enum.constant.detail">Enum Constants</a> | </li> +<li>Field | </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.juneau.rest.annotation</div> +<h2 title="Enum HookEvent" class="title">Enum HookEvent</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://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="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a><<a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a>></li> +<li> +<ul class="inheritance"> +<li>org.apache.juneau.rest.annotation.HookEvent</li> +</ul> +</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>All Implemented Interfaces:</dt> +<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><<a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a>></dd> +</dl> +<hr> +<br> +<pre>public enum <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.34">HookEvent</a> +extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a><<a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a>></pre> +<div class="block">Identifies servlet and REST call lifecycle events which cause <a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestHook</code></a>-annotated Java methods + to be called.</div> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- =========== ENUM CONSTANT SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="enum.constant.summary"> +<!-- --> +</a> +<h3>Enum Constant Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation"> +<caption><span>Enum Constants</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colOne" scope="col">Enum Constant and Description</th> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#DESTROY">DESTROY</a></span></code> +<div class="block">Identifies a method that gets called during servlet destroy.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#END_CALL">END_CALL</a></span></code> +<div class="block">Identifies a method that gets called right before we exit the servlet service method.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#INIT">INIT</a></span></code> +<div class="block">Identifies a method that gets called during servlet initialization.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_CALL">POST_CALL</a></span></code> +<div class="block">Identifies a method that gets called immediately after the <ja>@RestMethod</ja> annotated method gets called.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT">POST_INIT</a></span></code> +<div class="block">Identifies a method that gets called immediately after servlet initialization.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT_CHILD_FIRST">POST_INIT_CHILD_FIRST</a></span></code> +<div class="block">Identical to <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT"><code>POST_INIT</code></a> except the order of execution is child-resources first.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#PRE_CALL">PRE_CALL</a></span></code> +<div class="block">Identifies a method that gets called immediately before the <ja>@RestMethod</ja> annotated method gets called.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#START_CALL">START_CALL</a></span></code> +<div class="block">Identifies a method that should be called immediately after the <code>HttpServlet.service(HttpServletRequest, HttpServletResponse)</code> + method is called.</div> +</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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>static <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code> +<div class="block">Returns the enum constant of this type with the specified name.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code>static <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a>[]</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#values--">values</a></span>()</code> +<div class="block">Returns an array containing the constants of this enum type, in +the order they are declared.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3> +<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/ api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</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 java.lang.<a href="http://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="http://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="http://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="http://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="http://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="http://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="http://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"> +<!-- ============ ENUM CONSTANT DETAIL =========== --> +<ul class="blockList"> +<li class="blockList"><a name="enum.constant.detail"> +<!-- --> +</a> +<h3>Enum Constant Detail</h3> +<a name="START_CALL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>START_CALL</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.80">START_CALL</a></pre> +<div class="block">Identifies a method that should be called immediately after the <code>HttpServlet.service(HttpServletRequest, HttpServletResponse)</code> + method is called. + + <p> + Note that you only have access to the raw request and response objects at this point. + + <p> + The list of valid parameter types are as follows: + <ul> + <li>Servlet request/response objects: + <ul> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletRequest</code></a> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletResponse</code></a> + </ul> + </ul> + + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> MyResource <jk>extends</jk> RestServletDefault { + + <jc>// Add a request attribute to all incoming requests.</jc> + <ja>@RestHook</ja>(<jsf>START_CALL</jsf>) + <jk>public void</jk> onStartCall(HttpServletRequest req) { + req.setAttribute(<js>"foobar"</js>, <jk>new</jk> FooBar()); + } + } + </p> + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple START_CALL methods can be defined on a class. + <br>START_CALL methods on parent classes are invoked before START_CALL methods on child classes. + <br>The order of START_CALL method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception. + <br><a href="../../../../../org/apache/juneau/rest/RestException.html" title="class in org.apache.juneau.rest"><code>RestExceptions</code></a> can be thrown to cause a particular HTTP error status code. + <br>All other exceptions cause an HTTP 500 error status code. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + </ul></div> +</li> +</ul> +<a name="PRE_CALL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>PRE_CALL</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.191">PRE_CALL</a></pre> +<div class="block">Identifies a method that gets called immediately before the <ja>@RestMethod</ja> annotated method gets called. + + <p> + At this point, the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object has been fully initialized, and all <a href="../../../../../org/apache/juneau/rest/RestGuard.html" title="class in org.apache.juneau.rest"><code>RestGuard</code></a> and + <a href="../../../../../org/apache/juneau/rest/RestMatcher.html" title="class in org.apache.juneau.rest"><code>RestMatcher</code></a> objects have been called. + + <p> + The list of valid parameter types are as follows: + <ul> + <li>Servlet request/response objects: + <ul> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletRequest</code></a> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletResponse</code></a> + </ul> + <li>Extended request/response objects: + <ul> + <li><a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest"><code>RestResponse</code></a> + </ul> + <li>Header objects: + <ul> + <li><a href="../../../../../org/apache/juneau/http/Accept.html" title="class in org.apache.juneau.http"><code>Accept</code></a> + <li><a href="../../../../../org/apache/juneau/http/AcceptCharset.html" title="class in org.apache.juneau.http"><code>AcceptCharset</code></a> + <li><a href="../../../../../org/apache/juneau/http/AcceptEncoding.html" title="class in org.apache.juneau.http"><code>AcceptEncoding</code></a> + <li><a href="../../../../../org/apache/juneau/http/AcceptLanguage.html" title="class in org.apache.juneau.http"><code>AcceptLanguage</code></a> + <li><a href="../../../../../org/apache/juneau/http/Authorization.html" title="class in org.apache.juneau.http"><code>Authorization</code></a> + <li><a href="../../../../../org/apache/juneau/http/CacheControl.html" title="class in org.apache.juneau.http"><code>CacheControl</code></a> + <li><a href="../../../../../org/apache/juneau/http/Connection.html" title="class in org.apache.juneau.http"><code>Connection</code></a> + <li><a href="../../../../../org/apache/juneau/http/ContentLength.html" title="class in org.apache.juneau.http"><code>ContentLength</code></a> + <li><a href="../../../../../org/apache/juneau/http/ContentType.html" title="class in org.apache.juneau.http"><code>ContentType</code></a> + <li><a href="../../../../../org/apache/juneau/http/Date.html" title="class in org.apache.juneau.http"><code>Date</code></a> + <li><a href="../../../../../org/apache/juneau/http/Expect.html" title="class in org.apache.juneau.http"><code>Expect</code></a> + <li><a href="../../../../../org/apache/juneau/http/From.html" title="class in org.apache.juneau.http"><code>From</code></a> + <li><a href="../../../../../org/apache/juneau/http/Host.html" title="class in org.apache.juneau.http"><code>Host</code></a> + <li><a href="../../../../../org/apache/juneau/http/IfMatch.html" title="class in org.apache.juneau.http"><code>IfMatch</code></a> + <li><a href="../../../../../org/apache/juneau/http/IfModifiedSince.html" title="class in org.apache.juneau.http"><code>IfModifiedSince</code></a> + <li><a href="../../../../../org/apache/juneau/http/IfNoneMatch.html" title="class in org.apache.juneau.http"><code>IfNoneMatch</code></a> + <li><a href="../../../../../org/apache/juneau/http/IfRange.html" title="class in org.apache.juneau.http"><code>IfRange</code></a> + <li><a href="../../../../../org/apache/juneau/http/IfUnmodifiedSince.html" title="class in org.apache.juneau.http"><code>IfUnmodifiedSince</code></a> + <li><a href="../../../../../org/apache/juneau/http/MaxForwards.html" title="class in org.apache.juneau.http"><code>MaxForwards</code></a> + <li><a href="../../../../../org/apache/juneau/http/Pragma.html" title="class in org.apache.juneau.http"><code>Pragma</code></a> + <li><a href="../../../../../org/apache/juneau/http/ProxyAuthorization.html" title="class in org.apache.juneau.http"><code>ProxyAuthorization</code></a> + <li><a href="../../../../../org/apache/juneau/http/Range.html" title="class in org.apache.juneau.http"><code>Range</code></a> + <li><a href="../../../../../org/apache/juneau/http/Referer.html" title="class in org.apache.juneau.http"><code>Referer</code></a> + <li><a href="../../../../../org/apache/juneau/http/TE.html" title="class in org.apache.juneau.http"><code>TE</code></a> + <li><a href="../../../../../org/apache/juneau/http/UserAgent.html" title="class in org.apache.juneau.http"><code>UserAgent</code></a> + <li><a href="../../../../../org/apache/juneau/http/Upgrade.html" title="class in org.apache.juneau.http"><code>Upgrade</code></a> + <li><a href="../../../../../org/apache/juneau/http/Via.html" title="class in org.apache.juneau.http"><code>Via</code></a> + <li><a href="../../../../../org/apache/juneau/http/Warning.html" title="class in org.apache.juneau.http"><code>Warning</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util"><code>TimeZone</code></a> + </ul> + <li>Other objects: + <ul> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><code>ResourceBundle</code></a> + <li><a href="../../../../../org/apache/juneau/utils/MessageBundle.html" title="class in org.apache.juneau.utils"><code>MessageBundle</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletInputStream.html?is-external=true" title="class or interface in javax.servlet"><code>ServletInputStream</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletOutputStream.html?is-external=true" title="class or interface in javax.servlet"><code>ServletOutputStream</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RequestHeaders.html" title="class in org.apache.juneau.rest"><code>RequestHeaders</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest"><code>RequestQuery</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RequestFormData.html" title="class in org.apache.juneau.rest"><code>RequestFormData</code></a> + <li><a href="../../../../../org/apache/juneau/http/HttpMethod.html" title="enum in org.apache.juneau.http"><code>HttpMethod</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging"><code>Logger</code></a> + <li><a href="../../../../../org/apache/juneau/internal/JuneauLogger.html" title="class in org.apache.juneau.internal"><code>JuneauLogger</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a> + <li><a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser"><code>Parser</code></a> + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util"><code>Locale</code></a> + <li><a href="../../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger"><code>Swagger</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RequestPathMatch.html" title="class in org.apache.juneau.rest"><code>RequestPathMatch</code></a> + <li><a href="../../../../../org/apache/juneau/rest/RequestBody.html" title="class in org.apache.juneau.rest"><code>RequestBody</code></a> + <li><a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini"><code>ConfigFile</code></a> + <li><a href="../../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau"><code>UriContext</code></a> + <li><a href="../../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau"><code>UriResolver</code></a> + </ul> + </ul> + + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> MyResource <jk>extends</jk> RestServletDefault { + + <jc>// Log the incoming request.</jc> + <ja>@RestHook</ja>(<jsf>PRE_CALL</jsf>) + <jk>public void</jk> onPreCall(Accept accept, Logger logger) { + logger.fine(<js>"Accept {0} header found."</js>, accept); + } + } + </p> + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple PRE_CALL methods can be defined on a class. + <br>PRE_CALL methods on parent classes are invoked before PRE_CALL methods on child classes. + <br>The order of PRE_CALL method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception. + <br><a href="../../../../../org/apache/juneau/rest/RestException.html" title="class in org.apache.juneau.rest"><code>RestExceptions</code></a> can be thrown to cause a particular HTTP error status code. + <br>All other exceptions cause an HTTP 500 error status code. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + <li>It's advisable not to mess around with the HTTP body itself since you may end up consuming the body + before the actual REST method has a chance to use it. + </ul></div> +</li> +</ul> +<a name="POST_CALL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>POST_CALL</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.228">POST_CALL</a></pre> +<div class="block">Identifies a method that gets called immediately after the <ja>@RestMethod</ja> annotated method gets called. + + <p> + At this point, the output object returned by the method call has been set on the response, but + <a href="../../../../../org/apache/juneau/rest/RestConverter.html" title="interface in org.apache.juneau.rest"><code>RestConverters</code></a> have not yet been executed and the response has not yet been written. + + <p> + The list of valid parameter types are the same as <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#PRE_CALL"><code>PRE_CALL</code></a>. + + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> MyResource <jk>extends</jk> RestServletDefault { + + <jc>// Log the result of the request.</jc> + <ja>@RestHook</ja>(<jsf>POST_CALL</jsf>) + <jk>public void</jk> onPostCall(RestResponse res, Logger logger) { + logger.fine(<js>Output {0} was set on the response."</js>, res.getOutput()); + } + } + </p> + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple POST_CALL methods can be defined on a class. + <br>POST_CALL methods on parent classes are invoked before POST_CALL methods on child classes. + <br>The order of POST_CALL method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception, although at this point it is too late to set an HTTP error status code. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + </ul></div> +</li> +</ul> +<a name="END_CALL"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>END_CALL</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.283">END_CALL</a></pre> +<div class="block">Identifies a method that gets called right before we exit the servlet service method. + + <p> + At this point, the output has been written and flushed. + + <p> + The list of valid parameter types are as follows: + <ul> + <li>Servlet request/response objects: + <ul> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletRequest</code></a> + <li><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletResponse</code></a> + </ul> + </ul> + + <p> + The following attributes are set on the <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletRequest</code></a> object that can be useful for logging purposes: + <ul> + <li><js>"Exception"</js> - Any exceptions thrown during the request. + <li><js>"ExecTime"</js> - Execution time of the request. + </ul> + + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> MyResource <jk>extends</jk> RestServletDefault { + + <jc>// Log the time it took to execute the request.</jc> + <ja>@RestHook</ja>(<jsf>END_CALL</jsf>) + <jk>public void</jk> onEndCall(RestRequest req, Logger logger) { + Exception e = (Exception)req.getAttribute(<js>"Exception"</js>); + Long execTime = (Long)req.getAttribute(<js>"ExecTime"</js>); + <jk>if</jk> (e != <jk>null</jk>) + logger.warn(e, <js>"Request failed in {0}ms."</js>, execTime); + <jk>else</jk> + logger.fine(<js>"Request finished in {0}ms."</js>, execTime); + } + } + </p> + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple END_CALL methods can be defined on a class. + <br>END_CALL methods on parent classes are invoked before END_CALL methods on child classes. + <br>The order of END_CALL method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception, although at this point it is too late to set an HTTP error status code. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + </ul></div> +</li> +</ul> +<a name="INIT"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>INIT</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.328">INIT</a></pre> +<div class="block">Identifies a method that gets called during servlet initialization. + + <p> + This method is called from within the <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/Servlet.html?is-external=true#init-javax.servlet.ServletConfig-" title="class or interface in javax.servlet"><code>Servlet.init(ServletConfig)</code></a> method after the <a href="../../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest"><code>RestConfig</code></a> + object has been created and initialized with the annotations defined on the class, but before the + <a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a> object has been created. + + <p> + The only valid parameter type for this method is <a href="../../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest"><code>RestConfig</code></a> which can be used to configure the servlet. + + <p> + An example of this is the <code>PetStoreResource</code> class that uses an init method to perform initialization + of an internal data structure. + + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> PetStoreResource <jk>extends</jk> ResourceJena { + + <jc>// Our database.</jc> + <jk>private</jk> Map<Integer,Pet> <jf>petDB</jf>; + + <ja>@RestHook</ja>(<jsf>INIT</jsf>) + <jk>public void</jk> onInit(RestConfig config) <jk>throws</jk> Exception { + <jc>// Load our database from a local JSON file.</jc> + <jf>petDB</jf> = JsonParser.<jsf>DEFAULT</jsf>.parse(getClass().getResourceAsStream(<js>"PetStore.json"</js>), LinkedHashMap.<jk>class</jk>, Integer.<jk>class</jk>, Pet.<jk>class</jk>); + } + } + </p> + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple INIT methods can be defined on a class. + <br>INIT methods on parent classes are invoked before INIT methods on child classes. + <br>The order of INIT method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception causing initialization of the servlet to fail. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + </ul></div> +</li> +</ul> +<a name="POST_INIT"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>POST_INIT</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.353">POST_INIT</a></pre> +<div class="block">Identifies a method that gets called immediately after servlet initialization. + + <p> + This method is called from within the <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/Servlet.html?is-external=true#init-javax.servlet.ServletConfig-" title="class or interface in javax.servlet"><code>Servlet.init(ServletConfig)</code></a> method after the <a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a> + object has been created. + + <p> + The only valid parameter type for this method is <a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a> which can be used to retrieve information + about the servlet. + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple POST_INIT methods can be defined on a class. + <br>POST_INIT methods on parent classes are invoked before POST_INIT methods on child classes. + <br>The order of POST_INIT method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception causing initialization of the servlet to fail. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + </ul></div> +</li> +</ul> +<a name="POST_INIT_CHILD_FIRST"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>POST_INIT_CHILD_FIRST</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.378">POST_INIT_CHILD_FIRST</a></pre> +<div class="block">Identical to <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT"><code>POST_INIT</code></a> except the order of execution is child-resources first. + + <p> + Use this annotation if you need to perform any kind of initialization on child resources before the parent resource. + + <p> + This method is called from within the <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/Servlet.html?is-external=true#init-javax.servlet.ServletConfig-" title="class or interface in javax.servlet"><code>Servlet.init(ServletConfig)</code></a> method after the <a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a> + object has been created and after the <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT"><code>POST_INIT</code></a> methods have been called. + + <p> + The only valid parameter type for this method is <a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a> which can be used to retrieve information + about the servlet. + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple POST_INIT_CHILD_FIRST methods can be defined on a class. + <br>POST_INIT_CHILD_FIRST methods on parent classes are invoked before POST_INIT_CHILD_FIRST methods on child classes. + <br>The order of POST_INIT_CHILD_FIRST method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>The method can throw any exception causing initialization of the servlet to fail. + </ul></div> +</li> +</ul> +<a name="DESTROY"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>DESTROY</h4> +<pre>public static final <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.418">DESTROY</a></pre> +<div class="block">Identifies a method that gets called during servlet destroy. + + <p> + This method is called from within the <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/Servlet.html?is-external=true#destroy--" title="class or interface in javax.servlet"><code>Servlet.destroy()</code></a>. + + <p> + The only valid parameter type for this method is <a href="../../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a>, although typically no arguments will + be specified. + + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> PetStoreResource <jk>extends</jk> ResourceJena { + + <jc>// Our database.</jc> + <jk>private</jk> Map<Integer,Pet> <jf>petDB</jf>; + + <ja>@RestHook</ja>(<jsf>DESTROY</jsf>) + <jk>public void</jk> onDestroy() { + <jf>petDB</jf> = <jk>null</jk>; + } + } + </p> + + <h5 class='section'>Notes:</h5> + <ul class='spaced-list'> + <li>If the method returns any value, it is ignored. + <li>Multiple DESTROY methods can be defined on a class. + <br>DESTROY methods on child classes are invoked before DESTROY methods on parent classes. + <br>The order of DESTROY method invocations within a class is alphabetical, then by parameter count, then by parameter types. + <li>In general, destroy methods should not throw any exceptions, although if any are thrown, the stack trace will be + printed to <code>System.err</code>. + <li>Note that if you override a parent method, you probably need to call <code><jk>super</jk>.parentMethod(...)</code>. + <br>The method is still considered part of the parent class for ordering purposes even though it's + overridden by the child class. + </ul></div> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="values--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>values</h4> +<pre>public static <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a>[] <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.34">values</a>()</pre> +<div class="block">Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +<pre> +for (HookEvent c : HookEvent.values()) + System.out.println(c); +</pre></div> +<dl> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>an array containing the constants of this enum type, in the order they are declared</dd> +</dl> +</li> +</ul> +<a name="valueOf-java.lang.String-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>valueOf</h4> +<pre>public static <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/HookEvent.html#line.34">valueOf</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre> +<div class="block">Returns the enum constant of this type with the specified name. +The string must match <i>exactly</i> an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>name</code> - the name of the enum constant to be returned.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>the enum constant with the specified name</dd> +<dt><span class="throwsLabel">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</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="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><a href="../../../../../org/apache/juneau/rest/annotation/Header.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/juneau/rest/annotation/HookEvent.html" target="_top">Frames</a></li> +<li><a href="HookEvent.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Nested | </li> +<li><a href="#enum.constant.summary">Enum Constants</a> | </li> +<li>Field | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#enum.constant.detail">Enum Constants</a> | </li> +<li>Field | </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 © 2017 <a href="http://www.apache.org/">Apache</a>. All rights reserved.</small></p> +</body> +</html>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html b/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html index d2324b0..7780b9e 100644 --- a/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html @@ -42,7 +42,7 @@ </div> <div class="subNav"> <ul class="navList"> -<li><a href="../../../../../org/apache/juneau/rest/annotation/Header.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../org/apache/juneau/rest/annotation/Inherit.html" title="enum in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> @@ -817,7 +817,7 @@ </div> <div class="subNav"> <ul class="navList"> -<li><a href="../../../../../org/apache/juneau/rest/annotation/Header.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../org/apache/juneau/rest/annotation/Inherit.html" title="enum in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/Response.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/Response.html b/content/site/apidocs/org/apache/juneau/rest/annotation/Response.html index 3574059..a64ddf7 100644 --- a/content/site/apidocs/org/apache/juneau/rest/annotation/Response.html +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/Response.html @@ -43,7 +43,7 @@ <div class="subNav"> <ul class="navList"> <li><a href="../../../../../org/apache/juneau/rest/annotation/ResourceSwagger.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> -<li><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?org/apache/juneau/rest/annotation/Response.html" target="_top">Frames</a></li> @@ -312,7 +312,7 @@ public @interface <a href="../../../../../src-html/org/apache/juneau/rest/annota <div class="subNav"> <ul class="navList"> <li><a href="../../../../../org/apache/juneau/rest/annotation/ResourceSwagger.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> -<li><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?org/apache/juneau/rest/annotation/Response.html" target="_top">Frames</a></li> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/RestHook.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/RestHook.html b/content/site/apidocs/org/apache/juneau/rest/annotation/RestHook.html new file mode 100644 index 0000000..27d277f --- /dev/null +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/RestHook.html @@ -0,0 +1,271 @@ +<!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 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>RestHook (Apache Juneau (incubating) 6.3.2-incubating-SNAPSHOT)</title> +<link rel="stylesheet" type="text/css" href="../../../../../javadoc.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="RestHook (Apache Juneau (incubating) 6.3.2-incubating-SNAPSHOT)"; + } + } + catch(err) { + } +//--> +</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="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><a href="../../../../../org/apache/juneau/rest/annotation/Response.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/juneau/rest/annotation/RestHook.html" target="_top">Frames</a></li> +<li><a href="RestHook.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Field | </li> +<li><a href="#annotation.type.required.element.summary">Required</a> | </li> +<li>Optional</li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#annotation.type.element.detail">Element</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.juneau.rest.annotation</div> +<h2 title="Annotation Type RestHook" class="title">Annotation Type RestHook</h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Documented.html?is-external=true" title="class or interface in java.lang.annotation">@Documented</a> + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>) + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>) + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html?is-external=true" title="class or interface in java.lang.annotation">@Inherited</a> +public @interface <a href="../../../../../src-html/org/apache/juneau/rest/annotation/RestHook.html#line.80">RestHook</a></pre> +<div class="block">Identifies Java methods on a resource/servlet class that get invoked during particular lifecycle events of + the servlet or REST call. + + <p> + For example, if you want to add an initialization method to your resource: + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> MyResource { + + <jc>// Our database.</jc> + <jk>private</jk> Map<Integer,Object> <jf>myDatabase</jf>; + + <ja>@RestHook</ja>(<jsf>INIT</jsf>) + <jk>public void</jk> initMyDatabase(RestConfig config) <jk>throws</jk> Exception { + <jf>myDatabase</jf> = <jk>new</jk> LinkedHashMap<>(); + } + } + </p> + + <p> + Or if you want to intercept REST calls: + <p class='bcode'> + <ja>@RestResource</ja>(...) + <jk>public class</jk> MyResource { + + <jc>// Add a request attribute to all incoming requests.</jc> + <ja>@RestHook</ja>(<jsf>PRE_CALL</jsf>) + <jk>public void</jk> onPreCall(RestRequest req) { + req.setAttribute(<js>"foo"</js>, <js>"bar"</js>); + } + } + </p> + + <p> + The hook events can be broken down into two categories: + <ul class='spaced-list'> + <li>Resource lifecycle events: + <ul> + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#INIT"><code>INIT</code></a> - Right before initialization. + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT"><code>POST_INIT</code></a> - Right after initialization. + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_INIT_CHILD_FIRST"><code>POST_INIT_CHILD_FIRST</code></a> - Right after initialization, but run child methods first. + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#DESTROY"><code>DESTROY</code></a> - Right before servlet destroy. + </ul> + <li>REST call lifecycle events: + <ul> + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#START_CALL"><code>START_CALL</code></a> - At the beginning of a REST call. + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#PRE_CALL"><code>PRE_CALL</code></a> - Right before the <ja>@RestMethod</ja> method is invoked. + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#POST_CALL"><code>POST_CALL</code></a> - Right after the <ja>@RestMethod</ja> method is invoked. + <li><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html#END_CALL"><code>END_CALL</code></a> - At the end of the REST call after the response has been flushed. + </ul> + </ul> + + <p> + See the <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation"><code>HookEvent</code></a> class for information about individual event types.</div> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="annotation.type.required.element.summary"> +<!-- --> +</a> +<h3>Required Element Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Required Element Summary table, listing required elements, and an explanation"> +<caption><span>Required Elements</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Required Element and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html#value--">value</a></span></code> +<div class="block">The lifecycle event.</div> +</td> +</tr> +</table> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== --> +<ul class="blockList"> +<li class="blockList"><a name="annotation.type.element.detail"> +<!-- --> +</a> +<h3>Element Detail</h3> +<a name="value--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>value</h4> +<pre>public abstract <a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a> <a href="../../../../../src-html/org/apache/juneau/rest/annotation/RestHook.html#line.85">value</a></pre> +<div class="block">The lifecycle event.</div> +</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="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><a href="../../../../../org/apache/juneau/rest/annotation/Response.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/juneau/rest/annotation/RestHook.html" target="_top">Frames</a></li> +<li><a href="RestHook.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li>Field | </li> +<li><a href="#annotation.type.required.element.summary">Required</a> | </li> +<li>Optional</li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#annotation.type.element.detail">Element</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2017 <a href="http://www.apache.org/">Apache</a>. All rights reserved.</small></p> +</body> +</html> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html b/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html index 3560208..ab1860b 100644 --- a/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html @@ -42,7 +42,7 @@ </div> <div class="subNav"> <ul class="navList"> -<li><a href="../../../../../org/apache/juneau/rest/annotation/Response.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> @@ -1223,7 +1223,7 @@ public @interface <a href="../../../../../src-html/org/apache/juneau/rest/annota </div> <div class="subNav"> <ul class="navList"> -<li><a href="../../../../../org/apache/juneau/rest/annotation/Response.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/package-frame.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/package-frame.html b/content/site/apidocs/org/apache/juneau/rest/annotation/package-frame.html index 472d1ba..040b5fa 100644 --- a/content/site/apidocs/org/apache/juneau/rest/annotation/package-frame.html +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/package-frame.html @@ -13,6 +13,7 @@ <div class="indexContainer"> <h2 title="Enums">Enums</h2> <ul title="Enums"> +<li><a href="HookEvent.html" title="enum in org.apache.juneau.rest.annotation" target="classFrame">HookEvent</a></li> <li><a href="Inherit.html" title="enum in org.apache.juneau.rest.annotation" target="classFrame">Inherit</a></li> </ul> <h2 title="Annotation Types">Annotation Types</h2> @@ -34,6 +35,7 @@ <li><a href="Query.html" title="annotation in org.apache.juneau.rest.annotation" target="classFrame">Query</a></li> <li><a href="ResourceSwagger.html" title="annotation in org.apache.juneau.rest.annotation" target="classFrame">ResourceSwagger</a></li> <li><a href="Response.html" title="annotation in org.apache.juneau.rest.annotation" target="classFrame">Response</a></li> +<li><a href="RestHook.html" title="annotation in org.apache.juneau.rest.annotation" target="classFrame">RestHook</a></li> <li><a href="RestMethod.html" title="annotation in org.apache.juneau.rest.annotation" target="classFrame">RestMethod</a></li> <li><a href="RestResource.html" title="annotation in org.apache.juneau.rest.annotation" target="classFrame">RestResource</a></li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/package-summary.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/package-summary.html b/content/site/apidocs/org/apache/juneau/rest/annotation/package-summary.html index ee2a78c..0ee879a 100644 --- a/content/site/apidocs/org/apache/juneau/rest/annotation/package-summary.html +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/package-summary.html @@ -86,6 +86,13 @@ </tr> <tbody> <tr class="altColor"> +<td class="colFirst"><a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation">HookEvent</a></td> +<td class="colLast"> +<div class="block">Identifies servlet and REST call lifecycle events which cause <a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestHook</code></a>-annotated Java methods + to be called.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><a href="../../../../../org/apache/juneau/rest/annotation/Inherit.html" title="enum in org.apache.juneau.rest.annotation">Inherit</a></td> <td class="colLast"> <div class="block">Inheritance values for the <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#serializersInherit--"><code>RestMethod.serializersInherit()</code></a> and <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#parsersInherit--"><code>RestMethod.parsersInherit()</code></a> @@ -218,12 +225,19 @@ </td> </tr> <tr class="rowColor"> +<td class="colFirst"><a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation">RestHook</a></td> +<td class="colLast"> +<div class="block">Identifies Java methods on a resource/servlet class that get invoked during particular lifecycle events of + the servlet or REST call.</div> +</td> +</tr> +<tr class="altColor"> <td class="colFirst"><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation">RestMethod</a></td> <td class="colLast"> <div class="block">Identifies a REST Java method on a <a href="../../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a> implementation class.</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">RestResource</a></td> <td class="colLast"> <div class="block">Used to denote that a class is a REST resource and to associate metadata on it.</div> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/84931d4d/content/site/apidocs/org/apache/juneau/rest/annotation/package-tree.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/package-tree.html b/content/site/apidocs/org/apache/juneau/rest/annotation/package-tree.html index bb129dd..edc2875 100644 --- a/content/site/apidocs/org/apache/juneau/rest/annotation/package-tree.html +++ b/content/site/apidocs/org/apache/juneau/rest/annotation/package-tree.html @@ -80,6 +80,7 @@ <ul> <li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">RestResource</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li> <li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">RestMethod</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li> +<li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">RestHook</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li> <li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/Response.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Response</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li> <li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/ResourceSwagger.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">ResourceSwagger</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li> <li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/Query.html" title="annotation in org.apache.juneau.rest.annotation"><span class="typeNameLink">Query</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li> @@ -105,6 +106,7 @@ <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>) <ul> <li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/Inherit.html" title="enum in org.apache.juneau.rest.annotation"><span class="typeNameLink">Inherit</span></a></li> +<li type="circle">org.apache.juneau.rest.annotation.<a href="../../../../../org/apache/juneau/rest/annotation/HookEvent.html" title="enum in org.apache.juneau.rest.annotation"><span class="typeNameLink">HookEvent</span></a></li> </ul> </li> </ul>
