<!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_121) on Wed Feb 08 21:19:14 NOVT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Openmeetings Webservices 3.2.0 API)</title>
<meta name="date" content="2017-02-08">
<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="Index (Openmeetings Webservices 3.2.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 class="navBarCell1Rev">Index</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?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#add-java.lang.String-org.apache.openmeetings.db.dto.file.FileExplorerItemDTO-java.io.InputStream-">add(String, FileExplorerItemDTO, InputStream)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">to add a folder to the private drive, set parentFileExplorerItemId = 0 and isOwner to 1/true and
 externalUserId/externalUserType to a valid user</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#add-java.lang.String-java.lang.String-">add(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">add a new group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#add-java.lang.String-org.apache.openmeetings.db.dto.room.RoomDTO-">add(String, RoomDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Adds a new Room like through the Frontend</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ServerWebService.html#add-java.lang.String-org.apache.openmeetings.db.dto.server.ServerDTO-">add(String, ServerDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ServerWebService.html" title="class in org.apache.openmeetings.webservice">ServerWebService</a></dt>
<dd>
<div class="block">Method to add/update server</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#add-java.lang.String-org.apache.openmeetings.db.dto.user.UserDTO-java.lang.Boolean-">add(String, UserDTO, Boolean)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#addRoom-java.lang.String-java.lang.Long-java.lang.Long-">addRoom(String, Long, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Adds a room to an group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#addUser-java.lang.String-java.lang.Long-java.lang.Long-">addUser(String, Long, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Add user to a certain group</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentListMessageBodyWriter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#AppointmentListMessageBodyWriter--">AppointmentListMessageBodyWriter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentMessageBodyReader</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html#AppointmentMessageBodyReader--">AppointmentMessageBodyReader()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyReader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentMessageBodyWriter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#AppointmentMessageBodyWriter--">AppointmentMessageBodyWriter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#AppointmentParamConverter--">AppointmentParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">CalendarParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#CalendarParamConverter--">CalendarParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">CalendarWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">CalendarService contains methods to create, edit delete calendar meetings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#CalendarWebService--">CalendarWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#close-java.lang.String-long-">close(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Method to remotely close rooms.</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">Constants</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#Constants--">Constants()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ServerWebService.html#count-java.lang.String-">count(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ServerWebService.html" title="class in org.apache.openmeetings.webservice">ServerWebService</a></dt>
<dd>
<div class="block">Method to retrieve the total count of the servers participating in
 cluster</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#count-java.lang.String-java.lang.Long-">count(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#counters-java.lang.String-java.util.List-">counters(String, List&lt;Long&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Returns current users for rooms ids</div>
</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">DateParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#DateParamConverter--">DateParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#delete-java.lang.String-java.lang.Long-">delete(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">delete a calendar event

 If the given SID is from an Administrator or Web-Service user, the user
 can delete any appointment.<br/>
 If the SID is assigned to a simple user, he can only delete appointments
 where he is also the owner/creator of the appointment</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#delete-java.lang.String-java.lang.Long-">delete(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">deletes files or folders based on it id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#delete-java.lang.String-long-">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Deletes a group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#delete-java.lang.String-java.lang.Long-">delete(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Deletes a flv recording</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#delete-java.lang.String-long-">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Delete a room by its room id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ServerWebService.html#delete-java.lang.String-long-">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ServerWebService.html" title="class in org.apache.openmeetings.webservice">ServerWebService</a></dt>
<dd>
<div class="block">Method to delete server</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#delete-java.lang.String-long-">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#deleteExternal-java.lang.String-java.lang.String-java.lang.String-">deleteExternal(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">deletes a file by its external Id and type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#deleteExternal-java.lang.String-java.lang.String-java.lang.String-">deleteExternal(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">ErrorWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to get localized errors</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ErrorWebService.html#ErrorWebService--">ErrorWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice">ErrorWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">FileWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">Contains methods to import and upload files into the Files section of the
 conference room and the personal drive of any user</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#FileWebService--">FileWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#fromString-java.lang.String-">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#fromString-java.lang.String-">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#fromString-java.lang.String-">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ErrorWebService.html#get-long-long-">get(long, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice">ErrorWebService</a></dt>
<dd>
<div class="block">loads an Error-Object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Get the list of all groups</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#get-java.lang.String-java.lang.String-">get(String, String)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#get-java.lang.String-">get(String)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#getByRoom-java.lang.String-long-">getByRoom(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Load a calendar event by its room id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#getByTitle-java.lang.String-java.lang.String-">getByTitle(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Search a calendar event for the current SID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html#getConverter-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-">getConverter(Class&lt;T&gt;, Type, Annotation[])</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html" title="class in org.apache.openmeetings.webservice.util">OmParamConverterProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#getExternal-java.lang.String-java.lang.String-java.lang.String-">getExternal(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Gets a list of flv recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#getExternal-java.lang.String-java.lang.String-java.lang.String-java.lang.Long-org.apache.openmeetings.db.dto.room.RoomDTO-">getExternal(String, String, String, Long, RoomDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Checks if a room with this exteralRoomId + externalRoomType does exist,
 if yes it returns the room id if not, it will create the room and then
 return the room id of the newly created room</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#getExternalByRoom-java.lang.String-java.lang.Long-">getExternalByRoom(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Get list of recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#getExternalByType-java.lang.String-java.lang.String-">getExternalByType(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Gets a list of flv recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#getPresentationPreviewFileExplorer-java.lang.String-java.lang.String-">getPresentationPreviewFileExplorer(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">Get a LibraryPresentation-Object for a certain file</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#getPublic-java.lang.String-java.lang.String-">getPublic(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Returns an Object of Type RoomsList which contains a list of
 Room-Objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#getRoom-java.lang.String-long-">getRoom(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">Get a File Explorer Object by a given Room</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#getRoomById-java.lang.String-java.lang.Long-">getRoomById(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">returns a conference room object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#getRoomByParent-java.lang.String-long-long-">getRoomByParent(String, long, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">Get list of <a href="http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.html?is-external=true" title="class or interface in org.apache.openmeetings.db.dto.file"><code>FileExplorerItemDTO</code></a> by parent</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#getRoomHash-java.lang.String-org.apache.openmeetings.db.dto.user.ExternalUserDTO-org.apache.openmeetings.db.dto.room.RoomOptionsDTO-">getRoomHash(String, ExternalUserDTO, RoomOptionsDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ServerWebService.html#getServers-java.lang.String-int-int-">getServers(String, int, int)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ServerWebService.html" title="class in org.apache.openmeetings.webservice">ServerWebService</a></dt>
