package Ġorg . apache . isis . client . k ro viz . core . model Ċ Ċ import Ġorg . apache . isis . client . k ro viz . layout . Layout Ċ import Ġorg . apache . isis . client . k ro viz . to . Domain Type Ċ import Ġorg . apache . isis . client . k ro viz . to . Property Ċ import Ġorg . apache . isis . client . k ro viz . to . Transfer Object Ċ Ċ class ĠDiagram DM ( override Ġval Ġtitle : ĠString ) Ġ: ĠDisplay Model () Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġlayout : ĠLayout ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġclasses Ġ= Ġmutable Set Of < Domain Type >() ĊĠĠĠ Ġval Ġproperties Ġ= Ġmutable Set Of < Property >() ĊĠĠĠ Ġvar ĠnumberOf Classes Ġ= Ġ- 1 ĊĠĠĠ Ġprivate Ġvar ĠnumberOf Properties Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġinc NumberOf Properties ( inc : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠnumberOf Properties Ġ+= Ġinc ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdec NumberOf Classes () Ġ{ ĊĠĠĠĠĠĠĠ ĠnumberOf Classes -- ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcan Be Displayed (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( numberOf Classes Ġ== Ġclasses . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġ&& ĠnumberOf Properties Ġ== Ġproperties . size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Data ( obj : ĠTransfer Object ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( obj ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDomain Type Ġ-> Ġclasses . add ( obj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠProperty Ġ-> Ġproperties . add ( obj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