<!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.7.0_131) on Wed Mar 29 10:24:22 UTC 2017 -->
<title>Protos.MasterInfo.Builder</title>
<meta name="date" content="2017-03-29">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Protos.MasterInfo.Builder";
        }
    }
    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><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../org/apache/mesos/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/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/mesos/Protos.MasterInfo.Builder.html" target="_top">Frames</a></li>
<li><a href="Protos.MasterInfo.Builder.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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.mesos</div>
<h2 title="Class Protos.MasterInfo.Builder" class="title">Class Protos.MasterInfo.Builder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><any></li>
<li>
<ul class="inheritance">
<li>org.apache.mesos.Protos.MasterInfo.Builder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a></dd>
</dl>
<hr>
<br>
<pre>public static final class <span class="strong">Protos.MasterInfo.Builder</span>
extends <any>
implements <a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></pre>
<div class="block">Protobuf type <code>mesos.MasterInfo</code>

 <pre>

 Describes a master. This will probably have more fields in the
 future which might be used, for example, to link a framework webui
 to a master webui.
 </pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#build()">build</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#buildPartial()">buildPartial</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clear()">clear</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearAddress()">clearAddress</a></strong>()</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearHostname()">clearHostname</a></strong>()</code>
<div class="block"><code>optional string hostname = 5;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearId()">clearId</a></strong>()</code>
<div class="block"><code>required string id = 1;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearIp()">clearIp</a></strong>()</code>
<div class="block"><code>required uint32 ip = 2;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearPid()">clearPid</a></strong>()</code>
<div class="block"><code>optional string pid = 4;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearPort()">clearPort</a></strong>()</code>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clearVersion()">clearVersion</a></strong>()</code>
<div class="block"><code>optional string version = 6;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#clone()">clone</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Address.html" title="class in org.apache.mesos">Protos.Address</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getAddress()">getAddress</a></strong>()</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.Address.Builder.html" title="class in org.apache.mesos">Protos.Address.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getAddressBuilder()">getAddressBuilder</a></strong>()</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.AddressOrBuilder.html" title="interface in org.apache.mesos">Protos.AddressOrBuilder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getAddressOrBuilder()">getAddressOrBuilder</a></strong>()</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getDefaultInstanceForType()">getDefaultInstanceForType</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static com.google.protobuf.Descriptors.Descriptor</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getDescriptor()">getDescriptor</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.protobuf.Descriptors.Descriptor</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getDescriptorForType()">getDescriptorForType</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getHostname()">getHostname</a></strong>()</code>
<div class="block"><code>optional string hostname = 5;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.protobuf.ByteString</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getHostnameBytes()">getHostnameBytes</a></strong>()</code>
<div class="block"><code>optional string hostname = 5;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getId()">getId</a></strong>()</code>
<div class="block"><code>required string id = 1;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.protobuf.ByteString</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getIdBytes()">getIdBytes</a></strong>()</code>
<div class="block"><code>required string id = 1;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getIp()">getIp</a></strong>()</code>
<div class="block"><code>required uint32 ip = 2;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getPid()">getPid</a></strong>()</code>
<div class="block"><code>optional string pid = 4;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>com.google.protobuf.ByteString</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getPidBytes()">getPidBytes</a></strong>()</code>
<div class="block"><code>optional string pid = 4;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getPort()">getPort</a></strong>()</code>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getVersion()">getVersion</a></strong>()</code>
<div class="block"><code>optional string version = 6;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.google.protobuf.ByteString</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#getVersionBytes()">getVersionBytes</a></strong>()</code>
<div class="block"><code>optional string version = 6;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasAddress()">hasAddress</a></strong>()</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasHostname()">hasHostname</a></strong>()</code>
<div class="block"><code>optional string hostname = 5;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasId()">hasId</a></strong>()</code>
<div class="block"><code>required string id = 1;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasIp()">hasIp</a></strong>()</code>
<div class="block"><code>required uint32 ip = 2;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasPid()">hasPid</a></strong>()</code>
<div class="block"><code>optional string pid = 4;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasPort()">hasPort</a></strong>()</code>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#hasVersion()">hasVersion</a></strong>()</code>
<div class="block"><code>optional string version = 6;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected com.google.protobuf.GeneratedMessage.FieldAccessorTable</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#internalGetFieldAccessorTable()">internalGetFieldAccessorTable</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#isInitialized()">isInitialized</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#mergeAddress(org.apache.mesos.Protos.Address)">mergeAddress</a></strong>(<a href="../../../org/apache/mesos/Protos.Address.html" title="class in org.apache.mesos">Protos.Address</a>&nbsp;value)</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#mergeFrom(com.google.protobuf.CodedInputStream,%20com.google.protobuf.ExtensionRegistryLite)">mergeFrom</a></strong>(com.google.protobuf.CodedInputStream&nbsp;input,
         com.google.protobuf.ExtensionRegistryLite&nbsp;extensionRegistry)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#mergeFrom(com.google.protobuf.Message)">mergeFrom</a></strong>(com.google.protobuf.Message&nbsp;other)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setAddress(org.apache.mesos.Protos.Address.Builder)">setAddress</a></strong>(<a href="../../../org/apache/mesos/Protos.Address.Builder.html" title="class in org.apache.mesos">Protos.Address.Builder</a>&nbsp;builderForValue)</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setAddress(org.apache.mesos.Protos.Address)">setAddress</a></strong>(<a href="../../../org/apache/mesos/Protos.Address.html" title="class in org.apache.mesos">Protos.Address</a>&nbsp;value)</code>
