PSF-LoginServer/net/psforever/objects/guid/source/NumberSource.html
2020-09-15 23:50:28 +00:00

19 lines
48 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.NumberSource</title><meta content="PSF - LoginServer - master - net.psforever.objects.guid.source.NumberSource" name="description"/><meta content="PSF LoginServer master net.psforever.objects.guid.source.NumberSource" 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">&lt;</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 class="name">guid</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented5 " name="net.psforever.objects.guid.source" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="source"></a><a id="source:source"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/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">source</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects.guid" id="net.psforever.objects.guid" class="extype">guid</a></dd></dl></div></li><li class="current-entities indented5"><a href="MaxNumberSource$.html" title="" class="object"></a> <a href="MaxNumberSource.html" title="A NumberSource is considered a master &quot;pool&quot; of numbers from which all numbers are available to be drawn." class="class"></a><a href="MaxNumberSource.html" title="A NumberSource is considered a master &quot;pool&quot; of numbers from which all numbers are available to be drawn.">MaxNumberSource</a></li><li class="current-entities indented5"><span class="separator"></span> <a href="" title="A NumberSource is considered a master &quot;pool&quot; of numbers from which all numbers are available to be drawn." class="trait"></a><a href="" title="A NumberSource is considered a master &quot;pool&quot; of numbers from which all numbers are available to be drawn.">NumberSource</a></li><li class="current-entities indented5"><a href="SpecificNumberSource$.html" title="" class="object"></a> <a href="SpecificNumberSource.html" title="A NumberSource is considered a master &quot;pool&quot; of numbers from which all numbers are available to be drawn." class="class"></a><a href="SpecificNumberSource.html" title="A NumberSource is considered a master &quot;pool&quot; of numbers from which all numbers are available to be drawn.">SpecificNumberSource</a></li></ul></div></div><div id="content"><body class="trait type"><div id="definition"><div class="big-circle trait">t</div><p id="owner"><a href="../../../../index.html" name="net" id="net" class="extype">net</a>.<a href="../../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a>.<a href="../../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a>.<a href="../index.html" name="net.psforever.objects.guid" id="net.psforever.objects.guid" class="extype">guid</a>.<a href="index.html" name="net.psforever.objects.guid.source" id="net.psforever.objects.guid.source" class="extype">source</a></p><h1>NumberSource<span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html" title="Permalink"><i class="material-icons"></i></a></span></h1><h3><span class="morelinks"></span></h3></div><h4 id="signature" class="signature"><span class="modifier_kind"><span class="modifier"></span> <span class="kind">trait</span></span> <span class="symbol"><span class="name">NumberSource</span><span class="result"> extends <span name="scala.AnyRef" class="extype">AnyRef</span></span></span></h4><div id="comment" class="fullcommenttop"><div class="comment cmt"><p>A <code>NumberSource</code> is considered a master "pool" of numbers from which all numbers are available to be drawn.
The numbers are considered to be exclusive.<br>
<br>
The following are guidelines for implementing classes.
The numbers allocated to this source are from zero up through positive integers.
When a number is drawn from the pool, it is flagged internally and can not be selected for drawing again until the flag is removed.
Some flagging states are allowed to restrict that number for the whole lifespan of the source.
This internal flagging is maintained by a "monitor" that should not directly get exposed.
Use the provided indirect referencing containers - <code>SecureKey</code> and <code>LoanedKey</code>.<br>
<br>
The purpose of a <code>NumberSource</code> is to help facilitate globally unique identifiers (GUID, pl. 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/NumberSource.scala" target="_blank">NumberSource.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div><div class="toggleContainer"><div class="toggle block"><span>Known Subclasses</span><div class="subClasses hiddenContent"><a href="MaxNumberSource.html" name="net.psforever.objects.guid.source.MaxNumberSource" id="net.psforever.objects.guid.source.MaxNumberSource" class="extype">MaxNumberSource</a>, <a href="SpecificNumberSource.html" name="net.psforever.objects.guid.source.SpecificNumberSource" id="net.psforever.objects.guid.source.SpecificNumberSource" class="extype">SpecificNumberSource</a></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.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 class="values members"><h3>Abstract Value Members</h3><ol><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#clear" group="Ungrouped" fullComment="yes" data-isabs="true" 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/NumberSource.html#clear():List[net.psforever.objects.entity.IdentifiableEntity]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#countAvailable" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="countAvailable:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#countAvailable:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#countUsed" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="countUsed:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#countUsed:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#finalizeRestrictions" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="finalizeRestrictions:List[Int]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#finalizeRestrictions:List[Int]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </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 not longer be marked as <code>Restricted</code>.</p><div class="fullcomment"><div class="comment cmt"><p>Numbers from this source may not longer be marked as <code>Restricted</code>.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the <code>List</code> of all numbers that have been restricted</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#get" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="get(obj:net.psforever.objects.entity.IdentifiableEntity):Option[net.psforever.objects.guid.key.SecureKey]"></a><a id="get(IdentifiableEntity):Option[SecureKey]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#get(obj:net.psforever.objects.entity.IdentifiableEntity):Option[net.psforever.objects.guid.key.SecureKey]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">get</span><span class="params">(<span name="obj">obj: <a href="../../entity/IdentifiableEntity.html" name="net.psforever.objects.entity.IdentifiableEntity" id="net.psforever.objects.entity.IdentifiableEntity" class="extype">IdentifiableEntity</a></span>)</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<a href="../key/SecureKey.html" name="net.psforever.objects.guid.key.SecureKey" id="net.psforever.objects.guid.key.SecureKey" class="extype">SecureKey</a>]</span></span><p class="shortcomment cmt">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 class="fullcomment"><div class="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><dl class="paramcmts block"><dt class="param">obj</dt><dd class="cmt"><p>the entity</p></dd><dt>returns</dt><dd class="cmt"><p>the wrapped <code>Monitor</code></p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#get" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="get(number:Int):Option[net.psforever.objects.guid.key.SecureKey]"></a><a id="get(Int):Option[SecureKey]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#get(number:Int):Option[net.psforever.objects.guid.key.SecureKey]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">get</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/SecureKey.html" name="net.psforever.objects.guid.key.SecureKey" id="net.psforever.objects.guid.key.SecureKey" class="extype">SecureKey</a>]</span></span><p class="shortcomment cmt">Produce an un-modifiable wrapper for the <code>Monitor</code> for this number.</p><div class="fullcomment"><div class="comment cmt"><p>Produce an un-modifiable wrapper for the <code>Monitor</code> for this number.</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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#getAvailable" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="getAvailable(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"></a><a id="getAvailable(Int):Option[LoanedKey]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#getAvailable(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">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">getAvailable</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.psforever.objects.guid.key.LoanedKey" id="net.psforever.objects.guid.key.LoanedKey" class="extype">LoanedKey</a>]</span></span><p class="shortcomment cmt">Produce a modifiable wrapper for the <code>Monitor</code> for this number, only if the number has not been used.</p><div class="fullcomment"><div class="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><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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#max" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="max:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#max:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">max</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">The maximum number that can be produced by this source.</p><div class="fullcomment"><div class="comment cmt"><p>The maximum number that can be produced by this source.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the max</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#restrictNumber" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="restrictNumber(number:Int):Option[net.psforever.objects.guid.key.LoanedKey]"></a><a id="restrictNumber(Int):Option[LoanedKey]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#restrictNumber(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">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">restrictNumber</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.psforever.objects.guid.key.LoanedKey" id="net.psforever.objects.guid.key.LoanedKey" class="extype">LoanedKey</a>]</span></span><p class="shortcomment cmt">Produce a modifiable wrapper for the <code>Monitor</code> for this number, only if the number has not been used.</p><div class="fullcomment"><div class="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><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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#returnNumber" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="returnNumber(number:Int):Option[net.psforever.objects.entity.IdentifiableEntity]"></a><a id="returnNumber(Int):Option[IdentifiableEntity]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#returnNumber(number:Int):Option[net.psforever.objects.entity.IdentifiableEntity]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">returnNumber</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></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#size" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="size:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#size:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">size</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><p class="shortcomment cmt">The count of numbers allocated to this source.</p><div class="fullcomment"><div class="comment cmt"><p>The count of numbers allocated to this source.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the count</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#test" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="test(number:Int):Boolean"></a><a id="test(Int):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#test(number:Int):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">test</span><span class="params">(<span name="number">number: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">Is this number a member of this number source?</p><div class="fullcomment"><div class="comment cmt"><p>Is this number a member of this number 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><code>true</code>, if it is a member; <code>false</code>, otherwise</p></dd></dl></div></li></ol></div><div class="values members"><h3>Concrete 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/NumberSource.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/NumberSource.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/NumberSource.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="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#asInstanceOf[T0]:T0" 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">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object"></a><a id="clone():AnyRef"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#clone():Object" 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">clone</span><span class="params">()</span><span class="result">: <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#eq(x$1:AnyRef):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">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#equals" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="equals(x$1:Object):Boolean"></a><a id="equals(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#equals(x$1:Object):Boolean" 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">equals</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="finalize():Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#finalize():Unit" 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">finalize</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="symbol">classOf[java.lang.Throwable]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#getClass" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="getClass():Class[_]"></a><a id="getClass():Class[_&lt;:AnyRef]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#getClass():Class[_]" 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">getClass</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#java.lang.Class" name="java.lang.Class" id="java.lang.Class" class="extype">Class</a>[_ &lt;: <span name="scala.AnyRef" class="extype">AnyRef</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#hashCode" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hashCode():Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#hashCode():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">hashCode</span><span class="params">()</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><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#isInstanceOf[T0]: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">isInstanceOf</span><span class="tparams">[<span name="T0">T0</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>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#ne" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#ne(x$1:AnyRef):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">ne</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#notify():Unit" 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">notify</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#notifyAll():Unit" 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">notifyAll</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#returnNumber" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="returnNumber(monitor:net.psforever.objects.guid.key.LoanedKey):Option[net.psforever.objects.entity.IdentifiableEntity]"></a><a id="returnNumber(LoanedKey):Option[IdentifiableEntity]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#returnNumber(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">returnNumber</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.entity.IdentifiableEntity" id="net.psforever.objects.entity.IdentifiableEntity" class="extype">IdentifiableEntity</a>]</span></span><p class="shortcomment cmt">Consume a wrapped <code>Monitor</code> and release its number from its previous assignment/use.</p><div class="fullcomment"><div class="comment cmt"><p>Consume a wrapped <code>Monitor</code> and release its number from its previous assignment/use.</p></div><dl class="paramcmts block"><dt class="param">monitor</dt><dd class="cmt"><p>the <code>Monitor</code></p></dd><dt>returns</dt><dd class="cmt"><p>any object previously using this <code>Monitor</code></p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.guid.source.NumberSource#returnNumber" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="returnNumber(monitor:net.psforever.objects.guid.key.SecureKey):Option[net.psforever.objects.entity.IdentifiableEntity]"></a><a id="returnNumber(SecureKey):Option[IdentifiableEntity]"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#returnNumber(monitor:net.psforever.objects.guid.key.SecureKey):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">returnNumber</span><span class="params">(<span name="monitor">monitor: <a href="../key/SecureKey.html" name="net.psforever.objects.guid.key.SecureKey" id="net.psforever.objects.guid.key.SecureKey" class="extype">SecureKey</a></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 a wrapped <code>Monitor</code> and release its number from its previous assignment/use.</p><div class="fullcomment"><div class="comment cmt"><p>Consume a wrapped <code>Monitor</code> and release its number from its previous assignment/use.</p></div><dl class="paramcmts block"><dt class="param">monitor</dt><dd class="cmt"><p>the <code>Monitor</code></p></dd><dt>returns</dt><dd class="cmt"><p>any object previously using this <code>Monitor</code></p></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=&gt;T0):T0"></a><a id="synchronized[T0](=&gt;T0):T0"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#synchronized[T0](x$1:=&gt;T0):T0" 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">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: =&gt; <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#toString():String" 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">toString</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</a></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#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#wait():Unit" 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">wait</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#wait(x$1:Long,x$2:Int):Unit" 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">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/guid/source/NumberSource.html#wait(x$1:Long):Unit" 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">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="scala.AnyRef" class="parent"><h3>Inherited from <span name="scala.AnyRef" class="extype">AnyRef</span></h3></div><div name="scala.Any" class="parent"><h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3></div></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>