<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_65) on Wed Dec 02 18:10:34 MST 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Serialized Form (dcs 1.9.0 API)</title>
<meta name="date" content="2015-12-02">
<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="Serialized Form (dcs 1.9.0 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?serialized-form.html" target="_top">Frames</a></li>
<li><a href="serialized-form.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Serialized Form" class="title">Serialized Form</h1>
</div>
<div class="serializedFormContainer">
<ul class="blockList">
<li class="blockList">
<h2 title="Package">Package&nbsp;org.trafodion.dcs.http</h2>
<ul class="blockList">
<li class="blockList"><a name="org.trafodion.dcs.http.HttpServer.StackServlet">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/http/HttpServer.StackServlet.html" title="class in org.trafodion.dcs.http">org.trafodion.dcs.http.HttpServer.StackServlet</a> extends javax.servlet.http.HttpServlet implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>-6284183679759467039L</dd>
</dl>
</li>
</ul>
</li>
<li class="blockList">
<h2 title="Package">Package&nbsp;org.trafodion.dcs.master</h2>
<ul class="blockList">
<li class="blockList"><a name="org.trafodion.dcs.master.MasterStatusServlet">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/master/MasterStatusServlet.html" title="class in org.trafodion.dcs.master">org.trafodion.dcs.master.MasterStatusServlet</a> extends javax.servlet.http.HttpServlet implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
</ul>
</li>
<li class="blockList">
<h2 title="Package">Package&nbsp;org.trafodion.dcs.rest.model</h2>
<ul class="blockList">
<li class="blockList"><a name="org.trafodion.dcs.rest.model.ServerModel">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/rest/model/ServerModel.html" title="class in org.trafodion.dcs.rest.model">org.trafodion.dcs.rest.model.ServerModel</a> extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
<ul class="blockList">
<li class="blockList">
<h3>Serialized Fields</h3>
<ul class="blockList">
<li class="blockListLast">
<h4>dcsMaster</h4>
<pre><a href="org/trafodion/dcs/rest/model/ServerModel.DcsMaster.html" title="class in org.trafodion.dcs.rest.model">ServerModel.DcsMaster</a> dcsMaster</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a name="org.trafodion.dcs.rest.model.VersionModel">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/rest/model/VersionModel.html" title="class in org.trafodion.dcs.rest.model">org.trafodion.dcs.rest.model.VersionModel</a> extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
<ul class="blockList">
<li class="blockList">
<h3>Serialized Fields</h3>
<ul class="blockList">
<li class="blockList">
<h4>restVersion</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> restVersion</pre>
</li>
<li class="blockList">
<h4>jvmVersion</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> jvmVersion</pre>
</li>
<li class="blockList">
<h4>osVersion</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> osVersion</pre>
</li>
<li class="blockList">
<h4>serverVersion</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> serverVersion</pre>
</li>
<li class="blockListLast">
<h4>jerseyVersion</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> jerseyVersion</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a name="org.trafodion.dcs.rest.model.WorkloadModel">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/rest/model/WorkloadModel.html" title="class in org.trafodion.dcs.rest.model">org.trafodion.dcs.rest.model.WorkloadModel</a> extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
<ul class="blockList">
<li class="blockList">
<h3>Serialized Fields</h3>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> type</pre>
</li>
<li class="blockList">
<h4>znode</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> znode</pre>
</li>
<li class="blockListLast">
<h4>data</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> data</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList">
<h2 title="Package">Package&nbsp;org.trafodion.dcs.server</h2>
<ul class="blockList">
<li class="blockList"><a name="org.trafodion.dcs.server.ServerStatusServlet">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/server/ServerStatusServlet.html" title="class in org.trafodion.dcs.server">org.trafodion.dcs.server.ServerStatusServlet</a> extends javax.servlet.http.HttpServlet implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
</ul>
</li>
<li class="blockList">
<h2 title="Package">Package&nbsp;org.trafodion.dcs.servermt</h2>
<ul class="blockList">
<li class="blockList"><a name="org.trafodion.dcs.servermt.ServerStatusServlet">
<!--   -->
</a>
<h3>Class <a href="org/trafodion/dcs/servermt/ServerStatusServlet.html" title="class in org.trafodion.dcs.servermt">org.trafodion.dcs.servermt.ServerStatusServlet</a> extends javax.servlet.http.HttpServlet implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?serialized-form.html" target="_top">Frames</a></li>
<li><a href="serialized-form.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
</body>
</html>
