On 20/09/2013 12:01, Diego Bosc? wrote:
> By the way, I just found out that archetype_node_id from locatable 
> class from the reference model (common_im document, page 22) is 
> obligatory (!!!).
>
> The meaning of the attribute is as follows:
> "Design-time archetype id of this node taken from its generating 
> archetype; used to build archetype paths. Always in the form of an 
> ?at? code, e.g. ?at0005?. This value enables a "standardised" name for 
> this node to be generated, by referring to the generating archetype 
> local ontology. At an archetype root point, the value of this 
> attribute is always the stringified form of the archetype_id found in 
> the archetype_details object."
> If you have to put the atxxxx code and the archetype does not have it, 
> what do you put there? What should expect the systems?
>
>
> There is even an invariant defined as "Archetype_node_id_valid: 
> archetype_node_id /= Void and then not archetype_node_id.is_empty"
> How does this work in your current implementations when sometimes the 
> atxxxx code is not present?

it's simpler than you think - we made that property mandatory so that 
programmers would never get a null exception. If it doesn't contain an 
at-code or an archetype id, it can be empty (but not null), or (what the 
ADL workbench currently does) - it can contain a dummy id like 'unknown' 
that the software can easily spot and strip out.

I'm not against making it an optional property if developers would 
prefer that.

- thomas


Reply via email to