# PSF-LoginServer - master - net.psforever.objects.entity.IdentifiableEntity
PSF - LoginServer - master - net.psforever.objects.entity.IdentifiableEntity
Keywords: PSF LoginServer master net.psforever.objects.entity.IdentifiableEntity

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 entity
  Definition Classes
    objects
- AssigningGUIDException
- GUIDException
- Identifiable
- IdentifiableEntity
- NoGUIDException
- SimpleWorldEntity
- WorldEntity

c

net.psforever.objects.entity

# IdentifiableEntity 

###
Companion object IdentifiableEntity

#### 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
Known Subclasses
FakeNtuSource, AmmoBox, BoomerDeployable, BoomerTrigger, ConstructionItem, ExplosiveDeployable, Kit, LocalLockerItem, LocalProjectile, PlanetSideGameObject, Player, SensorDeployable, ShieldGeneratorDeployable, SimpleItem, Telepad, TelepadDeployable, Tool, TrapDeployable, TurretDeployable, Vehicle, Projectile, BaseDeployable, Deployable, Equipment, LockerContainer, LockerEquipment, PlanetSideServerObject, Door, Generator, CaptureFlag, CaptureFlagSocket, IFFLock, Locker, VehicleSpawnPad, Painbox, ResourceSilo, OrbitalShuttle, OrbitalShuttlePad, ShuttleAmenity, Amenity, AmenityOwner, Building, WarpGate, ProximityTerminal, Terminal, CaptureTerminal, ImplantTerminalMech, SpawnTube, FacilityTurret, TurretAmmoBox, TurretWeapon, Squad, InternalTelepad, ProximityTerminalUtility, SpawnTubeUtility, TeleportPadTerminalUtility, TerminalUtility, InteractsWithZone

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
     IdentifiableEntity → Identifiable
5.  def GUID_=(guid: PlanetSideGUID): PlanetSideGUID
   Definition Classes
     IdentifiableEntity → Identifiable
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