<div class="block"><code>optional .mesos.Address address = 7;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setHostname(java.lang.String)">setHostname</a></strong>(java.lang.String&nbsp;value)</code>
<div class="block"><code>optional string hostname = 5;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setHostnameBytes(com.google.protobuf.ByteString)">setHostnameBytes</a></strong>(com.google.protobuf.ByteString&nbsp;value)</code>
<div class="block"><code>optional string hostname = 5;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setId(java.lang.String)">setId</a></strong>(java.lang.String&nbsp;value)</code>
<div class="block"><code>required string id = 1;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setIdBytes(com.google.protobuf.ByteString)">setIdBytes</a></strong>(com.google.protobuf.ByteString&nbsp;value)</code>
<div class="block"><code>required string id = 1;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setIp(int)">setIp</a></strong>(int&nbsp;value)</code>
<div class="block"><code>required uint32 ip = 2;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setPid(java.lang.String)">setPid</a></strong>(java.lang.String&nbsp;value)</code>
<div class="block"><code>optional string pid = 4;</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setPidBytes(com.google.protobuf.ByteString)">setPidBytes</a></strong>(com.google.protobuf.ByteString&nbsp;value)</code>
<div class="block"><code>optional string pid = 4;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setPort(int)">setPort</a></strong>(int&nbsp;value)</code>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setVersion(java.lang.String)">setVersion</a></strong>(java.lang.String&nbsp;value)</code>
<div class="block"><code>optional string version = 6;</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html#setVersionBytes(com.google.protobuf.ByteString)">setVersionBytes</a></strong>(com.google.protobuf.ByteString&nbsp;value)</code>
<div class="block"><code>optional string version = 6;</code></div>
</td>
</tr>
</table>
<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>equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="getDescriptor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptor</h4>
<pre>public static final&nbsp;com.google.protobuf.Descriptors.Descriptor&nbsp;getDescriptor()</pre>
</li>
</ul>
<a name="internalGetFieldAccessorTable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>internalGetFieldAccessorTable</h4>
<pre>protected&nbsp;com.google.protobuf.GeneratedMessage.FieldAccessorTable&nbsp;internalGetFieldAccessorTable()</pre>
</li>
</ul>
<a name="clear()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clear()</pre>
</li>
</ul>
<a name="clone()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clone()</pre>
</li>
</ul>
<a name="getDescriptorForType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptorForType</h4>
<pre>public&nbsp;com.google.protobuf.Descriptors.Descriptor&nbsp;getDescriptorForType()</pre>
</li>
</ul>
<a name="getDefaultInstanceForType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultInstanceForType</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;getDefaultInstanceForType()</pre>
</li>
</ul>
<a name="build()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;build()</pre>
</li>
</ul>
<a name="buildPartial()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildPartial</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos">Protos.MasterInfo</a>&nbsp;buildPartial()</pre>
</li>
</ul>
<a name="mergeFrom(com.google.protobuf.Message)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeFrom</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;mergeFrom(com.google.protobuf.Message&nbsp;other)</pre>
</li>
</ul>
<a name="isInitialized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInitialized</h4>
<pre>public final&nbsp;boolean&nbsp;isInitialized()</pre>
</li>
</ul>
<a name="mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeFrom</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;mergeFrom(com.google.protobuf.CodedInputStream&nbsp;input,
                                  com.google.protobuf.ExtensionRegistryLite&nbsp;extensionRegistry)
                                    throws java.io.IOException</pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
