bgabriel998/SoftwareDevProject

View on GitHub
doc/JavaDoc/ch/epfl/sdp/peakar/user/services/Account.html

Summary

Maintainability
Test Coverage
<!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_242-release) on Fri Jun 04 18:15:41 CEST 2021 -->
<title>Account</title>
<meta name="date" content="2021-06-04">
<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="Account";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../ch/epfl/sdp/peakar/user/services/AccountData.html" title="class in ch.epfl.sdp.peakar.user.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?ch/epfl/sdp/peakar/user/services/Account.html" target="_top">Frames</a></li>
<li><a href="Account.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">ch.epfl.sdp.peakar.user.services</div>
<h2 title="Class Account" class="title">Class Account</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>ch.epfl.sdp.peakar.user.services.Account</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../ch/epfl/sdp/peakar/user/services/AuthAccount.html" title="class in ch.epfl.sdp.peakar.user.services">AuthAccount</a>, <a href="../../../../../../ch/epfl/sdp/peakar/user/services/OtherAccount.html" title="class in ch.epfl.sdp.peakar.user.services">OtherAccount</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Account</span>
extends java.lang.Object</pre>
<div class="block">This class describes the local behaviour of the account model regardless of the Database provider.
 For each database provider:
 1. extend this class implementing RemoteResource interface to handle the interaction with the specific Database.
 2. implement the modifiers methods that need interaction with the specific Database.
 This class describes both an authenticated user and another loaded account, even if both of them may have additional methods.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../ch/epfl/sdp/peakar/user/services/AccountData.html" title="class in ch.epfl.sdp.peakar.user.services">AccountData</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#accountData">accountData</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#NAME_MAX_LENGTH">NAME_MAX_LENGTH</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#NAME_MIN_LENGTH">NAME_MIN_LENGTH</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#USERNAME_BEFORE_REGISTRATION">USERNAME_BEFORE_REGISTRATION</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#Account--">Account</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static java.lang.Boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#checkUsernameValidity-java.lang.String-">checkUsernameValidity</a></span>(java.lang.String&nbsp;username)</code>
<div class="block">Check if the username chosen by the user is valid.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../ch/epfl/sdp/peakar/user/challenge/Challenge.html" title="interface in ch.epfl.sdp.peakar.user.challenge">Challenge</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getChallenges--">getChallenges</a></span>()</code>
<div class="block">Get the challenges joined by the user.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.HashMap&lt;java.lang.String,<a href="../../../../../../ch/epfl/sdp/peakar/points/CountryHighPoint.html" title="class in ch.epfl.sdp.peakar.points">CountryHighPoint</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getDiscoveredCountryHighPoint--">getDiscoveredCountryHighPoint</a></span>()</code>
<div class="block">Get the country high points discovered by the user.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getDiscoveredCountryHighPointNames--">getDiscoveredCountryHighPointNames</a></span>()</code>
<div class="block">Return only the names of the discovered country high points
 as a list of strings</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.util.HashSet&lt;java.lang.Integer&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getDiscoveredPeakHeights--">getDiscoveredPeakHeights</a></span>()</code>
