ObjectRef

I am a little confused about this class.

It inherits from ObjectId therefore it has the 'value' attribute from
that abstract class. YET, the 'id' attribute of ObjectRef is specified
as an instance of ObjectId.

Hmmm, ObjectId is defined as an abstract class so how can ObjectRef.id
be an instance of it especially since ObjectRef inherits the 'value'
attribute from ObjectId.

I would like to know how others have addressed these implementation
issues.

Cheers,
Tim

Okay, answering my own question of sorts.

I just checked the online UML model and there is no 'id' attribute in
ObjectRef.

So is it just a documentation error in the PDF?

--Tim

Tim Cook wrote:

... ObjectId is defined as an abstract class so how can ObjectRef.id
be an instance of it especially since ObjectRef inherits the 'value'
attribute from ObjectId.
  
This part of your question sounds like normal OO polymorphism, Tim:
* The _static_ type of 'id' is declared as an abstract class.
* At runtime, 'id' will be attached to an instance of some concrete
subclass of ObjectId.

(I don't know why ObjectRef both _is_ and _has_ an ObjectId, though, but
that's not an unusual OO design either. It appears in the GoF
"Composite" design pattern, for example.)

- Peter

Tim Cook wrote:

Somehow I had misread the PDF specs and inherited from from it in my
software. Thanks for the clarification.

--Tim