<a name="hasId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasId</h4>
<pre>public&nbsp;boolean&nbsp;hasId()</pre>
<div class="block"><code>required string id = 1;</code></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasId()">hasId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
<div class="block"><code>required string id = 1;</code></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getId()">getId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getIdBytes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdBytes</h4>
<pre>public&nbsp;com.google.protobuf.ByteString&nbsp;getIdBytes()</pre>
<div class="block"><code>required string id = 1;</code></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getIdBytes()">getIdBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setId(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setId</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setId(java.lang.String&nbsp;value)</pre>
<div class="block"><code>required string id = 1;</code></div>
</li>
</ul>
<a name="clearId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearId</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearId()</pre>
<div class="block"><code>required string id = 1;</code></div>
</li>
</ul>
<a name="setIdBytes(com.google.protobuf.ByteString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdBytes</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setIdBytes(com.google.protobuf.ByteString&nbsp;value)</pre>
<div class="block"><code>required string id = 1;</code></div>
</li>
</ul>
<a name="hasIp()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasIp</h4>
<pre>public&nbsp;boolean&nbsp;hasIp()</pre>
<div class="block"><code>required uint32 ip = 2;</code>

 <pre>
 The IP address (only IPv4) as a packed 4-bytes integer,
 stored in network order.  Deprecated, use `address.ip` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasIp()">hasIp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getIp()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIp</h4>
<pre>public&nbsp;int&nbsp;getIp()</pre>
<div class="block"><code>required uint32 ip = 2;</code>

 <pre>
 The IP address (only IPv4) as a packed 4-bytes integer,
 stored in network order.  Deprecated, use `address.ip` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getIp()">getIp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setIp(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIp</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setIp(int&nbsp;value)</pre>
<div class="block"><code>required uint32 ip = 2;</code>

 <pre>
 The IP address (only IPv4) as a packed 4-bytes integer,
 stored in network order.  Deprecated, use `address.ip` instead.
 </pre></div>
</li>
</ul>
<a name="clearIp()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearIp</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearIp()</pre>
<div class="block"><code>required uint32 ip = 2;</code>

 <pre>
 The IP address (only IPv4) as a packed 4-bytes integer,
 stored in network order.  Deprecated, use `address.ip` instead.
 </pre></div>
</li>
</ul>
<a name="hasPort()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasPort</h4>
<pre>public&nbsp;boolean&nbsp;hasPort()</pre>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code>

 <pre>
 The TCP port the Master is listening on for incoming
 HTTP requests; deprecated, use `address.port` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasPort()">hasPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getPort()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;int&nbsp;getPort()</pre>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code>

 <pre>
 The TCP port the Master is listening on for incoming
 HTTP requests; deprecated, use `address.port` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getPort()">getPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setPort(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPort</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setPort(int&nbsp;value)</pre>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code>

 <pre>
 The TCP port the Master is listening on for incoming
 HTTP requests; deprecated, use `address.port` instead.
 </pre></div>
</li>
</ul>
<a name="clearPort()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearPort</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearPort()</pre>
<div class="block"><code>required uint32 port = 3 [default = 5050];</code>

 <pre>
 The TCP port the Master is listening on for incoming
 HTTP requests; deprecated, use `address.port` instead.
 </pre></div>
</li>
</ul>
<a name="hasPid()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasPid</h4>
<pre>public&nbsp;boolean&nbsp;hasPid()</pre>
<div class="block"><code>optional string pid = 4;</code>

 <pre>
 In the default implementation, this will contain information
 about both the IP address, port and Master name; it should really
 not be relied upon by external tooling/frameworks and be
 considered an "internal" implementation field.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasPid()">hasPid</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getPid()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPid</h4>
<pre>public&nbsp;java.lang.String&nbsp;getPid()</pre>
<div class="block"><code>optional string pid = 4;</code>

 <pre>
 In the default implementation, this will contain information
 about both the IP address, port and Master name; it should really
 not be relied upon by external tooling/frameworks and be
 considered an "internal" implementation field.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getPid()">getPid</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getPidBytes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPidBytes</h4>
