<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Serialized Form (Openmeetings Service 6.3.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Serialized Form (Openmeetings Service 6.3.0 API)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "./";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.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" id="allclasses_navbar_top">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Serialized Form" class="title">Serialized Form</h1>
</div>
<div class="serializedFormContainer">
<ul class="blockList">
<li class="blockList">
<section role="region">
<h2 title="Package">Package&nbsp;org.apache.openmeetings.service.mail.template</h2>
<ul class="blockList">
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.AbstractTemplatePanel">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.AbstractTemplatePanel</a> extends org.apache.wicket.markup.html.panel.Panel 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>app</h4>
<pre><a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/IApplication.html?is-external=true" title="class or interface in org.apache.openmeetings" class="externalLink">IApplication</a> app</pre>
</li>
<li class="blockListLast">
<h4>locale</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util" class="externalLink">Locale</a> locale</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.DashOmTextLabel">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/DashOmTextLabel.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.DashOmTextLabel</a> extends <a href="org/apache/openmeetings/service/mail/template/OmTextLabel.html" title="class in org.apache.openmeetings.service.mail.template">OmTextLabel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.FeedbackTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/FeedbackTemplate.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.FeedbackTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.InvitationTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/InvitationTemplate.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.InvitationTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.OmTextLabel">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/OmTextLabel.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.OmTextLabel</a> extends org.apache.wicket.markup.html.basic.Label implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.RegisterUserTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/RegisterUserTemplate.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.RegisterUserTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.RequestContactConfirmTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/RequestContactConfirmTemplate.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.RequestContactConfirmTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.RequestContactTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/RequestContactTemplate.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.RequestContactTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.ResetPasswordTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/ResetPasswordTemplate.html" title="class in org.apache.openmeetings.service.mail.template">org.apache.openmeetings.service.mail.template.ResetPasswordTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
</ul>
</section>
</li>
<li class="blockList">
<section role="region">
<h2 title="Package">Package&nbsp;org.apache.openmeetings.service.mail.template.subject</h2>
<ul class="blockList">
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.AppointmentReminderTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/AppointmentReminderTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.AppointmentReminderTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/AppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">AppointmentTemplate</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.AppointmentTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/AppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.AppointmentTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/SubjectEmailTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">SubjectEmailTemplate</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>a</h4>
<pre><a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/entity/calendar/Appointment.html?is-external=true" title="class or interface in org.apache.openmeetings.db.entity.calendar" class="externalLink">Appointment</a> a</pre>
</li>
<li class="blockListLast">
<h4>tz</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util" class="externalLink">TimeZone</a> tz</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.CanceledAppointmentTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/CanceledAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.CanceledAppointmentTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">InvitedAppointmentTemplate</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.CreatedAppointmentTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/CreatedAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.CreatedAppointmentTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">InvitedAppointmentTemplate</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.InvitedAppointmentTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.InvitedAppointmentTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/AppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">AppointmentTemplate</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>invitorName</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> invitorName</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.NewGroupUsersNotificationTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/NewGroupUsersNotificationTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.NewGroupUsersNotificationTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/SubjectEmailTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">SubjectEmailTemplate</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>g</h4>
<pre><a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/entity/user/Group.html?is-external=true" title="class or interface in org.apache.openmeetings.db.entity.user" class="externalLink">Group</a> g</pre>
</li>
<li class="blockListLast">
<h4>userCount</h4>
<pre>long userCount</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.RecordingExpiringTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/RecordingExpiringTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.RecordingExpiringTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/SubjectEmailTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">SubjectEmailTemplate</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>rec</h4>
<pre><a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/entity/record/Recording.html?is-external=true" title="class or interface in org.apache.openmeetings.db.entity.record" class="externalLink">Recording</a> rec</pre>
</li>
<li class="blockList">
<h4>remainingDays</h4>
<pre>long remainingDays</pre>
</li>
<li class="blockList">
<h4>roomDao</h4>
<pre><a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dao/room/RoomDao.html?is-external=true" title="class or interface in org.apache.openmeetings.db.dao.room" class="externalLink">RoomDao</a> roomDao</pre>
</li>
<li class="blockListLast">
<h4>u</h4>
<pre><a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/entity/user/User.html?is-external=true" title="class or interface in org.apache.openmeetings.db.entity.user" class="externalLink">User</a> u</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.SubjectEmailTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/SubjectEmailTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.SubjectEmailTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.html" title="class in org.apache.openmeetings.service.mail.template">AbstractTemplatePanel</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>created</h4>
<pre>boolean created</pre>
</li>
<li class="blockList">
<h4>email</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> email</pre>
</li>
<li class="blockListLast">
<h4>subject</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> subject</pre>
</li>
</ul>
</li>
</ul>
</li>
<li class="blockList"><a id="org.apache.openmeetings.service.mail.template.subject.UpdatedAppointmentTemplate">
<!--   -->
</a>
<h3>Class <a href="org/apache/openmeetings/service/mail/template/subject/UpdatedAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">org.apache.openmeetings.service.mail.template.subject.UpdatedAppointmentTemplate</a> extends <a href="org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.html" title="class in org.apache.openmeetings.service.mail.template.subject">InvitedAppointmentTemplate</a> implements Serializable</h3>
<dl class="nameValue">
<dt>serialVersionUID:</dt>
<dd>1L</dd>
</dl>
</li>
</ul>
</section>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.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" id="allclasses_navbar_bottom">
<li><a href="allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2022 <a href="https://apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
