com.gemstone.gbj

## Class GbjKernelObjects

- java.lang.Object
- - com.gemstone.gbj.GbjKernelObjects

-     public class GbjKernelObjects
      extends java.lang.Object

  Instance of this class hold pre-defined stubs for many GemStone server objects. These stubs are tied to a particular GbjSession and should not be used with another session. Access is normally through the kernel variable of a GbjSession, as in

            session.kernel.System.sendMsg("transactionConflicts");

  Version:
    3.2

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `GbjObject` | `Array` Array is a concrete subclass of SequenceableCollection that capitalizes upon the indexability of its elements.
    `GbjObject` | `Association` An Association is a pair of associated objects: a key and a value.
    `GbjObject` | `False` False represents the server "false" object of class Boolean
    `GbjObject` | `GbjGciInterface` Interface class for GBJ
    `GbjObject` | `GemStoneError` GSGemStoneError refers to GemStone's error category dictionary.
    `GbjObject` | `Illegal` Illegal represents a non-existant GemStone object
    `long` | `maxSmallInteger` Largest possible SmallInteger
    `long` | `minSmallInteger` Smallest possible SmallInteger
    `GbjObject` | `Nil` Nil represents a server nil.
    `GbjObject` | `One` One represents a server "one" object of class SmallInteger
    `GbjObject` | `Symbol` A Symbol is an invariant String for which all comparisons are case-sensitive. Symbols are used internally to represent variable names and selectors.
    `GbjObject` | `System` System is an abstract class that has no instances.
    `GbjObject` | `True` True represents the server "true" object of class Boolean
    `GbjObject` | `UserProfile` Each instance of UserProfile contains a number of characteristics associated with a given system user.
    `GbjObject` | `Zero` Zero represents a server "zero" object of class SmallInteger

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GbjKernelObjects(GbjSession session, long[] kernelOop)` Constructor for GbjKernelObjects

  - ### Method Summary

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### maxSmallInteger

          public long maxSmallInteger

      Largest possible SmallInteger

    - #### minSmallInteger

          public long minSmallInteger

      Smallest possible SmallInteger

    - #### GbjGciInterface

          public GbjObject GbjGciInterface

      Interface class for GBJ

    - #### Illegal

          public GbjObject Illegal

      Illegal represents a non-existant GemStone object

    - #### Zero

          public GbjObject Zero

      Zero represents a server "zero" object of class SmallInteger

    - #### One

          public GbjObject One

      One represents a server "one" object of class SmallInteger

    - #### True

          public GbjObject True

      True represents the server "true" object of class Boolean

    - #### False

          public GbjObject False

      False represents the server "false" object of class Boolean

    - #### Nil

          public GbjObject Nil

      Nil represents a server nil. This is the Smalltalk equivalent of Java's null.

    - #### GemStoneError

          public GbjObject GemStoneError

      GSGemStoneError refers to GemStone's error category dictionary. This is commonly the "category" element of a GbjException object.

    - #### System

          public GbjObject System

      System is an abstract class that has no instances. It implements class
      methods for object locking and for operations that are usually found in
      traditional operating systems. The data curator may restrict user access to
      these messages. For an explanation of the role of the data curator, refer to
      your GemStone System Administration Guide.

    - #### Array

          public GbjObject Array

      Array is a concrete subclass of SequenceableCollection that capitalizes upon
      the indexability of its elements. An Array permits its elements to be placed
      in any order, but once placed, it retains the order until changed explicitly.
      Integer indexes are often used to access elements directly, randomly, or in
      alternate or unpredictable orders not necessarily related to the sequence of
      the elements as placed in the collection. Thus, an index is often used as
      the address for an element.
      Uninitialized Array elements are nil.

    - #### Association

          public GbjObject Association

      An Association is a pair of associated objects: a key and a value. A
      Dictionary is a collection of Associations; thus, much of the protocol that
      affects Associations is actually defined for instances of Dictionary. See the
      description of Dictionary for details.

    - #### Symbol

          public GbjObject Symbol

      A Symbol is an invariant String for which all comparisons are case-sensitive.
      Symbols are used internally to represent variable names and selectors. Symbols
      are always invariant and cannot be modified at any time after they are created.
      Hence, the new and new: methods are disallowed. In the server, a symbol may be an instance of Symbol, DoubleByteSymbols or QuadByteSymbol.
      All Symbols are canonical, which means that it is not
      possible to create two of them that have the same value. If two canonical
      GemStone places all canonical symbols in the DataCuratorSegment. However,
      GemStone does permit you to commit a canonical Symbol, even if you have no
      explicit write authorization for the DataCuratorSegment. GemStone also gathers
      all canonical symbols into one collection (a CanonicalStringDictionary) called
      AllSymbols, which it also places in the DataCuratorSegment.
      Since canonical symbols are universally visible, it is not recommended that
      they be used for names that should remain private or secure. Such objects
      should be instances of InvariantString instead.
      Since canonical symbols must be universally available, you cannot lock a
      Symbol.
      Since each canonical symbol has a unique value, you cannot copy a Symbol. In addition, to guarantee canonicalization, you cannot send
      the become: or changeClassTo: messages to a Symbol or DoubleByteSymbol.

    - #### UserProfile

          public GbjObject UserProfile

      Each instance of UserProfile contains a number of characteristics associated
      with a given system user. For more information, see the GemStone System
      Administration Guide and the GemStone Programming Guide.

  - ### Constructor Detail

    - #### GbjKernelObjects

          public GbjKernelObjects(GbjSession session,
                                  long[] kernelOop)

      Constructor for GbjKernelObjects
      Parameters:
        `session` - GbjSession to use
        `kernelOop` - array from server with kernel oops