<pre>public&nbsp;com.google.protobuf.ByteString&nbsp;getPidBytes()</pre>
<div class="block"><code>optional string pid = 4;</code>

 <pre>
 In the default implementation, this will contain information
 about both the IP address, port and Master name; it should really
 not be relied upon by external tooling/frameworks and be
 considered an "internal" implementation field.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getPidBytes()">getPidBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setPid(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPid</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setPid(java.lang.String&nbsp;value)</pre>
<div class="block"><code>optional string pid = 4;</code>

 <pre>
 In the default implementation, this will contain information
 about both the IP address, port and Master name; it should really
 not be relied upon by external tooling/frameworks and be
 considered an "internal" implementation field.
 </pre></div>
</li>
</ul>
<a name="clearPid()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearPid</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearPid()</pre>
<div class="block"><code>optional string pid = 4;</code>

 <pre>
 In the default implementation, this will contain information
 about both the IP address, port and Master name; it should really
 not be relied upon by external tooling/frameworks and be
 considered an "internal" implementation field.
 </pre></div>
</li>
</ul>
<a name="setPidBytes(com.google.protobuf.ByteString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPidBytes</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setPidBytes(com.google.protobuf.ByteString&nbsp;value)</pre>
<div class="block"><code>optional string pid = 4;</code>

 <pre>
 In the default implementation, this will contain information
 about both the IP address, port and Master name; it should really
 not be relied upon by external tooling/frameworks and be
 considered an "internal" implementation field.
 </pre></div>
</li>
</ul>
<a name="hasHostname()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasHostname</h4>
<pre>public&nbsp;boolean&nbsp;hasHostname()</pre>
<div class="block"><code>optional string hostname = 5;</code>

 <pre>
 The server's hostname, if available; it may be unreliable
 in environments where the DNS configuration does not resolve
 internal hostnames (eg, some public cloud providers).
 Deprecated, use `address.hostname` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasHostname()">hasHostname</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getHostname()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHostname</h4>
<pre>public&nbsp;java.lang.String&nbsp;getHostname()</pre>
<div class="block"><code>optional string hostname = 5;</code>

 <pre>
 The server's hostname, if available; it may be unreliable
 in environments where the DNS configuration does not resolve
 internal hostnames (eg, some public cloud providers).
 Deprecated, use `address.hostname` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getHostname()">getHostname</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getHostnameBytes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHostnameBytes</h4>
<pre>public&nbsp;com.google.protobuf.ByteString&nbsp;getHostnameBytes()</pre>
<div class="block"><code>optional string hostname = 5;</code>

 <pre>
 The server's hostname, if available; it may be unreliable
 in environments where the DNS configuration does not resolve
 internal hostnames (eg, some public cloud providers).
 Deprecated, use `address.hostname` instead.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getHostnameBytes()">getHostnameBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setHostname(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHostname</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setHostname(java.lang.String&nbsp;value)</pre>
<div class="block"><code>optional string hostname = 5;</code>

 <pre>
 The server's hostname, if available; it may be unreliable
 in environments where the DNS configuration does not resolve
 internal hostnames (eg, some public cloud providers).
 Deprecated, use `address.hostname` instead.
 </pre></div>
</li>
</ul>
<a name="clearHostname()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearHostname</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearHostname()</pre>
<div class="block"><code>optional string hostname = 5;</code>

 <pre>
 The server's hostname, if available; it may be unreliable
 in environments where the DNS configuration does not resolve
 internal hostnames (eg, some public cloud providers).
 Deprecated, use `address.hostname` instead.
 </pre></div>
</li>
</ul>
<a name="setHostnameBytes(com.google.protobuf.ByteString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHostnameBytes</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setHostnameBytes(com.google.protobuf.ByteString&nbsp;value)</pre>
<div class="block"><code>optional string hostname = 5;</code>

 <pre>
 The server's hostname, if available; it may be unreliable
 in environments where the DNS configuration does not resolve
 internal hostnames (eg, some public cloud providers).
 Deprecated, use `address.hostname` instead.
 </pre></div>
