Documentation Set for Swarm 2.2
Prev | Reference I. Defobj Library | Next

# DefinedObject

## Name

DefinedObject -- Object with defined type and implementation.

## Description

DefinedObject is the top-level supertype for all objects that follow the object programming conventions of the defobj library. The messages defined by this type are the only messages which should be assumed to be automatically available on objects that follow these conventions. In particular, use of messages defined by the Object superclass of the GNU Objective C runtime should not generally be assumed because future implementations of some objects might not give continued access to them.

The DefinedObject type defines a minimum of standard messages, and leaves to other types the definition of message that might or might not apply in any general way to particular objects.

## Protocols adopted by DefinedObject

GetName

## Methods

### Phase: Using

- - (id <Zone>)getZone
  The getZone message returns the zone in which the object was created.

- - (void)xfprintid
  print id for each member of a collection on debug output stream

- - (void)xfprint
  print description for each member of a collection on debug output stream

- - (void)xprintid
  Like describeID:, but output goes to standard output.

- - (void)xprint
  Like describe:, but output goes to standard output.

- - (void)describeID: outputCharStream
  Prints a one-line describe string, consisting of the built-in default to outputCharStream.

- - (void)describe: outputCharStream
  The describe: message prints a brief description of the object for debug purposes to the object passed as its argument. The object passed as the outputCharStream argument must accept a catC: message as defined in String and OutputStream in the collections library. Particular object types may generate object description strings with additional information beyond the built-in default, which is just to print the hex value of the object id pointer along with the name of its class, and the display name of the object, if any.

- - (const char *)getDisplayName
  Return a string that identifies an object for external display purposes, either from a previously assigned string or an identification string default

- - (void)setDisplayName: (const char *)displayName
  Assigns a character string as a name that identifies an object for display or debug purposes.

- - perform: (SEL)aSel
  A local implementation of an Object method.

- - perform: (SEL)aSel with: anObject1
  A local implementation of an Object method.

- - perform: (SEL)aSel with: anObject1 with: anObj2
  A local implementation of an Object method.

- - perform: (SEL)aSel with: anObject1 with: anObj2 with: anObj3
  Perform a selector with three object arguments.

- - (int)compare: anObject
  A local implementation of an Object method.

- - (void)removeRef: (ref_t)refVal
  Remove an external reference to an object.

- - (ref_t)addRef: (notify_t)notifyFunction withArgument: (void *)arg
  Adds an external reference to an object that is notified when a an object is dropped.

- - (const char *)getTypeName
  getTypeName returns the name of the originating type of this object.

- - (Class)getClass
  getClass returns the class that implements the current behavior of an object.

- + (BOOL)conformsTo: (Protocol *)protocol

- - (BOOL)conformsTo: (Protocol *)protocol

- - (BOOL)respondsTo: (SEL)aSel
  The respondsTo: message returns true if the object implements the message identified by the selector argument. To implement a message means only that some method will receive control if the message is sent to the object. (The method could still raise an error.) The respondsTo: message is implemented by direct lookup in a method dispatch table, so is just as fast as a normal message send. It provides a quick way to test whether the type of an object includes a particular message.

Prev | Home | Next
DefinedClass | Up | Drop