| <!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>org.apache.hadoop.hbase.types (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</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="org.apache.hadoop.hbase.types (Apache HBase 3.0.0-alpha-2-SNAPSHOT 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/hadoop/hbase/tool/coprocessor/package-summary.html">Prev Package</a></li> |
| <li><a href="../../../../../org/apache/hadoop/hbase/util/package-summary.html">Next Package</a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/hadoop/hbase/types/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.hadoop.hbase.types</h1> |
| <div class="docSummary"> |
| <div class="block"> |
| This package provides the definition and implementation of HBase's |
| extensible data type API.</div> |
| </div> |
| <p>See: <a href="#package.description">Description</a></p> |
| </div> |
| <div class="contentContainer"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation"> |
| <caption><span>Interface Summary</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Interface</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types">DataType</a><T></td> |
| <td class="colLast"> |
| <div class="block"> |
| <code>DataType</code> is the base class for all HBase data types.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| <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/hadoop/hbase/types/FixedLengthWrapper.html" title="class in org.apache.hadoop.hbase.types">FixedLengthWrapper</a><T></td> |
| <td class="colLast"> |
| <div class="block">Wraps an existing <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a> implementation as a fixed-length |
| version of itself.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html" title="class in org.apache.hadoop.hbase.types">OrderedBlob</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>byte[]</code> of variable-length.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedBlobVar.html" title="class in org.apache.hadoop.hbase.types">OrderedBlobVar</a></td> |
| <td class="colLast"> |
| <div class="block">An alternative to <a href="../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html" title="class in org.apache.hadoop.hbase.types"><code>OrderedBlob</code></a> for use by <a href="../../../../../org/apache/hadoop/hbase/types/Struct.html" title="class in org.apache.hadoop.hbase.types"><code>Struct</code></a> fields that |
| do not terminate the fields list.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedBytesBase.html" title="class in org.apache.hadoop.hbase.types">OrderedBytesBase</a><T></td> |
| <td class="colLast"> |
| <div class="block">Base class for data types backed by the <a href="../../../../../org/apache/hadoop/hbase/util/OrderedBytes.html" title="class in org.apache.hadoop.hbase.util"><code>OrderedBytes</code></a> encoding |
| implementations.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedFloat32.html" title="class in org.apache.hadoop.hbase.types">OrderedFloat32</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>float</code> of 32-bits using a fixed-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedFloat64.html" title="class in org.apache.hadoop.hbase.types">OrderedFloat64</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>double</code> of 64-bits using a fixed-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedInt16.html" title="class in org.apache.hadoop.hbase.types">OrderedInt16</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>short</code> of 16-bits using a fixed-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedInt32.html" title="class in org.apache.hadoop.hbase.types">OrderedInt32</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>int</code> of 32-bits using a fixed-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html" title="class in org.apache.hadoop.hbase.types">OrderedInt64</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>long</code> of 64-bits using a fixed-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedInt8.html" title="class in org.apache.hadoop.hbase.types">OrderedInt8</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>byte</code> of 8-bits using a fixed-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html" title="class in org.apache.hadoop.hbase.types">OrderedNumeric</a></td> |
| <td class="colLast"> |
| <div class="block">An <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a> of arbitrary precision and variable-length encoding.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/OrderedString.html" title="class in org.apache.hadoop.hbase.types">OrderedString</a></td> |
| <td class="colLast"> |
| <div class="block">A <code>String</code> of variable-length.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawByte.html" title="class in org.apache.hadoop.hbase.types">RawByte</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putByte-byte:A-int-byte-"><code>Bytes.putByte(byte[], int, byte)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawBytes.html" title="class in org.apache.hadoop.hbase.types">RawBytes</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with variable-length values |
| encoded using <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putBytes-byte:A-int-byte:A-int-int-"><code>Bytes.putBytes(byte[], int, byte[], int, int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawBytesFixedLength.html" title="class in org.apache.hadoop.hbase.types">RawBytesFixedLength</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> that encodes fixed-length values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putBytes-byte:A-int-byte:A-int-int-"><code>Bytes.putBytes( |
| byte[], int, byte[], int, int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawBytesTerminated.html" title="class in org.apache.hadoop.hbase.types">RawBytesTerminated</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> that encodes variable-length values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putBytes-byte:A-int-byte:A-int-int-"><code>Bytes.putBytes(byte[], int, byte[], int, int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawDouble.html" title="class in org.apache.hadoop.hbase.types">RawDouble</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putDouble-byte:A-int-double-"><code>Bytes.putDouble(byte[], int, double)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawFloat.html" title="class in org.apache.hadoop.hbase.types">RawFloat</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putFloat-byte:A-int-float-"><code>Bytes.putFloat(byte[], int, float)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawInteger.html" title="class in org.apache.hadoop.hbase.types">RawInteger</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putInt-byte:A-int-int-"><code>Bytes.putInt(byte[], int, int)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawLong.html" title="class in org.apache.hadoop.hbase.types">RawLong</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putLong-byte:A-int-long-"><code>Bytes.putLong(byte[], int, long)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawShort.html" title="class in org.apache.hadoop.hbase.types">RawShort</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#putShort-byte:A-int-short-"><code>Bytes.putShort(byte[], int, short)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawString.html" title="class in org.apache.hadoop.hbase.types">RawString</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> for interacting with values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#toBytes-java.lang.String-"><code>Bytes.toBytes(String)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawStringFixedLength.html" title="class in org.apache.hadoop.hbase.types">RawStringFixedLength</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> that encodes fixed-length values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#toBytes-java.lang.String-"><code>Bytes.toBytes(String)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/RawStringTerminated.html" title="class in org.apache.hadoop.hbase.types">RawStringTerminated</a></td> |
| <td class="colLast"> |
| <div class="block">An <code>DataType</code> that encodes variable-length values encoded using |
| <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#toBytes-java.lang.String-"><code>Bytes.toBytes(String)</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/Struct.html" title="class in org.apache.hadoop.hbase.types">Struct</a></td> |
| <td class="colLast"> |
| <div class="block"> |
| <code>Struct</code> is a simple <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a> for implementing "compound |
| rowkey" and "compound qualifier" schema design strategies.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/StructBuilder.html" title="class in org.apache.hadoop.hbase.types">StructBuilder</a></td> |
| <td class="colLast"> |
| <div class="block">A helper for building <a href="../../../../../org/apache/hadoop/hbase/types/Struct.html" title="class in org.apache.hadoop.hbase.types"><code>Struct</code></a> instances.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/StructIterator.html" title="class in org.apache.hadoop.hbase.types">StructIterator</a></td> |
| <td class="colLast"> |
| <div class="block">An <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util"><code>Iterator</code></a> over encoded <code>Struct</code> members.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html" title="class in org.apache.hadoop.hbase.types">TerminatedWrapper</a><T></td> |
| <td class="colLast"> |
| <div class="block">Wraps an existing <code>DataType</code> implementation as a terminated |
| version of itself.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/Union2.html" title="class in org.apache.hadoop.hbase.types">Union2</a><A,B></td> |
| <td class="colLast"> |
| <div class="block">The <code>Union</code> family of <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a>s encode one of a fixed |
| set of <code>Object</code>s.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/Union3.html" title="class in org.apache.hadoop.hbase.types">Union3</a><A,B,C></td> |
| <td class="colLast"> |
| <div class="block">The <code>Union</code> family of <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a>s encode one of a fixed |
| collection of Objects.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/types/Union4.html" title="class in org.apache.hadoop.hbase.types">Union4</a><A,B,C,D></td> |
| <td class="colLast"> |
| <div class="block">The <code>Union</code> family of <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a>s encode one of a fixed |
| collection of Objects.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| </ul> |
| <a name="package.description"> |
| <!-- --> |
| </a> |
| <h2 title="Package org.apache.hadoop.hbase.types Description">Package org.apache.hadoop.hbase.types Description</h2> |
| <div class="block"><p> |
| This package provides the definition and implementation of HBase's |
| extensible data type API. <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a> |
| is the entry point. Basic type implementations are provided based on two |
| different encoding schemes: the <code>Raw*</code> implementations use the |
| <code>toXXX</code> methods in <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util"><code>Bytes</code></a> and |
| the <code>Ordered*</code> implementations use the encoding scheme defined in |
| <a href="../../../../../org/apache/hadoop/hbase/util/OrderedBytes.html" title="class in org.apache.hadoop.hbase.util"><code>OrderedBytes</code></a>. Complex types are also |
| supported in the form of <a href="../../../../../org/apache/hadoop/hbase/types/Struct.html" title="class in org.apache.hadoop.hbase.types"><code>Struct</code></a> and |
| the abstract <code>Union</code> classes. |
| </p> |
| <p> |
| <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a> implementations are used to |
| convert a POJO into a <code>byte[]</code> while maintaining application-level |
| constraints over the values produces and consumed. They also provide hints |
| to consumers about the nature of encoded values as well as the relationship |
| between different instances. See the class comments on |
| <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a> for details. |
| </p> |
| <p> |
| The <a href="../../../../../org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><code>DataType</code></a> interface is primarily |
| of use for creating rowkeys and column qualifiers. It can also be used as a |
| an encoder for primitive values. It does not support concerns of complex |
| object serialization, concepts like schema version and migration. These |
| concepts are handled more thoroughly by tools like Thrift, Avro, and |
| Protobuf. |
| </p></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.95.2</dd> |
| </dl> |
| </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/hadoop/hbase/tool/coprocessor/package-summary.html">Prev Package</a></li> |
| <li><a href="../../../../../org/apache/hadoop/hbase/util/package-summary.html">Next Package</a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/hadoop/hbase/types/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 © 2007–2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |