We have
MooseElement defines the minimal interface of an entity
Proposition: v2
----------
MooseElement defines the minimal interface of an entity: any moose entity should answer
its mooseID, its mooseName and its mooseModel.
A mooseID is an Integer that uniquely identifies this entity within the entire Moose
environment.
It should not change nor be nil. It is generated automatically during the creation of the
MooseEntity.
The mooseModel of an entity is must be an instance of MooseModel. It may be nil if the
entity is not part of a model.
Each entity belongs to one and only one model, if an entity has not yet been added to a
model or if an entity has been removed from a model
the mooseModel is undefined, that is it may be nil.
An entity mooseName result a string version of the mooseID.
No, it returns the name of the entity, or the symbol #noname.
so what do we write
MooseElement>>mooseName
"Returns an unique identifier of this entity. This method is mandatory, and must
return a Symbol or Integer that unqiuely identifies this entity within its model (but
not within the entire Moose enivronment, see MooseElement>>mooseID). The return
value must not be nil, and must never change. The implementation should be fast,
as this key may be used extensivley by the MooseModel or similar facilities."
^self mooseID asString
Stef