</p></div><dlclass="attributes block"><dt>Source</dt><dd><ahref="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/objects/guid/source/NumberSource.scala"target="_blank">NumberSource.scala</a></dd></dl><divclass="toggleContainer"><divclass="toggle block"><span>Linear Supertypes</span><divclass="superTypes hiddenContent"><spanname="scala.AnyRef"class="extype">AnyRef</span>, <spanname="scala.Any"class="extype">Any</span></div></div></div><divclass="toggleContainer"><divclass="toggle block"><span>Known Subclasses</span><divclass="subClasses hiddenContent"><ahref="MaxNumberSource.html"name="net.psforever.objects.guid.source.MaxNumberSource"id="net.psforever.objects.guid.source.MaxNumberSource"class="extype">MaxNumberSource</a>, <ahref="SpecificNumberSource.html"name="net.psforever.objects.guid.source.SpecificNumberSource"id="net.psforever.objects.guid.source.SpecificNumberSource"class="extype">SpecificNumberSource</a></div></div></div></div><divid="mbrsel"><divclass="toggle"></div><divid="memberfilter"><iclass="material-icons arrow"></i><spanclass="input"><inputplaceholder="Filter all members"id="mbrsel-input"type="text"accesskey="/"/></span><iclass="clear material-icons"></i></div><divid="filterby"><divid="order"><spanclass="filtertype">Ordering</span><ol><liclass="alpha in"><span>Alphabetic</span></li><liclass="inherit out"><span>By Inheritance</span></li></ol></div><divclass="ancestors"><spanclass="filtertype">Inherited<br/></span><olid="linearization"><liclass="in"name="net.psforever.objects.guid.source.NumberSource"><span>NumberSource</span></li><liclass="in"name="scala.AnyRef"><span>AnyRef</span></li><liclass="in"name="scala.Any"><span>Any</span></li></ol></div><divclass="ancestors"><spanclass="filtertype"></span><ol><liclass="hideall out"><span>Hide All</span></li><liclass="showall in"><span>Show All</span></li></ol></div><divid="visbl"><spanclass="filtertype">Visibility</span><ol><liclass="public in"><span>Public</span></li><liclass="protected out"><span>Protected</span></li></ol></div></div></div><divid="template"><divid="allMembers"><divclass="values members"><h3>Abstract Value Members</h3><ol><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#clear"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="clear():List[net.psforever.objects.entity.IdentifiableEntity]"></a><aid="clear():List[IdentifiableEntity]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#clear():List[net.psforever.objects.entity.IdentifiableEntity]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">clear</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.List"class="extype">List</span>[<ahref="../../entity/IdentifiableEntity.html"name="net.psforever.objects.entity.IdentifiableEntity"id="net.psforever.objects.entity.IdentifiableEntity"class="extype">IdentifiableEntity</a>]</span></span><pclass="shortcomment cmt">Reset all number <code>Monitor</code>s so that their underlying number is not longer treated as assigned.</p><divclass="fullcomment"><divclass="comment cmt"><p>Reset all number <code>Monitor</code>s so that their underlying number is not longer treated as assigned.
This is the only way to free <code>Monitors</code> that are marked as <code>Restricted</code>.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>a <code>List</code> of assignments maintained by all the currently-used number <code>Monitors</code></p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#countAvailable"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="countAvailable:Int"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#countAvailable:Int"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">countAvailable</span><spanclass="result">: <spanname="scala.Int"class="extype">Int</span></span></span><pclass="shortcomment cmt">The count of numbers that can still be drawn.</p><divclass="fullcomment"><divclass="comment cmt"><p>The count of numbers that can still be drawn.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the count</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#countUsed"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="countUsed:Int"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#countUsed:Int"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">countUsed</span><spanclass="result">: <spanname="scala.Int"class="extype">Int</span></span></span><pclass="shortcomment cmt">The count of numbers that can not be drawn.</p><divclass="fullcomment"><divclass="comment cmt"><p>The count of numbers that can not be drawn.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the count</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#finalizeRestrictions"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="finalizeRestrictions:List[Int]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#finalizeRestrictions:List[Int]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">finalizeRestrictions</span><spanclass="result">: <spanname="scala.List"class="extype">List</span>[<spanname="scala.Int"class="extype">Int</span>]</span></span><pclass="shortcomment cmt">Numbers from this source may not longer be marked as <code>Restricted</code>.</p><divclass="fullcomment"><divclass="comment cmt"><p>Numbers from this source may not longer be marked as <code>Restricted</code>.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the <code>List</code> of all numbers that have been restricted</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#get"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="get(obj:net.psforever.objects.entity.IdentifiableEntity):Option[net.psforever.objects.guid.key.SecureKey]"></a><aid="get(IdentifiableEntity):Option[SecureKey]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#get(obj:net.psforever.objects.entity.IdentifiableEntity):Option[net.psforever.objects.guid.key.SecureKey]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">get</span><spanclass="params">(<spanname="obj">obj: <ahref="../../entity/IdentifiableEntity.html"name="net.psforever.objects.entity.IdentifiableEntity"id="net.psfor
if the entity is discovered being represented in this source.</p><divclass="fullcomment"><divclass="comment cmt"><p>Produce an un-modifiable wrapper for the <code>Monitor</code> for this entity,
if the entity is discovered being represented in this source.</p></div><dlclass="paramcmts block"><dtclass="param">obj</dt><ddclass="cmt"><p>the entity</p></dd><dt>returns</dt><ddclass="cmt"><p>the wrapped <code>Monitor</code></p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#get"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="get(number:Int):Option[net.psforever.objects.guid.key.SecureKey]"></a><aid="get(Int):Option[SecureKey]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#get(number:Int):Option[net.psforever.objects.guid.key.SecureKey]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">get</span><spanclass="params">(<spanname="number">number: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../key/SecureKey.html"name="net.psforever.objects.guid.key.SecureKey"id="net.psforever.objects.guid.key.SecureKey"class="extype">SecureKey</a>]</span></span><pclass="shortcomment cmt">Produce an un-modifiable wrapper for the <code>Monitor</code> for this number.</p><divclass="fullcomment"><divclass="comment cmt"><p>Produce an un-modifiable wrapper for the <code>Monitor</code> for this number.</p></div><dlclass="paramcmts block"><dtclass="param">number</dt><ddclass="cmt"><p>the number</p></dd><dt>returns</dt><ddclass="cmt"><p>the wrapped <code>Monitor</code></p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#getAvailable"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="getAvailable(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"></a><aid="getAvailable(Int):Option[LoanedKey]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#getAvailable(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">getAvailable</span><spanclass="params">(<spanname="number">number: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../key/LoanedKey.html"name="net.psforever.objects.guid.key.LoanedKey"id="net.psforever.objects.guid.key.LoanedKey"class="extype">LoanedKey</a>]</span></span><pclass="shortcomment cmt">Produce a modifiable wrapper for the <code>Monitor</code> for this number, only if the number has not been used.</p><divclass="fullcomment"><divclass="comment cmt"><p>Produce a modifiable wrapper for the <code>Monitor</code> for this number, only if the number has not been used.
The <code>Monitor</code> should be updated before being wrapped, if necessary.</p></div><dlclass="paramcmts block"><dtclass="param">number</dt><ddclass="cmt"><p>the number</p></dd><dt>returns</dt><ddclass="cmt"><p>the wrapped <code>Monitor</code>, or <code>None</code></p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#max"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="max:Int"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#max:Int"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">max</span><spanclass="result">: <spanname="scala.Int"class="extype">Int</span></span></span><pclass="shortcomment cmt">The maximum number that can be produced by this source.</p><divclass="fullcomment"><divclass="comment cmt"><p>The maximum number that can be produced by this source.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the max</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#restrictNumber"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="restrictNumber(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"></a><aid="restrictNumber(Int):Option[LoanedKey]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#restrictNumber(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">restrictNumber</span><spanclass="params">(<spanname="number">number: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../key/LoanedKey.html"name="net.psforever.objects.guid.key.LoanedKey"id="net.psforever.objects.guid.key.LoanedKey"class="extype">LoanedKey</a>]</span></span><pclass="shortcomment cmt">Produce a modifiable wrapper for the <code>Monitor</code> for this number, only if the number has not been used.</p><divclass="fullcomment"><divclass="comment cmt"><p>Produce a modifiable wrapper for the <code>Monitor</code> for this number, only if the number has not been used.
This wrapped <code>Monitor</code> can only be assigned once and the number may not be <code>returnNumber</code>ed to this source.</p></div><dlclass="paramcmts block"><dtclass="param">number</dt><ddclass="cmt"><p>the number</p></dd><dt>returns</dt><ddclass="cmt"><p>the wrapped <code>Monitor</code></p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#returnNumber"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="returnNumber(number:Int):Option[net.psforever.objects.entity.IdentifiableEntity]"></a><aid="returnNumber(Int):Option[IdentifiableEntity]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#returnNumber(number:Int):Option[net.psforever.objects.entity.IdentifiableEntity]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">returnNumber</span><spanclass="params">(<spanname="number">number: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../entity/IdentifiableEntity.html"name="net.psforever.objects.entity.IdentifiableEntity"id="net.psforever.objects.entity.IdentifiableEntity"class="extype">IdentifiableEntity</a>]</span></span><pclass="shortcomment cmt">Consume the number of a <code>Monitor</code> and release that number from its previous assignment/use.</p><divclass="fullcomment"><divclass="comment cmt"><p>Consume the number of a <code>Monitor</code> and release that number from its previous assignment/use.</p></div><dlclass="paramcmts block"><dtclass="param">number</dt><ddclass="cmt"><p>the number</p></dd><dt>returns</dt><ddclass="cmt"><p>any object previously using this number</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#size"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="size:Int"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#size:Int"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">size</span><spanclass="result">: <spanname="scala.Int"class="extype">Int</span></span></span><pclass="shortcomment cmt">The count of numbers allocated to this source.</p><divclass="fullcomment"><divclass="comment cmt"><p>The count of numbers allocated to this source.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the count</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.guid.source.NumberSource#test"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="test(number:Int):Boolean"></a><aid="test(Int):Boolean"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/guid/source/NumberSource.html#test(number:Int):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">test</span><spanclass="params">(<spanname="number">number: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><pclass="shortcomment cmt">Is this number a member of this number source?</p><divclass="fullcomment"><divclass="comment cmt"><p>Is this number a member of this number source?</p></div><dlclass="paramcmts block"><dtclass="param">number</dt><ddclass="cmt"><p>the number</p></dd><dt>returns</dt><ddclass="cmt"><p><code>true</code>, if it is a member; <code>false</code>, otherwise</p></dd></dl></div></li></ol></div><divclass="values members"><h3>Concrete Value Members</h3><ol><liclass="indented0 "name="scala.AnyRef#!=