<dd>
<div class="block">Method to retrieve the list of the servers participating in cluster</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#getSize-java.util.List-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-">getSize(List&lt;AppointmentDTO&gt;, Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#getSize-org.apache.openmeetings.db.dto.calendar.AppointmentDTO-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-">getSize(AppointmentDTO, Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#getUsers-java.lang.String-long-int-int-java.lang.String-boolean-">getUsers(String, long, int, int, String, boolean)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Search users and return them</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/InfoWebService.html#getVersion--">getVersion()</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice">InfoWebService</a></dt>
<dd>
<div class="block">Method to get current OpenMeetings version</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">GroupWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to login and create hash to directly enter
 conference rooms, recordings or the application in general</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#GroupWebService--">GroupWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">InfoWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to get localized errors</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/InfoWebService.html#InfoWebService--">InfoWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice">InfoWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html#isReadable-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-">isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#isWriteable-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-">isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#isWriteable-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-">isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#json-org.apache.openmeetings.db.dto.calendar.AppointmentDTO-">json(AppointmentDTO)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#kick-java.lang.String-long-">kick(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">kick all uses of a certain room</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#kick-java.lang.String-java.lang.String-">kick(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#login-java.lang.String-java.lang.String-">login(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#move-java.lang.String-long-long-long-">move(String, long, long, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">move a file or folder</div>
</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">NetTestWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#NetTestWebService--">NetTestWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#next-java.lang.String-">next(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Get the next Calendar event for the current user of the SID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#nextForUser-java.lang.String-long-">nextForUser(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Get the next Calendar event for userId</div>
</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">OmParamConverterProvider</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html#OmParamConverterProvider--">OmParamConverterProvider()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html" title="class in org.apache.openmeetings.webservice.util">OmParamConverterProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#open-java.lang.String-long-">open(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Method to remotely open rooms.</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a> - package org.apache.openmeetings.webservice</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a> - package org.apache.openmeetings.webservice.util</dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#range-java.lang.String-java.util.Calendar-java.util.Calendar-">range(String, Calendar, Calendar)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Load appointments by a start / end range for the current SID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#rangeForUser-java.lang.String-long-java.util.Calendar-java.util.Calendar-">rangeForUser(String, long, Calendar, Calendar)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Load appointments by a start / end range for the userId</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html#readFrom-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-javax.ws.rs.core.MultivaluedMap-java.io.InputStream-">readFrom(Class&lt;AppointmentDTO&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyReader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">RecordingWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to work with recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#RecordingWebService--">RecordingWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#removeUser-java.lang.String-java.lang.Long-java.lang.Long-">removeUser(String, Long, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Remove user from a certain group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#rename-java.lang.String-long-java.lang.String-">rename(String, long, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">update a file or folder name</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ErrorWebService.html#report-java.lang.String-java.lang.String-">report(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice">ErrorWebService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">RoomWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">RoomService contains methods to manipulate rooms and create invitation hash</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#RoomWebService--">RoomWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#ROOT">ROOT</a></span> - Static variable in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#save-java.lang.String-org.apache.openmeetings.db.dto.calendar.AppointmentDTO-">save(String, AppointmentDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Save an appointment</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/ServerWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">ServerWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">This class provides method implementations necessary for OM to manage servers
 participating in cluster.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ServerWebService.html#ServerWebService--">ServerWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ServerWebService.html" title="class in org.apache.openmeetings.webservice">ServerWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#TNS">TNS</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#toString-org.apache.openmeetings.db.dto.calendar.AppointmentDTO-">toString(AppointmentDTO)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#toString-java.util.Calendar-">toString(Calendar)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#toString-java.util.Date-">toString(Date)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#upload-java.io.InputStream-">upload(InputStream)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#USER_SERVICE_NAME">USER_SERVICE_NAME</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#USER_SERVICE_PORT_NAME">USER_SERVICE_PORT_NAME</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">UserWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to login and create hash to directly enter
 conference rooms, recordings or the application in general</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#UserWebService--">UserWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#writeTo-java.util.List-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-javax.ws.rs.core.MultivaluedMap-java.io.OutputStream-">writeTo(List&lt;AppointmentDTO&gt;, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#writeTo-org.apache.openmeetings.db.dto.calendar.AppointmentDTO-java.lang.Class-java.lang.reflect.Type-java.lang.annotation.Annotation:A-javax.ws.rs.core.MediaType-javax.ws.rs.core.MultivaluedMap-java.io.OutputStream-">writeTo(AppointmentDTO, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:W">W</a>&nbsp;</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 class="navBarCell1Rev">Index</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?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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; 2012&#x2013;2017 <a href="http://apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
