@startuml package domainapp.dom.app.homepage { class HomePageService { ~ container : DomainObjectContainer + HomePageService() + homePage() : HomePageViewModel } class HomePageViewModel { ~ simpleObjects : SimpleObjects + HomePageViewModel() + getObjects() : List + title() : String } } package domainapp.dom.modules.simple { class SimpleObject { - container : DomainObjectContainer - dnFieldFlags : byte[] {static} - dnFieldNames : String[] {static} - dnFieldTypes : Class[] {static} # dnFlags : byte - dnInheritedFieldCount : int {static} - dnPersistableSuperclass : Class {static} # dnStateManager : StateManager - name : String + SimpleObject() + ___dn$loadClass(className : String) : Class {static} - __dnFieldFlagsInit() : byte[] {static} - __dnFieldNamesInit() : String[] {static} - __dnFieldTypesInit() : Class[] {static} # __dnGetInheritedFieldCount() : int {static} - __dnPersistableSuperclassInit() : Class {static} + compareTo(other : SimpleObject) : int + default0UpdateName() : String # dnCopyField(obj : SimpleObject, index : int) + dnCopyFields(obj : Object, indices : int[]) + dnCopyKeyFieldsFromObjectId(fc : ObjectIdFieldConsumer, oid : Object) # dnCopyKeyFieldsFromObjectId(oid : Object) + dnCopyKeyFieldsToObjectId(fs : ObjectIdFieldSupplier, oid : Object) + dnCopyKeyFieldsToObjectId(oid : Object) + dnGetExecutionContext() : ExecutionContextReference # dnGetManagedFieldCount() : int {static} + dnGetObjectId() : Object + dnGetTransactionalObjectId() : Object + dnGetVersion() : Object + dnGetname() : String + dnIsDeleted() : boolean + dnIsDetached() : boolean + dnIsDirty() : boolean + dnIsNew() : boolean + dnIsPersistent() : boolean + dnIsTransactional() : boolean + dnMakeDirty(fieldName : String) + dnNewInstance(sm : StateManager) : Persistable + dnNewInstance(sm : StateManager, obj : Object) : Persistable + dnNewObjectIdInstance() : Object + dnNewObjectIdInstance(key : Object) : Object # dnPreSerialize() + dnProvideField(index : int) + dnProvideFields(indices : int[]) + dnReplaceField(index : int) + dnReplaceFields(indices : int[]) + dnReplaceFlags() + dnReplaceStateManager(sm : StateManager) + dnSetname(name : String) - dnSuperClone() : Object + getName() : String + getVersionSequence() : Long + setName(val : String) + title() : TranslatableString + updateName(name : String) : SimpleObject + validateUpdateName(name : String) : TranslatableString } class SimpleObjects { ~ container : DomainObjectContainer + SimpleObjects() + create(name : String) : SimpleObject + findByName(name : String) : List + listAll() : List + title() : TranslatableString } } package domainapp.fixture { class DomainAppFixturesProvider { + DomainAppFixturesProvider() + getSpecification() : FixtureScriptsSpecification } } Builder ..+ FixtureScriptsSpecification DropDownPolicy ..+ FixtureScriptsSpecification MultipleExecutionStrategy ..+ FixtureScripts HomePageViewModel --> "-simpleObjects" SimpleObjects @enduml