# PSF-LoginServer - master - net.psforever.objects.guid.source.SpecificNumberSource
PSF - LoginServer - master - net.psforever.objects.guid.source.SpecificNumberSource
Keywords: PSF LoginServer master net.psforever.objects.guid.source.SpecificNumberSource

PSF-LoginServer - master < Back


# Packages

-  package root
  Definition Classes
    root
-  package net
  Definition Classes
    root
-  package psforever
  Definition Classes
    net
-  package objects
  Definition Classes
    psforever
-  package guid
  Definition Classes
    objects
-  package source
  Definition Classes
    guid
- MaxNumberSource
- NumberSource
- SpecificNumberSource

c

net.psforever.objects.guid.source

# SpecificNumberSource 

###
Companion object SpecificNumberSource

#### class SpecificNumberSource extends NumberSource

A `NumberSource` is considered a master "pool" of numbers from which all numbers are available to be drawn. Produce a series of numbers from 0 to a maximum number (inclusive) to be used as globally unique identifiers (GUID's).

Source
  SpecificNumberSource.scala
Exceptions thrown

  `IllegalArgumentException` if any of the numbers provided are negative

Linear Supertypes
NumberSource, AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. SpecificNumberSource
2. NumberSource
3. AnyRef
4. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new SpecificNumberSource(values: Iterable[Int])

   values

     the domain of numbers to be used by this source; must only be positive integers or zero

   Exceptions thrown

     `IllegalArgumentException` if any of the numbers provided are negative

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clear(): List[IdentifiableEntity]

   Reset all number `Monitor`s so that their underlying number is not longer treated as assigned.

   Reset all number `Monitor`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 `Monitors` that are marked as `Restricted`.

   returns

     a `List` of assignments maintained by all the currently-used number `Monitors`

   Definition Classes
     SpecificNumberSource → NumberSource
6.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
7.  def countAvailable: Int

   The count of numbers that can still be drawn.

   The count of numbers that can still be drawn.

   returns

     the count

   Definition Classes
     SpecificNumberSource → NumberSource
8.  def countUsed: Int

   The count of numbers that can not be drawn.

   The count of numbers that can not be drawn.

   returns

     the count

   Definition Classes
     SpecificNumberSource → NumberSource
9.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
10.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
11.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
12.  def finalizeRestrictions: List[Int]

    Numbers from this source may not longer be marked as `Restricted`.

    Numbers from this source may not longer be marked as `Restricted`.

    returns

      the `List` of all numbers that have been restricted

    Definition Classes
      SpecificNumberSource → NumberSource
13.  def get(obj: IdentifiableEntity): Option[SecureKey]

    Produce an un-modifiable wrapper for the `Monitor` for this entity, if the entity is discovered being represented in this source.

    Produce an un-modifiable wrapper for the `Monitor` for this entity, if the entity is discovered being represented in this source.

    obj

      the entity

    returns

      the wrapped `Monitor`

    Definition Classes
      SpecificNumberSource → NumberSource
14.  def get(number: Int): Option[SecureKey]

    Produce an un-modifiable wrapper for the `Monitor` for this number.

    Produce an un-modifiable wrapper for the `Monitor` for this number.

    number

      the number

    returns

      the wrapped `Monitor`

    Definition Classes
      SpecificNumberSource → NumberSource
15.  def getAvailable(number: Int): Option[LoanedKey]

    Produce a modifiable wrapper for the `Monitor` for this number, only if the number has not been used.

    Produce a modifiable wrapper for the `Monitor` for this number, only if the number has not been used. The `Monitor` should be updated before being wrapped, if necessary.

    number

      the number

    returns

      the wrapped `Monitor`, or `None`

    Definition Classes
      SpecificNumberSource → NumberSource
16.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
17.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
18.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
19.  def max: Int

    The maximum number that can be produced by this source.

    The maximum number that can be produced by this source.

    returns

      the max

    Definition Classes
      SpecificNumberSource → NumberSource
20.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
21.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
22.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
23.  def restrictNumber(number: Int): Option[LoanedKey]

    Produce a modifiable wrapper for the `Monitor` for this number, only if the number has not been used.

    Produce a modifiable wrapper for the `Monitor` for this number, only if the number has not been used. This wrapped `Monitor` can only be assigned once and the number may not be `returnNumber`ed to this source.

    number

      the number

    returns

      the wrapped `Monitor`

    Definition Classes
      SpecificNumberSource → NumberSource
24.  def returnNumber(number: Int): Option[IdentifiableEntity]

    Consume the number of a `Monitor` and release that number from its previous assignment/use.

    Consume the number of a `Monitor` and release that number from its previous assignment/use.

    number

      the number

    returns

      any object previously using this number

    Definition Classes
      SpecificNumberSource → NumberSource
25.  def returnNumber(monitor: LoanedKey): Option[IdentifiableEntity]

    Consume a wrapped `Monitor` and release its number from its previous assignment/use.

    Consume a wrapped `Monitor` and release its number from its previous assignment/use.

    monitor

      the `Monitor`

    returns

      any object previously using this `Monitor`

    Definition Classes
      NumberSource
26.  def returnNumber(monitor: SecureKey): Option[IdentifiableEntity]

    Consume a wrapped `Monitor` and release its number from its previous assignment/use.

    Consume a wrapped `Monitor` and release its number from its previous assignment/use.

    monitor

      the `Monitor`

    returns

      any object previously using this `Monitor`

    Definition Classes
      NumberSource
27.  def size: Int

    The count of numbers allocated to this source.

    The count of numbers allocated to this source.

    returns

      the count

    Definition Classes
      SpecificNumberSource → NumberSource
28.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
29.  def test(number: Int): Boolean

    Is this number a member of this number source?

    Is this number a member of this number source?

    number

      the number

    returns

      `true`, if it is a member; `false`, otherwise

    Definition Classes
      SpecificNumberSource → NumberSource
30.  def toString(): String
    Definition Classes
      AnyRef → Any
31.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
32.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
33.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from NumberSource

### Inherited from AnyRef

### Inherited from Any

### Ungrouped