dokumentacja-plannaplan/dokumentacja-backendu/businesslogic/com/plannaplan/services/ExchangeService.html

374 lines
16 KiB
HTML

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Fri Jan 22 16:23:18 CET 2021 -->
<title>ExchangeService (buisnesslogic 1.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-22">
<meta name="description" content="declaration: package: com.plannaplan.services, class: ExchangeService">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExchangeService.html">Use</a></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">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.plannaplan.services</a></div>
<h1 title="Class ExchangeService" class="title">Class ExchangeService</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">com.plannaplan.services.ExchangeService</div>
</div>
<section class="description">
<hr>
<pre>@Service
public class <span class="typeNameLabel">ExchangeService</span>
extends java.lang.Object</pre>
<div class="block">Service to manage Exchanges</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ExchangeService</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></span>&#8203;(<a href="../entities/Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../entities/Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteExchange(com.plannaplan.entities.Exchange)">deleteExchange</a></span>&#8203;(<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;entity)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>java.util.List&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAllExchanges()">getAllExchanges</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>java.util.Optional&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getById(java.lang.Long)">getById</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>java.util.List&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getByUserId(java.lang.Long)">getByUserId</a></span>&#8203;(java.lang.Long&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>java.util.List&lt;<a href="../models/MatchData.html" title="class in com.plannaplan.models">MatchData</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatches()">getMatches</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#performExchange()">performExchange</a></span>()</code></th>
<td class="colLast">
<div class="block">method to perform Exchange algorythm.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#save(com.plannaplan.entities.Exchange)">save</a></span>&#8203;(<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;exchange)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">ExchangeService</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">ExchangeService</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="save(com.plannaplan.entities.Exchange)">save</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a></span>&nbsp;<span class="memberName">save</span>&#8203;(<span class="arguments"><a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;exchange)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exchange</code> - Instance to save in database</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Exchange Instance contains database id</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getById(java.lang.Long)">getById</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.Optional&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</span>&nbsp;<span class="memberName">getById</span>&#8203;(<span class="arguments">java.lang.Long&nbsp;id)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - Id of exchange in database</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional Exchange if found</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getAllExchanges()">getAllExchanges</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.List&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</span>&nbsp;<span class="memberName">getAllExchanges</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of all exchanges in database</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getByUserId(java.lang.Long)">getByUserId</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.List&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</span>&nbsp;<span class="memberName">getByUserId</span>&#8203;(<span class="arguments">java.lang.Long&nbsp;id)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - Id of user</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of exchanges that belong to user</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="deleteExchange(com.plannaplan.entities.Exchange)">deleteExchange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">deleteExchange</span>&#8203;(<span class="arguments"><a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&nbsp;entity)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>entity</code> - Exchange entity which we would like to delete</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="checkForExchange(com.plannaplan.entities.Assignment,com.plannaplan.entities.Groups)">checkForExchange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.Optional&lt;<a href="../entities/Exchange.html" title="class in com.plannaplan.entities">Exchange</a>&gt;</span>&nbsp;<span class="memberName">checkForExchange</span>&#8203;(<span class="arguments"><a href="../entities/Assignment.html" title="class in com.plannaplan.entities">Assignment</a>&nbsp;assignment,
<a href="../entities/Groups.html" title="class in com.plannaplan.entities">Groups</a>&nbsp;group)</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>assignment</code> - Assignment to trade for</dd>
<dd><code>group</code> - Desired group</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Optional with Exchange if exist</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="performExchange()">performExchange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">performExchange</span>()</div>
<div class="block">method to perform Exchange algorythm. It search for matches and swap
assignments between latests user commisions if it can be performed. After
swap we block users matches that contains switched groups. After algorythm
email is being sent to all users with information about performed exchanges</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getMatches()">getMatches</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.util.List&lt;<a href="../models/MatchData.html" title="class in com.plannaplan.models">MatchData</a>&gt;</span>&nbsp;<span class="memberName">getMatches</span>()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of matches found in database</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExchangeService.html">Use</a></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">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2021. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>