</li>
</ul>
<a name="hasVersion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasVersion</h4>
<pre>public&nbsp;boolean&nbsp;hasVersion()</pre>
<div class="block"><code>optional string version = 6;</code>

 <pre>
 The running Master version, as a string; taken from the
 generated "master/version.hpp".
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasVersion()">hasVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getVersion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersion</h4>
<pre>public&nbsp;java.lang.String&nbsp;getVersion()</pre>
<div class="block"><code>optional string version = 6;</code>

 <pre>
 The running Master version, as a string; taken from the
 generated "master/version.hpp".
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getVersion()">getVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getVersionBytes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersionBytes</h4>
<pre>public&nbsp;com.google.protobuf.ByteString&nbsp;getVersionBytes()</pre>
<div class="block"><code>optional string version = 6;</code>

 <pre>
 The running Master version, as a string; taken from the
 generated "master/version.hpp".
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getVersionBytes()">getVersionBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setVersion(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVersion</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setVersion(java.lang.String&nbsp;value)</pre>
<div class="block"><code>optional string version = 6;</code>

 <pre>
 The running Master version, as a string; taken from the
 generated "master/version.hpp".
 </pre></div>
</li>
</ul>
<a name="clearVersion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearVersion</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearVersion()</pre>
<div class="block"><code>optional string version = 6;</code>

 <pre>
 The running Master version, as a string; taken from the
 generated "master/version.hpp".
 </pre></div>
</li>
</ul>
<a name="setVersionBytes(com.google.protobuf.ByteString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVersionBytes</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setVersionBytes(com.google.protobuf.ByteString&nbsp;value)</pre>
<div class="block"><code>optional string version = 6;</code>

 <pre>
 The running Master version, as a string; taken from the
 generated "master/version.hpp".
 </pre></div>
</li>
</ul>
<a name="hasAddress()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasAddress</h4>
<pre>public&nbsp;boolean&nbsp;hasAddress()</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#hasAddress()">hasAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="getAddress()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddress</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Address.html" title="class in org.apache.mesos">Protos.Address</a>&nbsp;getAddress()</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getAddress()">getAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></code></dd>
</dl>
</li>
</ul>
<a name="setAddress(org.apache.mesos.Protos.Address)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddress</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setAddress(<a href="../../../org/apache/mesos/Protos.Address.html" title="class in org.apache.mesos">Protos.Address</a>&nbsp;value)</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
</li>
</ul>
<a name="setAddress(org.apache.mesos.Protos.Address.Builder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddress</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;setAddress(<a href="../../../org/apache/mesos/Protos.Address.Builder.html" title="class in org.apache.mesos">Protos.Address.Builder</a>&nbsp;builderForValue)</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
</li>
</ul>
<a name="mergeAddress(org.apache.mesos.Protos.Address)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeAddress</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;mergeAddress(<a href="../../../org/apache/mesos/Protos.Address.html" title="class in org.apache.mesos">Protos.Address</a>&nbsp;value)</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
</li>
</ul>
<a name="clearAddress()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearAddress</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.MasterInfo.Builder.html" title="class in org.apache.mesos">Protos.MasterInfo.Builder</a>&nbsp;clearAddress()</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
</li>
</ul>
<a name="getAddressBuilder()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddressBuilder</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.Address.Builder.html" title="class in org.apache.mesos">Protos.Address.Builder</a>&nbsp;getAddressBuilder()</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
</li>
</ul>
<a name="getAddressOrBuilder()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAddressOrBuilder</h4>
<pre>public&nbsp;<a href="../../../org/apache/mesos/Protos.AddressOrBuilder.html" title="interface in org.apache.mesos">Protos.AddressOrBuilder</a>&nbsp;getAddressOrBuilder()</pre>
<div class="block"><code>optional .mesos.Address address = 7;</code>

 <pre>
 The full IP address (supports both IPv4 and IPv6 formats)
 and supersedes the use of `ip`, `port` and `hostname`.
 Since Mesos 0.24.
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html#getAddressOrBuilder()">getAddressOrBuilder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos">Protos.MasterInfoOrBuilder</a></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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../org/apache/mesos/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/mesos/Protos.MasterInfo.html" title="class in org.apache.mesos"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/mesos/Protos.MasterInfoOrBuilder.html" title="interface in org.apache.mesos"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/mesos/Protos.MasterInfo.Builder.html" target="_top">Frames</a></li>
<li><a href="Protos.MasterInfo.Builder.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>