<div class="block">Get the list containing all height badges discovered by the user.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.HashSet&lt;<a href="../../../../../../ch/epfl/sdp/peakar/points/POIPoint.html" title="class in ch.epfl.sdp.peakar.points">POIPoint</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getDiscoveredPeaks--">getDiscoveredPeaks</a></span>()</code>
<div class="block">Get the peaks discovered by the user.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../ch/epfl/sdp/peakar/social/SocialItem.html" title="class in ch.epfl.sdp.peakar.social">SocialItem</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getFriends--">getFriends</a></span>()</code>
<div class="block">Get the friends of the the user.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getScore--">getScore</a></span>()</code>
<div class="block">Get the score of the user.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../ch/epfl/sdp/peakar/user/services/Account.html#getUsername--">getUsername</a></span>()</code>
<div class="block">Get the username of the user.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="NAME_MAX_LENGTH">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NAME_MAX_LENGTH</h4>
<pre>public static&nbsp;int NAME_MAX_LENGTH</pre>
</li>
</ul>
<a name="NAME_MIN_LENGTH">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NAME_MIN_LENGTH</h4>
<pre>public static&nbsp;int NAME_MIN_LENGTH</pre>
</li>
</ul>
<a name="USERNAME_BEFORE_REGISTRATION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USERNAME_BEFORE_REGISTRATION</h4>
<pre>public static&nbsp;java.lang.String USERNAME_BEFORE_REGISTRATION</pre>
</li>
</ul>
<a name="accountData">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>accountData</h4>
<pre>protected&nbsp;<a href="../../../../../../ch/epfl/sdp/peakar/user/services/AccountData.html" title="class in ch.epfl.sdp.peakar.user.services">AccountData</a> accountData</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Account--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Account</h4>
<pre>public&nbsp;Account()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getUsername--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUsername</h4>
<pre>public&nbsp;java.lang.String&nbsp;getUsername()</pre>
<div class="block">Get the username of the user.</div>
</li>
</ul>
<a name="getScore--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScore</h4>
<pre>public&nbsp;long&nbsp;getScore()</pre>
<div class="block">Get the score of the user.</div>
</li>
</ul>
<a name="getDiscoveredCountryHighPoint--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoveredCountryHighPoint</h4>
<pre>public&nbsp;java.util.HashMap&lt;java.lang.String,<a href="../../../../../../ch/epfl/sdp/peakar/points/CountryHighPoint.html" title="class in ch.epfl.sdp.peakar.points">CountryHighPoint</a>&gt;&nbsp;getDiscoveredCountryHighPoint()</pre>
<div class="block">Get the country high points discovered by the user.</div>
</li>
</ul>
<a name="getDiscoveredCountryHighPointNames--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoveredCountryHighPointNames</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getDiscoveredCountryHighPointNames()</pre>
<div class="block">Return only the names of the discovered country high points
 as a list of strings</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of peak names</dd>
</dl>
</li>
</ul>
<a name="getDiscoveredPeakHeights--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoveredPeakHeights</h4>
<pre>public&nbsp;java.util.HashSet&lt;java.lang.Integer&gt;&nbsp;getDiscoveredPeakHeights()</pre>
<div class="block">Get the list containing all height badges discovered by the user.</div>
</li>
</ul>
<a name="getDiscoveredPeaks--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoveredPeaks</h4>
<pre>public&nbsp;java.util.HashSet&lt;<a href="../../../../../../ch/epfl/sdp/peakar/points/POIPoint.html" title="class in ch.epfl.sdp.peakar.points">POIPoint</a>&gt;&nbsp;getDiscoveredPeaks()</pre>
<div class="block">Get the peaks discovered by the user.</div>
</li>
</ul>
<a name="getFriends--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFriends</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../../../ch/epfl/sdp/peakar/social/SocialItem.html" title="class in ch.epfl.sdp.peakar.social">SocialItem</a>&gt;&nbsp;getFriends()</pre>
<div class="block">Get the friends of the the user.</div>
</li>
</ul>
<a name="getChallenges--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChallenges</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../../../ch/epfl/sdp/peakar/user/challenge/Challenge.html" title="interface in ch.epfl.sdp.peakar.user.challenge">Challenge</a>&gt;&nbsp;getChallenges()</pre>
<div class="block">Get the challenges joined by the user.</div>
</li>
</ul>
<a name="checkUsernameValidity-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkUsernameValidity</h4>
<pre>public static&nbsp;java.lang.Boolean&nbsp;checkUsernameValidity(java.lang.String&nbsp;username)</pre>
<div class="block">Check if the username chosen by the user is valid.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - inserted by the user.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if and only if the username is valid.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../ch/epfl/sdp/peakar/user/services/AccountData.html" title="class in ch.epfl.sdp.peakar.user.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?ch/epfl/sdp/peakar/user/services/Account.html" target="_top">Frames</a></li>
<li><a href="Account.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>