Packages

abstract class IdentifiableEntity extends Identifiable

Represent any entity that must have its own valid global unique identifier (GUID) to be functional.

The basic design philosophy of the workflow of a GUID at this stage is a deterministic state machine. At the start, an Exception will be thrown while the default conditions of the accessor and mutator are maintained. ("The ability to set a new valid GUID".) Only a valid GUID may be set and, once it does, that changes the conditions of the accessor and mutator to one where it will return the valid GUID and one where it will no longer accept a new GUID (valid or invalid). That GUID will continue being the GUID reported by the object, even if another valid GUID tries to be set. (No error or exception will be thrown.) To set a new GUID, the current one must be invalidated with the appropriate function, and this turns both the object and any object reference that can be acquired from the object "stale." Doing this prior to setting the initial valid GUID is fruitless as it restores the object to its default mutation option ("the ability to set a new valid GUID"). Access to the GUID is retained. This can be done as many times as is necessary by following the same order of actions.

The "staleness" of the object and the "staleness" of the GUID are related. The condition in general indicates that the object has somehow become externally disconnected from its GUID reference though the two still share something similar to their prior relationship internally. Do not expect a "stale" GUID to refer to the same object through some mapping mechanism. Do not expect a "stale" object to give you a GUID that will map back to itself.

Source
IdentifiableEntity.scala
Exceptions thrown

`NoGUIDException` if a GUID has not yet been assigned

Linear Supertypes
Identifiable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IdentifiableEntity
  2. Identifiable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new IdentifiableEntity()

    Exceptions thrown

    `NoGUIDException` if a GUID has not yet been assigned

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. def GUID: PlanetSideGUID
    Definition Classes
    IdentifiableEntityIdentifiable
  5. def GUID_=(guid: PlanetSideGUID): PlanetSideGUID
    Definition Classes
    IdentifiableEntityIdentifiable
  6. def GUID_=(guid: StalePlanetSideGUID): PlanetSideGUID

    Always intercept StalePlanetSideGUID references when attempting to mutate the GUID value.

    Always intercept StalePlanetSideGUID references when attempting to mutate the GUID value.

    guid

    the valid GUID to assign

    returns

    never returns

    Exceptions thrown

    `AssigningGUIDException` always

  7. def HasGUID: Boolean

    Flag when the object has no GUID (initial condition) or is considered stale.

    Flag when the object has no GUID (initial condition) or is considered stale.

    returns

    whether the value of the GUID is a valid representation for this object

  8. def Invalidate(): Unit

    Indicate that the current GUID is no longer a valid representation of the object.

    Indicate that the current GUID is no longer a valid representation of the object. Transforms whatever the current GUID is into a StalePlanetSideGUID entity with the same value. Doing this restores the object to its default mutation option ("the ability to set a new valid GUID"). The current GUID will still be accessed as if it were valid, but it will be wrapped in the new stale object.

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Identifiable

Inherited from AnyRef

Inherited from Any

Ungrouped