de.esprit.netsuite.server.abo

## Class AbstractSingletonABO<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>

- java.lang.Object
- - de.esprit.common.util.DumpableObject
  - - de.esprit.common.util.TransferableObject
    - - de.esprit.netsuite.netdata.AbstractCrossPlatformObject<C,S>
      - - de.esprit.netsuite.server.core.AccessibleServerObject<C,S>
        - - de.esprit.netsuite.server.abo.AbstractABO<C,S,I>
          - - de.esprit.netsuite.server.abo.AbstractSingletonABO<C,S,I>

- All Implemented Interfaces:
    Renderable, SimpleLogSupport, DeepCloneable, Dumpable, ClientObject<C>, CrossPlatformObject<C,S>, LastAccessed, AliveBusinessObject<C,S,I>, RemoteLockable, PermissionControlled, ServerObject<S>, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable
  Direct Known Subclasses:
    AbstractLoadMeterABO, CoServerConnectionABO, ServerStatisticABO, SimpleTrackABO

      public abstract class AbstractSingletonABO<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>
      extends AbstractABO<C,S,I>

  This is the base class for all Singleton ABOs. Only one instance of this class may exist in the `ABOServerCache`.
  Author:
    Rainer Buesch
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractSingletonABO(C clientCtx)`
    `AbstractSingletonABO(S serverCtx)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ABOEditDialog` | `createEditDialog(javax.swing.JDialog parent, ABOList list)`
    `protected PrimaryKey` | `createPrimaryKey()` The ABO class must create the PrimaryKey it will need by its own.
    `I` | `fetch(boolean withLock)`
    `javax.swing.Icon` | `getRenderIcon()`
    `I` | `instantiateOnServer(java.lang.Object... pkValues)`
    `boolean` | `isCacheResident()` Overridden to make singleton ABOs cache-resident by default

    - ### Methods inherited from class de.esprit.netsuite.server.abo.AbstractABO

      `addChangeListener, clone, compareTo, copyABOValues, create, createChangeGate, createOnServer, createPermissionDefinition, deepClone, delete, deleteOnServer, drop, dropOnServer, equals, fetch, findCachedABOs, fireABOInitialized, getPermissionDefinition, getPrimaryKey, getRenderColor, getRenderText, getResourceName, getResourceType, getUpdateCount, hashCode, isbeingAccessed, isLockedByMe, isNumb, isOnline, isVisibleInClientMonitor, overtakeABOValues, receivedUpdateEvent, refetch, removeChangeListener, setLocked, setNumb, toDumpString, toString, update, update, updateOnServer`

    - ### Methods inherited from class de.esprit.netsuite.server.core.AccessibleServerObject

      `getLastAccessedTs, getLastAccessorId, setLastAccessorId`

    - ### Methods inherited from class de.esprit.netsuite.netdata.AbstractCrossPlatformObject

      `checkOnClient, checkOnServer, getClientContext, getLogChannel, getServerContext, isLogDebug, isLogVerbose, isOnClient, isOnServer, logDebug, logDump, logError, logError, logFatal, logInfo, logVerbose, logWarning, setClientContext, setLogChannel, setServerContext`

    - ### Methods inherited from class de.esprit.common.util.DumpableObject

      `configureDumpHeadlineLength, configureDumpMaxElementsPrinted, copyDumpStringValues, copyToStringValues, createDumpHeader, toDumpString, toString`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface de.esprit.netsuite.netdata.CrossPlatformObject

      `isOnClient, isOnServer, setClientContext, setServerContext`

    - ### Methods inherited from interface de.esprit.netsuite.client.ClientObject

      `getClientContext`

    - ### Methods inherited from interface de.esprit.netsuite.server.ServerObject

      `getServerContext`

    - ### Methods inherited from interface de.esprit.common.type.Dumpable

      `toDumpString, toString`

    - ### Methods inherited from interface de.esprit.netsuite.netdata.LastAccessed

      `getLastAccessedTs, getLastAccessorId, setLastAccessorId`

- - ### Constructor Detail

    - #### AbstractSingletonABO

          public AbstractSingletonABO(S serverCtx)

    - #### AbstractSingletonABO

          public AbstractSingletonABO(C clientCtx)

  - ### Method Detail

    - #### createEditDialog

          public ABOEditDialog createEditDialog(javax.swing.JDialog parent,
                                       ABOList list)

    - #### createPrimaryKey

          protected final PrimaryKey createPrimaryKey()

      Description copied from class: `AbstractABO`
      The ABO class must create the PrimaryKey it will need by its own. The PrimaryKey is never changed on an ABO instance, but you may change the primary key values.
      Specified by:
        `createPrimaryKey` in class `AbstractABO<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>`

    - #### getRenderIcon

          public javax.swing.Icon getRenderIcon()

      Specified by:
        `getRenderIcon` in interface `Renderable`
      Overrides:
        `getRenderIcon` in class `AbstractABO<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>`

    - #### fetch

          public I fetch(boolean withLock)
                                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### instantiateOnServer

          public I instantiateOnServer(java.lang.Object... pkValues)
                                                             throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### isCacheResident

          public boolean isCacheResident()

      Overridden to make singleton ABOs cache-resident by default
      Specified by:
        `isCacheResident` in interface `AliveBusinessObject<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>`
      Overrides:
        `isCacheResident` in class `AbstractABO<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>`

Copyright © 2014 EsprIT-Systems. All Rights Reserved.