next up previous contents
Next: AnnotableObject Up: Annotations Previous: Annotations   Contents


The abstract SuifBrick and its concrete subclasses are wrapper classes. Their sole purpose is to wrap objects with incompatible types. A SuifBrick class is typically used in situations where the programmer has to store an arbitrary object. This typically happens when using the BrickAnnote class. Currently the subclasses of SuifBrick are capable of wrapping a String value, an Integer value and a SuifObject. In the case of a SuifObject, a further distinction can be made between a SuifObject that is owned by a SuifBrick or one that is just referenced by a SuifBrick.


StringBrick A string
IntegerBrick An integer
SuifObjectBrick A SuifObject referenced by a SuifBrick
OwnedSuifObjectBrick A SuifObject owned by a SuifBrick

  concrete StringBrick : SuifBrick {
    String value;

  concrete IntegerBrick : SuifBrick {
    IInteger value;

  concrete SuifObjectBrick : SuifBrick {
    SuifObject * reference object;
  concrete OwnedSuifObjectBrick : SuifBrick {
    SuifObject * owner object;

SUIF Nightly Build