eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'PrivateMetaclass':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: PrivateMetaclass


Inheritance:

   Object
   |
   +--Behavior
      |
      +--ClassDescription
         |
         +--Metaclass
            |
            +--PrivateMetaclass

Package:
stx:libbasic
Category:
Kernel-Classes
Version:
rev: 1.14 date: 2021/01/20 14:27:51
user: cg
file: PrivateMetaclass.st directory: libbasic
module: stx stc-classLibrary: libbasic

Description:


A PrivateMetaclass is much like a regular Metaclass, but it is only visible (known)
to some owningClass (which is also true for the PrivateMetaclasses sole instance).

Its sourceCode, package and revision is forced to be the same as the owning classes'.
Therefore, privateClasses delegate some queries to their owning class.

Caution: support for private classes is an ST/X special feature.
         This mechanism may not be provided by other smalltalk systems,
         making your code unportable.
         (However, private classes can be simulated pretty easily, using classVariables
          or classInstance variables ...)

copyright

COPYRIGHT (c) 1996 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Instance protocol:

accessing
o  nameSpace
return the nameSpace I am contained in.
For private classes, this is my owning class

o  owningClass
return my owningClass

o  setOwningClass: something
set my owningClass - this is not a public entry

o  topOwningClass
return my outermost owningClass; that is the first non-private
class along the owner-chain.

queries
o  isBuiltInClass
(comment from inherited method)
return true if this class is known by the run-time-system.
Here, true is returned for myself, false for subclasses.

o  package
return my package-id



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Mon, 18 Nov 2024 09:41:58 GMT