blob: 4baf6ebf48c93ddac0b411dd2b4af699997847f9 [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>
<title>Fallback</title>
<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="Fallback";
}
}
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/eclipse/microprofile/faulttolerance/ExecutionContext.html" title="interface in org.eclipse.microprofile.faulttolerance"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/microprofile/faulttolerance/Fallback.DEFAULT.html" title="class in org.eclipse.microprofile.faulttolerance"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/microprofile/faulttolerance/Fallback.html" target="_top">Frames</a></li>
<li><a href="Fallback.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</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.eclipse.microprofile.faulttolerance</div>
<h2 title="Annotation Type Fallback" class="title">Annotation Type Fallback</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
@Inherited
<a href="../../../../javax/interceptor/InterceptorBinding.html" title="annotation in javax.interceptor">@InterceptorBinding</a>
public @interface <span class="memberNameLabel">Fallback</span></pre>
<div class="block">The fallback annotation to define the fallback handler class so that
a failure can be handled properly. Below is the criteria:
<ol>
<li>If value is specified, use <a href="../../../../org/eclipse/microprofile/faulttolerance/FallbackHandler.html#handle-org.eclipse.microprofile.faulttolerance.ExecutionContext-"><code>FallbackHandler.handle(ExecutionContext)</code></a> on the specified handler to execute the fallback.</li>
<li>If fallbackMethod is specified, invoke the method specified by the fallbackMethod on the same class.</li>
<li>If both are specified, the <a href="../../../../org/eclipse/microprofile/faulttolerance/exceptions/FaultToleranceDefinitionException.html" title="class in org.eclipse.microprofile.faulttolerance.exceptions"><code>FaultToleranceDefinitionException</code></a> must be thrown.</li>
</ol></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/microprofile/faulttolerance/Fallback.html#fallbackMethod--">fallbackMethod</a></span></code>
<div class="block">Specify the method name to be fallbacked to.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends <a href="../../../../org/eclipse/microprofile/faulttolerance/FallbackHandler.html" title="interface in org.eclipse.microprofile.faulttolerance">FallbackHandler</a>&lt;?&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/microprofile/faulttolerance/Fallback.html#value--">value</a></span></code>
<div class="block">Specify the fallback class to be used.</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="blockList">
<li class="blockList">
<h4>value</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;? extends <a href="../../../../org/eclipse/microprofile/faulttolerance/FallbackHandler.html" title="interface in org.eclipse.microprofile.faulttolerance">FallbackHandler</a>&lt;?&gt;&gt;&nbsp;value</pre>
<div class="block">Specify the fallback class to be used. An new instance of the fallback class
is returned. The instance is unmanaged. The type parameter of the fallback class must be assignable to the
return type of the annotated method.
Otherwise, <a href="../../../../org/eclipse/microprofile/faulttolerance/exceptions/FaultToleranceDefinitionException.html" title="class in org.eclipse.microprofile.faulttolerance.exceptions"><code>FaultToleranceDefinitionException</code></a> occurs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the fallback class</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>org.eclipse.microprofile.faulttolerance.Fallback.DEFAULT.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fallbackMethod--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>fallbackMethod</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;fallbackMethod</pre>
<div class="block">Specify the method name to be fallbacked to. This method belongs
to the same class as the method to fallback.
The method must have the exactly same arguments as the method being annotated.
The method return type must be assignable to the return type of the method the fallback is for.
Otherwise, <a href="../../../../org/eclipse/microprofile/faulttolerance/exceptions/FaultToleranceDefinitionException.html" title="class in org.eclipse.microprofile.faulttolerance.exceptions"><code>FaultToleranceDefinitionException</code></a> must be thrown.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local method to fallback to</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</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/eclipse/microprofile/faulttolerance/ExecutionContext.html" title="interface in org.eclipse.microprofile.faulttolerance"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/microprofile/faulttolerance/Fallback.DEFAULT.html" title="class in org.eclipse.microprofile.faulttolerance"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/microprofile/faulttolerance/Fallback.html" target="_top">Frames</a></li>
<li><a href="Fallback.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>