On Mon, Mar 9, 2eg020 at 1:12 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at>
wrote:

> The rexxpg book lists in "Chapter 4. The Basics of Classes" all ooRexx
> classes. The listing is not correctly indented as the root class Object is
> not shown as the topmost class.
>
> Before correcting anything I also created a little program that would
> create the ooRexx class tree automatically.
>
> While doing so, it would become possible to add additional information to
> the listed classes, e.g. whether a class is a mixin and for classes using
> multiple inheritance which classes they inherit (maybe in parentheses and
> in italic). The motivation would be to have
>
> So here are both renderings (there classes for which questions are
> formulated at the bottom are highlighted in red):
>
> Object
>     Alarm
>     AlarmNotification
>         Message
>     ArgUtil
>     Array
>     Bag
>     BagMixin
>     Buffer
>     Class
>     Collection
>         MapCollection
>             Bag
>             Directory
>                 Properties
>             IdentityTable
>             Relation
>             Set
>             Stem
>             StringTable
>             Table
>         OrderedCollection
>             Array
>             List
>             Queue
>                 CircularQueue
>         SetCollection
>             Bag
>             Set
>     Comparable
>         DateTime
>         File
>         String
>         TimeSpan
>     Comparator
>         CaselessColumnComparator
>         CaselessComparator
>         CaselessDescendingComparator
>         ColumnComparator
>         DescendingComparator
>         InvertingComparator
>         NumericComparator
>     DateTime
>     Directory
>         Properties
>     EventSemaphore
>     File
>     IdentityTable
>     InputOutputStream
>         Stream
>     InputStream
>         InputOutputStream
>             Stream
>     List
>     LocalServer
>     ManyItemMixin
>     Message
>     MessageNotification
>         Message
>     Method
>     Monitor
>     MutableBuffer
>     MutexSemaphore
>     OLEObject
>     OLEVariant
>     Orderable
>         DateTime
>         File
>         TimeSpan
>     OutputStream
>         InputOutputStream
>             Stream
>     Package
>     Pointer
>     Queue
>         CircularQueue
>     Relation
>     RexxContext
>     RexxInfo
>     RexxQueue
>     Routine
>     Set
>     SetMixin
>     StackFrame
>     Stem
>     String
>     StringTable
>     Supplier
>         StreamSupplier
>     SupplierMixin
>     Table
>     Ticker
>     TimeSpan
>     Validate
>     VariableReference
>     WeakReference
>
> And here with the additional information:
>
> Object
>     Alarm
>     AlarmNotification *(mixin)*
>         Message *(inherit MessageNotification, AlarmNotification)*
>     ArgUtil
>     Array *(inherit OrderedCollection)*
>     Bag *(inherit MapCollection, SetCollection)*
>     BagMixin
>     Buffer
>     Class
>     Collection *(mixin)*
>         MapCollection *(mixin)*
>             Bag *(inherit MapCollection, SetCollection)*
>             Directory *(inherit MapCollection)*
>                 Properties
>             IdentityTable *(inherit MapCollection)*
>             Relation *(inherit MapCollection)*
>             Set *(inherit MapCollection, SetCollection)*
>             Stem *(inherit MapCollection)*
>             StringTable *(inherit MapCollection)*
>             Table *(inherit MapCollection)*
>         OrderedCollection *(mixin)*
>             Array *(inherit OrderedCollection)*
>             List *(inherit OrderedCollection)*
>             Queue *(inherit OrderedCollection)*
>                 CircularQueue
>         SetCollection *(mixin)*
>             Bag *(inherit MapCollection, SetCollection)*
>             Set *(inherit MapCollection, SetCollection)*
>     Comparable *(mixin)*
>         DateTime *(inherit Comparable, Orderable)*
>         File *(inherit Comparable, Orderable)*
>         String *(inherit Comparable)*
>         TimeSpan *(inherit Comparable, Orderable)*
>     Comparator *(mixin)*
>         CaselessColumnComparator *(mixin)*
>         CaselessComparator *(mixin)*
>         CaselessDescendingComparator *(mixin)*
>         ColumnComparator *(mixin)*
>         DescendingComparator *(mixin)*
>         InvertingComparator *(mixin)*
>         NumericComparator *(mixin)*
>     DateTime *(inherit Comparable, Orderable)*
>     Directory *(inherit MapCollection)*
>         Properties
>     EventSemaphore
>     File *(inherit Comparable, Orderable)*
>     IdentityTable *(inherit MapCollection)*
>     InputOutputStream *(mixin) (inherit InputStream, OutputStream)*
>         Stream *(mixin)*
>     InputStream *(mixin)*
>         InputOutputStream *(mixin) (inherit InputStream, OutputStream)*
>             Stream *(mixin)*
>     List *(inherit OrderedCollection)*
>     LocalServer
>     ManyItemMixin
>     Message *(inherit MessageNotification, AlarmNotification)*
>     MessageNotification *(mixin)*
>         *Message (inherit MessageNotification, AlarmNotification)*
>     Method
>     Monitor
>     MutableBuffer
>     MutexSemaphore
>     OLEObject
>     OLEVariant
>     Orderable *(mixin)*
>         DateTime *(inherit Comparable, Orderable)*
>         File *(inherit Comparable, Orderable)*
>         TimeSpan *(inherit Comparable, Orderable)*
>     OutputStream *(mixin)*
>         InputOutputStream *(mixin) (inherit InputStream, OutputStream)*
>             Stream *(mixin)*
>     Package
>     Pointer
>     Queue *(inherit OrderedCollection)*
>         CircularQueue
>     Relation *(inherit MapCollection)*
>     RexxContext
>     RexxInfo
>     RexxQueue
>     Routine
>     Set *(inherit MapCollection, SetCollection)*    SetMixin
>     StackFrame
>     Stem *(inherit MapCollection)*
>     String *(inherit Comparable)*
>     StringTable *(inherit MapCollection)*
>     Supplier
>         StreamSupplier
>     SupplierMixin
>     Table *(inherit MapCollection)*
>     Ticker
>     TimeSpan *(inherit Comparable, Orderable)*
>     Validate
>     VariableReference
>     WeakReference
>
> Questions:
>
>    1. What is the purpose of the classes: BagMixin, ManyItemsMixin,
>    SetMixin and SupplierMixin?
>    1. They carry the name "mixin" but are not inherited by the exposed
>       Rexx classes.
>       2. They cannot be fetched via their environment name like .BagMixin.
>       3. Should they be listed in the class object's SUBCLASSES array at
>       all?
>
>       2. Should the classes ArgUtil and LocalServer be documented or left
>    out?
>    1. ArgUtil was never documented and supposedly Validate is the
>       successor and should be used instead.
>       2. If LocalServer should get documented, where could I find the
>       respective information?
>
>       3. Should the classes OLEObject and OLEVariant be documented or
>    left out? (They only exist in the Windows version and are documented
>    separately in the Windows reference book.)
>
>    4. Should the short or the long form be usedj, which informs about
>    multiple inheritance related classes?
>
> ---rony
>
>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to