swarm.defobj
Class SymbolImpl

java.lang.Object
  |
  +--swarm.BaseImpl
        |
        +--swarm.defobj.SymbolImpl

public class SymbolImpl
extends BaseImpl
implements Create, CreateS, GetName, GetNameS, SymbolS, Symbol

Object defined as a distinct global id constant.. A Symbol is an object created with a fixed name. It has no behavior except to get the name with which it was created. A Symbol is typically used to define unique id values which are assigned to global constant names. These names, capitalized according to the recommended convention for global object constants, are used by some libraries as flags or enumerated value codes in arguments or return values of messages. Ordinarily, a symbol is created with its character string name matching the global id constant to which it is assigned. These global program constants can then provide a minimal level of self documentation as objects. Subtypes of Symbol can extend the base of a named, global id constant to establish further components of a global, constant definition. A symbol is fully creatable using standard Create messages. A character string name must be supplied for any new symbol; there is no default. Symbol inherits the getName message, which returns the symbol name.


Constructor Summary
SymbolImpl()
           
SymbolImpl(Zone aZone)
          The create: message creates a new instance of a type with default options.
SymbolImpl(Zone aZone, java.lang.String name)
          create:setName: is a combination message defined as a caller convenience.
 
Methods implemented by this class for interface swarm.defobj.GetName
getName
 
Methods implemented by this class for interface swarm.defobj.DefinedObject
compare, describe, describeID, getDisplayName, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SymbolImpl

public SymbolImpl()

SymbolImpl

public SymbolImpl(Zone aZone,
                  java.lang.String name)
create:setName: is a combination message defined as a caller convenience. See combination messages for a summary of conventions on combination messages.

SymbolImpl

public SymbolImpl(Zone aZone)
The create: message creates a new instance of a type with default options. The zone argument specifies the source of storage for the new object. The receiving object of this message is a previously defined type object. The message is declared as a class message (with a + declaration tag) to indicate that the message is accepted only by the type object itself rather than an already created instance of the type (which a - declaration tag otherwise defines). The create: message returns the new object just created. This object is an instance of some class selected to implement the type. The class which a type selects to implement an object may be obtained by the getClass message, but is not otherwise visible to the calling program. A caller never refers to any class name when creating objects using these messages, only to type names, which are automatically published as global constants from any @protocol declaration.