mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-02-27 10:33:43 +00:00
11 lines
51 KiB
HTML
11 lines
51 KiB
HTML
|
|
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.objects.guid.source.LimitedNumberSource</title><meta content="PSF - LoginServer - master - net.psforever.objects.guid.source.LimitedNumberSource" name="description"/><meta content="PSF LoginServer master net.psforever.objects.guid.source.LimitedNumberSource" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../../lib/index.js"></script><script type="text/javascript" src="../../../../../index.js"></script><script type="text/javascript" src="../../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
|
||
|
|
var toRoot = '../../../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.objects" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="objects"></a><a id="objects:objects"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">objects</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.guid" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="guid"></a><a id="guid:guid"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span cla
|
||
|
|
The numbers are considered to be exclusive.<br>
|
||
|
|
<br>
|
||
|
|
Produce a series of numbers from 0 to a maximum number (inclusive) to be used as globally unique identifiers (GUIDs).</p></div><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/objects/guid/source/LimitedNumberSource.scala" target="_blank">LimitedNumberSource.scala</a></dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IllegalArgumentException" class="extype"><code>IllegalArgumentException</code></span> if <code>max</code> is less than zero (therefore the count of generated numbers is at most zero)</p></span><span class="cmt"><p><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NegativeArraySizeException.html" name="java.lang.NegativeArraySizeException" id="java.lang.NegativeArraySizeException" class="extype"><code>java.lang.NegativeArraySizeException</code></a> if the count of numbers generated due to max is negative</p></span></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a>, <span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="net.psforever.objects.guid.source.LimitedNumberSource"><span>LimitedNumberSource</span></li><li class="in" name="net.psforever.objects.guid.source.NumberSource"><span>NumberSource</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="constructors" class="members"><h3>Instance Constructors</h3><ol><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#<init>" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="<init>(max:Int):net.psforever.objects.guid.source.LimitedNumberSource"></a><a id="<init>:LimitedNumberSource"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#<init>(max:Int):net.psforever.objects.guid.source.LimitedNumberSource" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">new</span></span> <span class="symbol"><span class="name">LimitedNumberSource</span><span class="params">(<span name="max">max: <span name="scala.Int" class="extype">Int</span></span>)</span></span><p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">max</dt><dd class="cmt"><p>the highest number to be generated by this source;
|
||
|
|
must be a positive integer or zero</p></dd></dl><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IllegalArgumentException" class="extype"><code>IllegalArgumentException</code></span> if <code>max</code> is less than zero (therefore the count of generated numbers is at most zero)</p></span><span class="cmt"><p><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NegativeArraySizeException.html" name="java.lang.NegativeArraySizeException" id="java.lang.NegativeArraySizeException" class="extype"><code>java.lang.NegativeArraySizeException</code></a> if the count of numbers generated due to max is negative</p></span></dd></dl></div></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#Available" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Available(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"></a><a id="Available(Int):Option[LoanedKey]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#Available(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">Available</span><span class="params">(<span name="number">number: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<a href="../key/LoanedKey.html" name="net
|
||
|
|
The <code>Monitor</code> should be updated before being wrapped, if necessary.</p></div><dl class="paramcmts block"><dt class="param">number</dt><dd class="cmt"><p>the number</p></dd><dt>returns</dt><dd class="cmt"><p>the wrapped <code>Monitor</code>, or <code>None</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.guid.source.LimitedNumberSource" id="net.psforever.objects.guid.source.LimitedNumberSource" class="extype">LimitedNumberSource</a> → <a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#Clear" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Clear():List[net.psforever.objects.entity.IdentifiableEntity]"></a><a id="Clear():List[IdentifiableEntity]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#Clear():List[net.psforever.objects.entity.IdentifiableEntity]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">Clear</span><span class="params">()</span><span class="result">: <span name="scala.List" class="extype">List</span>[<a href="../../entity/IdentifiableEntity.html" name="net.psforever.objects.entity.IdentifiableEntity" id="net.psforever.objects.entity.IdentifiableEntity" class="extype">IdentifiableEntity</a>]</span></span><p class="shortcomment cmt">Reset all number <code>Monitor</code>s so that their underlying number is not longer treated as assigned.</p><div class="fullcomment"><div class="comment cmt"><p>Reset all number <code>Monitor</code>s so that their underlying number is not longer treated as assigned.
|
||
|
|
Perform some level of housecleaning to ensure that all dependencies are resolved in some manner.
|
||
|
|
This is the only way to free <code>Monitors</code> that are marked as <code>Restricted</code>.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>a <code>List</code> of assignments maintained by all the currently-used number <code>Monitors</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.guid.source.LimitedNumberSource" id="net.psforever.objects.guid.source.LimitedNumberSource" class="extype">LimitedNumberSource</a> → <a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#CountAvailable" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CountAvailable:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#CountAvailable:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">CountAvailable</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">The count of numbers that can still be drawn.</p><div class="fullcomment"><div class="comment cmt"><p>The count of numbers that can still be drawn.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the count</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.guid.source.LimitedNumberSource" id="net.psforever.objects.guid.source.LimitedNumberSource" class="extype">LimitedNumberSource</a> → <a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#CountUsed" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="CountUsed:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#CountUsed:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">CountUsed</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">The count of numbers that can not be drawn.</p><div class="fullcomment"><div class="comment cmt"><p>The count of numbers that can not be drawn.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the count</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.guid.source.LimitedNumberSource" id="net.psforever.objects.guid.source.LimitedNumberSource" class="extype">LimitedNumberSource</a> → <a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#FinalizeRestrictions" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="FinalizeRestrictions:List[Int]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#FinalizeRestrictions:List[Int]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">FinalizeRestrictions</span><span class="result">: <span name="scala.List" class="extype">List</span>[<span name="scala.Int" class="extype">Int</span>]</span></span><p class="shortcomment cmt">Numbers from this source may n
|
||
|
|
This wrapped <code>Monitor</code> can only be assigned once and the number may not be <code>Return</code>ed to this source.</p></div><dl class="paramcmts block"><dt class="param">number</dt><dd class="cmt"><p>the number</p></dd><dt>returns</dt><dd class="cmt"><p>the wrapped <code>Monitor</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.guid.source.LimitedNumberSource" id="net.psforever.objects.guid.source.LimitedNumberSource" class="extype">LimitedNumberSource</a> → <a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a></dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="ArrayIndexOutOfBoundsException" class="extype"><code>ArrayIndexOutOfBoundsException</code></span> if the requested number is above or below the range</p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.LimitedNumberSource#Return" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Return(number:Int):Option[net.psforever.objects.entity.IdentifiableEntity]"></a><a id="Return(Int):Option[IdentifiableEntity]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#Return(number:Int):Option[net.psforever.objects.entity.IdentifiableEntity]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">Return</span><span class="params">(<span name="number">number: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<a href="../../entity/IdentifiableEntity.html" name="net.psforever.objects.entity.IdentifiableEntity" id="net.psforever.objects.entity.IdentifiableEntity" class="extype">IdentifiableEntity</a>]</span></span><p class="shortcomment cmt">Consume the number of a <code>Monitor</code> and release that number from its previous assignment/use.</p><div class="fullcomment"><div class="comment cmt"><p>Consume the number of a <code>Monitor</code> and release that number from its previous assignment/use.</p></div><dl class="paramcmts block"><dt class="param">number</dt><dd class="cmt"><p>the number</p></dd><dt>returns</dt><dd class="cmt"><p>any object previously using this number</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.objects.guid.source.LimitedNumberSource" id="net.psforever.objects.guid.source.LimitedNumberSource" class="extype">LimitedNumberSource</a> → <a href="NumberSource.html" name="net.psforever.objects.guid.source.NumberSource" id="net.psforever.objects.guid.source.NumberSource" class="extype">NumberSource</a></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#Return" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Return(monitor:net.psforever.objects.guid.key.LoanedKey):Option[net.psforever.objects.entity.IdentifiableEntity]"></a><a id="Return(LoanedKey):Option[IdentifiableEntity]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/LimitedNumberSource.html#Return(monitor:net.psforever.objects.guid.key.LoanedKey):Option[net.psforever.objects.entity.IdentifiableEntity]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">Return</span><span class="params">(<span name="monitor">monitor: <a href="../key/LoanedKey.html" name="net.psforever.objects.guid.key.LoanedKey" id="net.psforever.objects.guid.key.LoanedKey" class="extype">LoanedKey</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<a href="../../entity/IdentifiableEntity.html" name="net.psforever.objects.entit
|