Search code examples
class-diagramstaruml

StarUML class diagram: add attribute of the type Guid[]


In StarUML 5.0, I am trying to define a class with an attribute of the type Guid[] (an array of Guid Structure). But it is not allowable to enter "-guids : Guid[]" since StarUML automatically discards the square brackets.

I have not tried other modeling tools...just want to know how to do this with StarUML.

StarUML seems to accepts if I provide the length of the array, like "-guids : Guid[10], but in the code generated by StarUML, this field is something like

private Guid guids; //the square brackets are missing;

Or I can add an asterisk like "-guids : Guid*", in the code generated, the field is like this

private Guid* guids; 

this is not what i want neither, even with the fact that in C++ a pointer and an array is conceptually interchangeable. (I am coding in C#)


Solution

  • StarUML defines arrays a little differently to standard UML. For your specific problem I would use [*] to define the array. The first example below describes this.

    Define an array with an undefined number of elements:

    -guids: Guid[*]
    

    Define an array with a specific number of elements:

    -guids: Guid[16]
    

    Define a base 0 array with an undefined number of elements:

    -guids: Guid[0..*]
    

    Define a base 1 array with an undefined number of elements:

    -guids: Guid[1..*]
    

    Define a specific base array with a specific number of elements:

    -guids: Guid[1..100]