http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-summary.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-summary.html b/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-summary.html new file mode 100644 index 0000000..6e18ac7 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-summary.html @@ -0,0 +1,166 @@ +<!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_92) on Thu Jul 13 14:06:25 PDT 2017 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>org.apache.yetus.audience.tools (Apache Yetus - Audience Annotations Component 0.5.0 API)</title> +<meta name="date" content="2017-07-13"> +<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="org.apache.yetus.audience.tools (Apache Yetus - Audience Annotations Component 0.5.0 API)"; + } + } + 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 class="navBarCell1Rev">Package</li> +<li>Class</li> +<li><a href="package-use.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><a href="../../../../../org/apache/yetus/audience/package-summary.html">Prev Package</a></li> +<li>Next Package</li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/yetus/audience/tools/package-summary.html" target="_top">Frames</a></li> +<li><a href="package-summary.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> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<div class="header"> +<h1 title="Package" class="title">Package org.apache.yetus.audience.tools</h1> +</div> +<div class="contentContainer"> +<ul class="blockList"> +<li class="blockList"> +<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation"> +<caption><span>Class Summary</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Class</th> +<th class="colLast" scope="col">Description</th> +</tr> +<tbody> +<tr class="altColor"> +<td class="colFirst"><a href="../../../../../org/apache/yetus/audience/tools/ExcludePrivateAnnotationsJDiffDoclet.html" title="class in org.apache.yetus.audience.tools">ExcludePrivateAnnotationsJDiffDoclet</a></td> +<td class="colLast"> +<div class="block">A <a href="http://java.sun.com/javase/6/docs/jdk/api/javadoc/doclet/">Doclet</a> + for excluding elements that are annotated with + <a href="../../../../../org/apache/yetus/audience/InterfaceAudience.Private.html" title="annotation in org.apache.yetus.audience"><code>InterfaceAudience.Private</code></a> or + <a href="../../../../../org/apache/yetus/audience/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.yetus.audience"><code>InterfaceAudience.LimitedPrivate</code></a>.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><a href="../../../../../org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.html" title="class in org.apache.yetus.audience.tools">ExcludePrivateAnnotationsStandardDoclet</a></td> +<td class="colLast"> +<div class="block">A <a href="http://java.sun.com/javase/6/docs/jdk/api/javadoc/doclet/">Doclet</a> + for excluding elements that are annotated with + <a href="../../../../../org/apache/yetus/audience/InterfaceAudience.Private.html" title="annotation in org.apache.yetus.audience"><code>InterfaceAudience.Private</code></a> or + <a href="../../../../../org/apache/yetus/audience/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.yetus.audience"><code>InterfaceAudience.LimitedPrivate</code></a>.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><a href="../../../../../org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.html" title="class in org.apache.yetus.audience.tools">IncludePublicAnnotationsStandardDoclet</a></td> +<td class="colLast"> +<div class="block">A <a href="http://java.sun.com/javase/6/docs/jdk/api/javadoc/doclet/">Doclet</a> + that only includes class-level elements that are annotated with + <a href="../../../../../org/apache/yetus/audience/InterfaceAudience.Public.html" title="annotation in org.apache.yetus.audience"><code>InterfaceAudience.Public</code></a>.</div> +</td> +</tr> +</tbody> +</table> +</li> +</ul> +</div> +<!-- ======= 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 class="navBarCell1Rev">Package</li> +<li>Class</li> +<li><a href="package-use.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><a href="../../../../../org/apache/yetus/audience/package-summary.html">Prev Package</a></li> +<li>Next Package</li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/yetus/audience/tools/package-summary.html" target="_top">Frames</a></li> +<li><a href="package-summary.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> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2015–2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html>
http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-tree.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-tree.html b/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-tree.html new file mode 100644 index 0000000..45b1850 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-tree.html @@ -0,0 +1,141 @@ +<!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_92) on Thu Jul 13 14:06:25 PDT 2017 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>org.apache.yetus.audience.tools Class Hierarchy (Apache Yetus - Audience Annotations Component 0.5.0 API)</title> +<meta name="date" content="2017-07-13"> +<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="org.apache.yetus.audience.tools Class Hierarchy (Apache Yetus - Audience Annotations Component 0.5.0 API)"; + } + } + 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</li> +<li>Use</li> +<li class="navBarCell1Rev">Tree</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/yetus/audience/package-tree.html">Prev</a></li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/yetus/audience/tools/package-tree.html" target="_top">Frames</a></li> +<li><a href="package-tree.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> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<div class="header"> +<h1 class="title">Hierarchy For Package org.apache.yetus.audience.tools</h1> +<span class="packageHierarchyLabel">Package Hierarchies:</span> +<ul class="horizontal"> +<li><a href="../../../../../overview-tree.html">All Packages</a></li> +</ul> +</div> +<div class="contentContainer"> +<h2 title="Class Hierarchy">Class Hierarchy</h2> +<ul> +<li type="circle">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"><span class="typeNameLink">Object</span></a> +<ul> +<li type="circle">org.apache.yetus.audience.tools.<a href="../../../../../org/apache/yetus/audience/tools/ExcludePrivateAnnotationsJDiffDoclet.html" title="class in org.apache.yetus.audience.tools"><span class="typeNameLink">ExcludePrivateAnnotationsJDiffDoclet</span></a></li> +<li type="circle">org.apache.yetus.audience.tools.<a href="../../../../../org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.html" title="class in org.apache.yetus.audience.tools"><span class="typeNameLink">ExcludePrivateAnnotationsStandardDoclet</span></a></li> +<li type="circle">org.apache.yetus.audience.tools.<a href="../../../../../org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.html" title="class in org.apache.yetus.audience.tools"><span class="typeNameLink">IncludePublicAnnotationsStandardDoclet</span></a></li> +</ul> +</li> +</ul> +</div> +<!-- ======= 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</li> +<li>Use</li> +<li class="navBarCell1Rev">Tree</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/yetus/audience/package-tree.html">Prev</a></li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/yetus/audience/tools/package-tree.html" target="_top">Frames</a></li> +<li><a href="package-tree.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> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2015–2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html> http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-use.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-use.html b/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-use.html new file mode 100644 index 0000000..7d6cb51 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/org/apache/yetus/audience/tools/package-use.html @@ -0,0 +1,126 @@ +<!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_92) on Thu Jul 13 14:06:25 PDT 2017 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Uses of Package org.apache.yetus.audience.tools (Apache Yetus - Audience Annotations Component 0.5.0 API)</title> +<meta name="date" content="2017-07-13"> +<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="Uses of Package org.apache.yetus.audience.tools (Apache Yetus - Audience Annotations Component 0.5.0 API)"; + } + } + 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</li> +<li class="navBarCell1Rev">Use</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</li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/yetus/audience/tools/package-use.html" target="_top">Frames</a></li> +<li><a href="package-use.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> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<div class="header"> +<h1 title="Uses of Package org.apache.yetus.audience.tools" class="title">Uses of Package<br>org.apache.yetus.audience.tools</h1> +</div> +<div class="contentContainer">No usage of org.apache.yetus.audience.tools</div> +<!-- ======= 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</li> +<li class="navBarCell1Rev">Use</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</li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/yetus/audience/tools/package-use.html" target="_top">Frames</a></li> +<li><a href="package-use.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> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2015–2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html> http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/overview-frame.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/overview-frame.html b/documentation/0.5.0/audience-annotations-apidocs/overview-frame.html new file mode 100644 index 0000000..4d6e24f --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/overview-frame.html @@ -0,0 +1,23 @@ +<!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_92) on Thu Jul 13 14:06:25 PDT 2017 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Overview List (Apache Yetus - Audience Annotations Component 0.5.0 API)</title> +<meta name="date" content="2017-07-13"> +<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style"> +<script type="text/javascript" src="script.js"></script> +</head> +<body> +<div class="indexHeader"><span><a href="allclasses-frame.html" target="packageFrame">All Classes</a></span></div> +<div class="indexContainer"> +<h2 title="Packages">Packages</h2> +<ul title="Packages"> +<li><a href="org/apache/yetus/audience/package-frame.html" target="packageFrame">org.apache.yetus.audience</a></li> +<li><a href="org/apache/yetus/audience/tools/package-frame.html" target="packageFrame">org.apache.yetus.audience.tools</a></li> +</ul> +</div> +<p> </p> +</body> +</html> http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/overview-summary.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/overview-summary.html b/documentation/0.5.0/audience-annotations-apidocs/overview-summary.html new file mode 100644 index 0000000..bcdda9a --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/overview-summary.html @@ -0,0 +1,144 @@ +<!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_92) on Thu Jul 13 14:06:25 PDT 2017 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Overview (Apache Yetus - Audience Annotations Component 0.5.0 API)</title> +<meta name="date" content="2017-07-13"> +<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="Overview (Apache Yetus - Audience Annotations Component 0.5.0 API)"; + } + } + 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 class="navBarCell1Rev">Overview</li> +<li>Package</li> +<li>Class</li> +<li>Use</li> +<li><a href="overview-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</li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li> +<li><a href="overview-summary.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> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<div class="header"> +<h1 class="title">Apache Yetus - Audience Annotations Component 0.5.0 API</h1> +</div> +<div class="contentContainer"> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation"> +<caption><span>Packages</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Package</th> +<th class="colLast" scope="col">Description</th> +</tr> +<tbody> +<tr class="altColor"> +<td class="colFirst"><a href="org/apache/yetus/audience/package-summary.html">org.apache.yetus.audience</a></td> +<td class="colLast"> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><a href="org/apache/yetus/audience/tools/package-summary.html">org.apache.yetus.audience.tools</a></td> +<td class="colLast"> </td> +</tr> +</tbody> +</table> +</div> +<!-- ======= 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 class="navBarCell1Rev">Overview</li> +<li>Package</li> +<li>Class</li> +<li>Use</li> +<li><a href="overview-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</li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li> +<li><a href="overview-summary.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> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2015–2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html> http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/overview-tree.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/overview-tree.html b/documentation/0.5.0/audience-annotations-apidocs/overview-tree.html new file mode 100644 index 0000000..850a028 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/overview-tree.html @@ -0,0 +1,153 @@ +<!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_92) on Thu Jul 13 14:06:25 PDT 2017 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Class Hierarchy (Apache Yetus - Audience Annotations Component 0.5.0 API)</title> +<meta name="date" content="2017-07-13"> +<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="Class Hierarchy (Apache Yetus - Audience Annotations Component 0.5.0 API)"; + } + } + 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>Package</li> +<li>Class</li> +<li>Use</li> +<li class="navBarCell1Rev">Tree</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</li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li> +<li><a href="overview-tree.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> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<div class="header"> +<h1 class="title">Hierarchy For All Packages</h1> +<span class="packageHierarchyLabel">Package Hierarchies:</span> +<ul class="horizontal"> +<li><a href="org/apache/yetus/audience/package-tree.html">org.apache.yetus.audience</a>, </li> +<li><a href="org/apache/yetus/audience/tools/package-tree.html">org.apache.yetus.audience.tools</a></li> +</ul> +</div> +<div class="contentContainer"> +<h2 title="Class Hierarchy">Class Hierarchy</h2> +<ul> +<li type="circle">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"><span class="typeNameLink">Object</span></a> +<ul> +<li type="circle">org.apache.yetus.audience.tools.<a href="org/apache/yetus/audience/tools/ExcludePrivateAnnotationsJDiffDoclet.html" title="class in org.apache.yetus.audience.tools"><span class="typeNameLink">ExcludePrivateAnnotationsJDiffDoclet</span></a></li> +<li type="circle">org.apache.yetus.audience.tools.<a href="org/apache/yetus/audience/tools/ExcludePrivateAnnotationsStandardDoclet.html" title="class in org.apache.yetus.audience.tools"><span class="typeNameLink">ExcludePrivateAnnotationsStandardDoclet</span></a></li> +<li type="circle">org.apache.yetus.audience.tools.<a href="org/apache/yetus/audience/tools/IncludePublicAnnotationsStandardDoclet.html" title="class in org.apache.yetus.audience.tools"><span class="typeNameLink">IncludePublicAnnotationsStandardDoclet</span></a></li> +<li type="circle">org.apache.yetus.audience.<a href="org/apache/yetus/audience/InterfaceAudience.html" title="class in org.apache.yetus.audience"><span class="typeNameLink">InterfaceAudience</span></a></li> +<li type="circle">org.apache.yetus.audience.<a href="org/apache/yetus/audience/InterfaceStability.html" title="class in org.apache.yetus.audience"><span class="typeNameLink">InterfaceStability</span></a></li> +</ul> +</li> +</ul> +<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2> +<ul> +<li type="circle">org.apache.yetus.audience.<a href="org/apache/yetus/audience/InterfaceStability.Stable.html" title="annotation in org.apache.yetus.audience"><span class="typeNameLink">InterfaceStability.Stable</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.yetus.audience.<a href="org/apache/yetus/audience/InterfaceStability.Evolving.html" title="annotation in org.apache.yetus.audience"><span class="typeNameLink">InterfaceStability.Evolving</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.yetus.audience.<a href="org/apache/yetus/audience/InterfaceStability.Unstable.html" title="annotation in org.apache.yetus.audience"><span class="typeNameLink">InterfaceStability.Unstable</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.yetus.audience.<a href="org/apache/yetus/audience/InterfaceAudience.Public.html" title="annotation in org.apache.yetus.audience"><span class="typeNameLink">InterfaceAudience.Public</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.yetus.audience.<a href="org/apache/yetus/audience/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.yetus.audience"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</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.yetus.audience.<a href="org/apache/yetus/audience/InterfaceAudience.Private.html" title="annotation in org.apache.yetus.audience"><span class="typeNameLink">InterfaceAudience.Private</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> +</ul> +</div> +<!-- ======= 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>Package</li> +<li>Class</li> +<li>Use</li> +<li class="navBarCell1Rev">Tree</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</li> +<li>Next</li> +</ul> +<ul class="navList"> +<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li> +<li><a href="overview-tree.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> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2015–2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html> http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/package-list ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/package-list b/documentation/0.5.0/audience-annotations-apidocs/package-list new file mode 100644 index 0000000..79911a3 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/package-list @@ -0,0 +1,2 @@ +org.apache.yetus.audience +org.apache.yetus.audience.tools http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/script.js ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/script.js b/documentation/0.5.0/audience-annotations-apidocs/script.js new file mode 100644 index 0000000..b346356 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>"; + } + } +} http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/audience-annotations-apidocs/stylesheet.css ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/audience-annotations-apidocs/stylesheet.css b/documentation/0.5.0/audience-annotations-apidocs/stylesheet.css new file mode 100644 index 0000000..98055b2 --- /dev/null +++ b/documentation/0.5.0/audience-annotations-apidocs/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/index.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/index.html b/documentation/0.5.0/index.html new file mode 100644 index 0000000..5bbe31b --- /dev/null +++ b/documentation/0.5.0/index.html @@ -0,0 +1,181 @@ +<!--- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<html> + <head> + <meta charset="utf-8"> + <title>Apache Yetus</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content=""> + + <link href="/assets/css/bootstrap.css" rel="stylesheet"> + <link href="/assets/css/bootstrap-theme.css" rel="stylesheet"> + <link href="/assets/css/font-awesome.css" rel="stylesheet"> + + <!-- JS --> + <script type="text/javascript" src="/assets/js/jquery-2.1.4.min.js"></script> + <script type="text/javascript" src="/assets/js/bootstrap.js"></script> + </head> + <body> + <div class="navbar navbar-inverse navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="img-responsive pull-left" href="/"> + <img style="max-height: 40px; margin-top: 5px; margin-bottom: 5px;" src="/assets/img/yetus_logo.png" alt="Apache Yetus logo" /> + </a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li><a href="/downloads/">Downloads</a> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu"> + <li><a href="/documentation/0.4.0/">Docs for v0.4.0</a></li> + <li><a href="/documentation/0.5.0/">Docs for v0.5.0</a></li> + <li><a href="/documentation/in-progress/">In Progress Docs for Contributors</a> + </li> + </ul> + </li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Get Involved <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="drop1"> + <li role="presentation"><a role="menuitem" tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing Lists</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="http://issues.apache.org/jira/browse/YETUS"><i class="fa fa-bug"></i> JIRA (Bugs)</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=yetus"><i class="fa fa-code"></i> Source (Apache)</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/apache/yetus"><i class="fa fa-github-alt"></i> Source (GitHub)</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> Contributing</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/ApacheYetus"><i class="fa fa-twitter"></i> @ApacheYetus</a> + </li> + </ul> + </li> + <li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation <b class="caret"></b></a> + <ul class="dropdown-menu" role="menu"> + <li><a href="http://www.apache.org">Apache Homepage</a> + </li> + <li><a href="http://www.apache.org/licenses/">Apache License</a> + </li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + <li><a href="http://www.apache.org/security/">Security</a> + </li> + </ul> + </li> + </li> + </ul> + </div> + <!--/.nav-collapse --> + </div> +</div> + + <div class="container"> + <!--- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<h1 id="yetus-precommit">Yetus Precommit</h1> + +<p>The Yetus Precommit Patch Tester allows projects to codify their patch acceptance criteria and then evaluate incoming contributions prior to review by a committer.</p> + +<ul> +<li>Take a quick look at <a href="precommit-glossary">our glossary of terms</a> to ensure you are familiar with the ASF and Maven jargon we’ll use as terminology specific to this project.</li> +<li>For an overview of Yetus’ philosophy on testing contributions and how evaluation is performed, see our <a href="precommit-architecture">overview</a>.</li> +<li>To get started on your project, including an explanation of what we’ll expect in a runtime environment and what optional utilities we’ll leverage, read through the <a href="precommit-basic">basic usage guide</a>.</li> +<li>Customize how precommit interacts with your project by choosing amongst <a href="precommit-buildtools">build systems</a>, <a href="precommit-bugsystems">bug systems</a> and <a href="precommit-testformats">test formats</a>.</li> +<li>If your project has advanced requirements such as module relationships not expressed in Maven, special profiles, or a need on os-specific prerequisites not managed by Maven then you’ll need to use our <a href="precommit-advanced">advanced usage guide</a>.</li> +</ul> + +<p>For a complete guide to the Precommit API, see <a href="precommit-apidocs/">the generated API documentation</a>.</p> + +<h1 id="yetus-release-doc-maker">Yetus Release Doc Maker</h1> + +<p>The Release Documentation Maker allows projects to generate nicely formated Markdown Changelogs and Release Notes based upon JIRA. You can view that +documenation <a href="releasedocmaker">here</a>.</p> + +<h1 id="yetus-shelldocs">Yetus Shelldocs</h1> + +<p>Shelldocs provides generation of html formatted api documentation based on comments on Bash functions. Currently supports documenting API status (public / private) as well as parameters and return values.</p> + +<p>See the shelldocs cli help for more information on usage.</p> +<pre class="highlight shell"><code><span class="gp">$ </span>./shelldocs/shelldocs.py --help +Usage: shelldocs.py --skipprnorep --output OUTFILE --input INFILE <span class="o">[</span>--input INFILE ...] + +Options: + -h, --help show this <span class="nb">help </span>message and <span class="nb">exit</span> + -o OUTFILE, --output<span class="o">=</span>OUTFILE + file to create + -i INFILE, --input<span class="o">=</span>INFILE + file to <span class="nb">read</span> + --skipprnorep Skip Private & Not Replaceable +</code></pre> +<p>You can mark a file to be ignored by shelldocs by adding <q>SHELLDOC-IGNORE</q> as a comment in its own line.</p> + +<h1 id="yetus-audience-annotations">Yetus Audience Annotations</h1> + +<p>Audience Annotations allows you to use Java Annotations to denote which parts of your Java library is publicly consumable and which parts are reserved for a more restricted use. It also provides doclets and examples for generating javadocs limited by audience. +You can refer the user documentation <a href="interface-classification">here</a> and the javadocs <a href="audience-annotations-apidocs/">here</a>.</p> + + </div> + <div class="container"> + <hr> + <footer class="footer"> + <div class="row-fluid"> + <div class="span12 text-left"> + <div class="span12"> + Copyright 2008-2017 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. Apache Yetus and the Apache feather logo are trademarks of The Apache Software Foundation. + </div> + </div> + + </div> + + </footer> +</div> + + </body> +</html> http://git-wip-us.apache.org/repos/asf/yetus/blob/6ca1d766/documentation/0.5.0/interface-classification/index.html ---------------------------------------------------------------------- diff --git a/documentation/0.5.0/interface-classification/index.html b/documentation/0.5.0/interface-classification/index.html new file mode 100644 index 0000000..35b38c1 --- /dev/null +++ b/documentation/0.5.0/interface-classification/index.html @@ -0,0 +1,343 @@ +<!--- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<html> + <head> + <meta charset="utf-8"> + <title>Apache Yetus</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content=""> + + <link href="/assets/css/bootstrap.css" rel="stylesheet"> + <link href="/assets/css/bootstrap-theme.css" rel="stylesheet"> + <link href="/assets/css/font-awesome.css" rel="stylesheet"> + + <!-- JS --> + <script type="text/javascript" src="/assets/js/jquery-2.1.4.min.js"></script> + <script type="text/javascript" src="/assets/js/bootstrap.js"></script> + </head> + <body> + <div class="navbar navbar-inverse navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="img-responsive pull-left" href="/"> + <img style="max-height: 40px; margin-top: 5px; margin-bottom: 5px;" src="/assets/img/yetus_logo.png" alt="Apache Yetus logo" /> + </a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li><a href="/downloads/">Downloads</a> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu"> + <li><a href="/documentation/0.4.0/">Docs for v0.4.0</a></li> + <li><a href="/documentation/0.5.0/">Docs for v0.5.0</a></li> + <li><a href="/documentation/in-progress/">In Progress Docs for Contributors</a> + </li> + </ul> + </li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Get Involved <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="drop1"> + <li role="presentation"><a role="menuitem" tabindex="-1" href="/mailinglists"><i class="fa fa-commenting"></i> Mailing Lists</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="http://issues.apache.org/jira/browse/YETUS"><i class="fa fa-bug"></i> JIRA (Bugs)</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="https://git-wip-us.apache.org/repos/asf?s=yetus"><i class="fa fa-code"></i> Source (Apache)</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/apache/yetus"><i class="fa fa-github-alt"></i> Source (GitHub)</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="/contribute/"><i class="fa fa-code-fork"></i> Contributing</a> + </li> + <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/ApacheYetus"><i class="fa fa-twitter"></i> @ApacheYetus</a> + </li> + </ul> + </li> + <li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation <b class="caret"></b></a> + <ul class="dropdown-menu" role="menu"> + <li><a href="http://www.apache.org">Apache Homepage</a> + </li> + <li><a href="http://www.apache.org/licenses/">Apache License</a> + </li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + <li><a href="http://www.apache.org/security/">Security</a> + </li> + </ul> + </li> + </li> + </ul> + </div> + <!--/.nav-collapse --> + </div> +</div> + + <div class="container"> + <!--- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> + +<h1 id="apache-yetus-interface-taxonomy-audience-and-stability-classification">Apache Yetus Interface Taxonomy: Audience and Stability Classification</h1> + +<h2 id="motivation">Motivation</h2> + +<p>The interface taxonomy classification provided by Apache Yetus annotations is for guidance to +developers and users of interfaces. The classification guides a developer to +declare the targeted audience or users of an interface and also its stability.</p> + +<ul> +<li><p>Benefits to the user of an interface: Knows which interfaces to use or not use and their stability.</p></li> +<li><p>Benefits to the developer: to prevent accidental changes of interfaces and +hence accidental impact on users or other components or system. This is +particularly useful in large systems with many developers who may not all have +a shared state/history of the project.</p></li> +</ul> + +<h2 id="interface-classification">Interface Classification</h2> + +<p>Yetus provides the following interface classification, derived from the +<a href="http://web.archive.org/web/20061013114610/http://opensolaris.org/os/community/arc/policies/interface-taxonomy/">OpenSolaris taxonomy</a> +and, to some extent, from taxonomy used inside Yahoo. +Interfaces have two main attributes: Audience and Stability</p> + +<h3 id="audience">Audience</h3> + +<p>Audience denotes the potential consumers of the interface. While many interfaces +are internal/private to the implementation, others are public/external interfaces +and are meant for wider consumption by applications and/or clients. For example, +POSIX definitions in libc are external, while large parts of the kernel are internal or private interfaces. +Also, some interfaces are targeted towards other specific subsystems.</p> + +<p>Identifying the audience of an interface helps define the impact of breaking +it. For instance, it might be okay to break the compatibility of an interface +whose audience is a small number of specific subsystems. On the other hand, it +is probably not okay to break a protocol interfaces that millions of Internet +users depend on.</p> + +<p>Yetus uses the following kinds of audience in order of increasing/wider visibility:</p> + +<h4 id="private">Private</h4> + +<p>The interface is for internal use within a project(such as Apache Hadoop) +and should not be used by applications or by other projects. It is subject to +change at anytime without notice. Most interfaces of a project are Private (also +referred to as project-private).</p> + +<h4 id="limited-private">Limited-Private</h4> + +<p>The interface is used by a specified set of projects or systems (typically +closely related projects). Other projects or systems should not use the +interface. Changes to the interface will be communicated/ negotiated with the +specified projects. For example, in the Apache Hadoop project, some interfaces are +LimitedPrivate{HDFS, MapReduce} in that they are private to the HDFS and +MapReduce subprojects.</p> + +<h4 id="public">Public</h4> + +<p>The interface is for general use by any application.</p> + +<h3 id="stability">Stability</h3> + +<p>Stability denotes how stable an interface is, as in when incompatible changes to +the interface are allowed. Yetus provides the following levels of stability.</p> + +<h4 id="stable">Stable</h4> + +<p>Can evolve while retaining compatibility for minor release boundaries; in other +words, incompatible changes to APIs marked Stable are generally only allowed +at major releases (i.e. at m.0).</p> + +<h4 id="evolving">Evolving</h4> + +<p>Evolving, but incompatible changes are allowed at minor release (i.e. m .x)</p> + +<h4 id="unstable">Unstable</h4> + +<p>Incompatible changes to Unstable APIs are allowed any time. This usually makes +sense for only private interfaces.</p> + +<p>However one may call this out for a supposedly public interface to highlight +that it should not be used as an interface; for public interfaces, labeling it +as Not-an-interface is probably more appropriate than <q>Unstable</q>.</p> + +<p>Examples of publicly visible interfaces that are unstable +(i.e. not-an-interface): GUI, CLIs whose output format will change</p> + +<h4 id="deprecated">Deprecated</h4> + +<p>APIs that could potentially be removed in the future and should not be used.</p> + +<h2 id="how-are-the-classifications-recorded">How are the Classifications Recorded</h2> + +<p>How should the classification be recorded for the annotated APIs?</p> + +<ul> +<li><p>Each interface or class will have the audience and stability recorded using +annotations in org.apache.yetus.classification package.</p></li> +<li><p>The javadoc generated by the maven target javadoc:javadoc lists only the public API.</p></li> +<li><p>One can derive the audience of java classes and java interfaces by the +audience of the package in which they are contained. Hence it is useful to +declare the audience of each java package as public or private (along with the +private audience variations).</p></li> +</ul> + +<h2 id="faq">FAQ</h2> + +<ul> +<li><p>Why aren’t the java scopes (private, package private and public) good enough?</p> + +<ul> +<li>Java’s scoping is not very complete. One is often forced to make a class +public in order for other internal components to use it. It does not have +friends or sub-package-private like C++.</li> +</ul></li> +<li><p>But I can easily access a private implementation interface if it is Java public. +Where is the protection and control?</p> + +<ul> +<li>The purpose of this is not providing absolute access control. Its purpose +is to communicate to users and developers. One can access private +implementation functions in libc; however if they change the internal +implementation details, your application will break and you will have +little sympathy from the folks who are supplying libc. If you use a +non-public interface you understand the risks.</li> +</ul></li> +<li><p>Why bother declaring the stability of a private interface? +Aren’t private interfaces always unstable?</p> + +<ul> +<li>Private interfaces are not always unstable. In the cases where they are +stable they capture internal properties of the system and can communicate +these properties to its internal users and to developers of the interface. + +<ul> +<li>e.g. In HDFS, NN-DN protocol is private but stable and can help +implement rolling upgrades. It communicates that this interface should +not be changed in incompatible ways even though it is private.</li> +<li>e.g. In HDFS, FSImage stability can help provide more flexible roll backs.</li> +</ul></li> +</ul></li> +<li><p>What is the harm in applications using a private interface that is stable? How +is it different than a public stable interface?</p> + +<ul> +<li>While a private interface marked as stable is targeted to change only at +major releases, it may break at other times if the providers of that +interface are willing to changes the internal users of that +interface. Further, a public stable interface is less likely to break even +at major releases (even though it is allowed to break compatibility) +because the impact of the change is larger. If you use a private interface +(regardless of its stability) you run the risk of incompatibility.</li> +</ul></li> +<li><p>Why bother with Limited-private? Isn’t it giving special treatment to some projects? +That is not fair.</p> + +<ul> +<li>First, most interfaces should be public or private; actually let us state +it even stronger: make it private unless you really want to expose it to +public for general use.</li> +<li>Limited-private is for interfaces that are not intended for general +use. They are exposed to related projects that need special hooks. Such a +classification has a cost to both the supplier and consumer of the limited +interface. Both will have to work together if ever there is a need to +break the interface in the future; for example the supplier and the +consumers will have to work together to get coordinated releases of their +respective projects. This should not be taken lightly - if you can get +away with private then do so; if the interface is really for general use +for all applications then you should consider making it public. But remember +that making an interface public has huge responsibility. Sometimes +Limited-private is just right.</li> +<li>A good example of a limited-private interface is BlockLocations in the Apache +Hadoop Project, This is fairly low-level interface that they are willing to +expose to MR and perhaps HBase. They are likely to change it down the road +and at that time they will have to get a coordinated effort with the MR +team to release matching releases. While MR and HDFS are always released +in sync today, they may change down the road.</li> +<li>If you have a limited-private interface with many projects listed then you +are fooling yourself. It is practically public.</li> +<li>It might be worth declaring a special audience classification called +{YourProjectName}-Private for your closely related projects.</li> +</ul></li> +<li><p>Can’t a private interface be treated as project-private also? For example what is +the harm in projects in the Apache Hadoop extended ecosystem, having access to +private classes?</p> + +<ul> +<li>Do we want MR accessing class files that are implementation details inside +HDFS? There used to be many such layer violations in the Apache Hadoop +project that they have been cleaning up over the last few years. It is highly +undesirable for such layer violations to creep back in by no separation +between the major components like HDFS and MR.</li> +</ul></li> +<li><p>Aren’t all public interfaces stable?</p> + +<ul> +<li>One may mark a public interface as evolving in its early days. Here one is +promising to make an effort to make compatible changes but may need to +break it at minor releases.</li> +<li>One example of a public interface that is unstable is where one is +providing an implementation of a standards-body based interface that is +still under development. For example, many companies, in an attempt to be +first to market, have provided implementations of a new NFS protocol even +when the protocol was not fully completed by IETF. The implementor cannot +evolve the interface in a fashion that causes least disruption because +the stability is controlled by the standards body. Hence it is appropriate +to label the interface as unstable.</li> +</ul></li> +</ul> + + </div> + <div class="container"> + <hr> + <footer class="footer"> + <div class="row-fluid"> + <div class="span12 text-left"> + <div class="span12"> + Copyright 2008-2017 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. Apache Yetus and the Apache feather logo are trademarks of The Apache Software Foundation. + </div> + </div> + + </div> + + </footer> +</div> + + </body> +</html>
