<!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 -->
<title>IcebergUUIDObjectInspector</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="IcebergUUIDObjectInspector";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampWithZoneObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" target="_top">Frames</a></li>
<li><a href="IcebergUUIDObjectInspector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.iceberg.mr.hive.serde.objectinspector</div>
<h2 title="Class IcebergUUIDObjectInspector" class="title">Class IcebergUUIDObjectInspector</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.mr.hive.serde.objectinspector.IcebergUUIDObjectInspector</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.lang.Cloneable, org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector, org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector, org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector, <a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector">WriteObjectInspector</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">IcebergUUIDObjectInspector</span>
extends org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector
implements org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector, <a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector">WriteObjectInspector</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector</h3>
<code>org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector</h3>
<code>org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category</code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector</h3>
<code>typeInfo</code></li>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.util.UUID</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html#convert-java.lang.Object-">convert</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html#copyObject-java.lang.Object-">copyObject</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergUUIDObjectInspector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html#get--">get</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html#getPrimitiveJavaObject-java.lang.Object-">getPrimitiveJavaObject</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.io.Text</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html#getPrimitiveWritableObject-java.lang.Object-">getPrimitiveWritableObject</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector</h3>
<code>preferWritable</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector</h3>
<code>getCategory, getJavaPrimitiveClass, getPrimitiveCategory, getPrimitiveWritableClass, getTypeInfo, getTypeName, precision, scale</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector</h3>
<code>getJavaPrimitiveClass, getPrimitiveCategory, getPrimitiveWritableClass, getTypeInfo, precision, preferWritable, scale</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector</h3>
<code>getCategory, getTypeName</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="get--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public static&nbsp;<a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergUUIDObjectInspector</a>&nbsp;get()</pre>
</li>
</ul>
<a name="getPrimitiveJavaObject-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrimitiveJavaObject</h4>
<pre>public&nbsp;java.lang.String&nbsp;getPrimitiveJavaObject(java.lang.Object&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getPrimitiveJavaObject</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getPrimitiveJavaObject</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getPrimitiveJavaObject</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector</code></dd>
</dl>
</li>
</ul>
<a name="getPrimitiveWritableObject-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrimitiveWritableObject</h4>
<pre>public&nbsp;org.apache.hadoop.io.Text&nbsp;getPrimitiveWritableObject(java.lang.Object&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getPrimitiveWritableObject</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getPrimitiveWritableObject</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector</code></dd>
</dl>
</li>
</ul>
<a name="convert-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convert</h4>
<pre>public&nbsp;java.util.UUID&nbsp;convert(java.lang.Object&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html#convert-java.lang.Object-">convert</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector">WriteObjectInspector</a></code></dd>
</dl>
</li>
</ul>
<a name="copyObject-java.lang.Object-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>copyObject</h4>
<pre>public&nbsp;java.lang.Object&nbsp;copyObject(java.lang.Object&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>copyObject</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>copyObject</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/IcebergTimestampWithZoneObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/iceberg/mr/hive/serde/objectinspector/IcebergUUIDObjectInspector.html" target="_top">Frames</a></li>
<li><a href="IcebergUUIDObjectInspector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveObjectInspector">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
