You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/06 11:10:34 UTC

[23/51] [partial] ISIS-188: moving modules into core

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/core/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd
----------------------------------------------------------------------
diff --git a/framework/core/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd b/framework/core/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd
new file mode 100644
index 0000000..313ebd7
--- /dev/null
+++ b/framework/core/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="AbstractContainedObject-hierarchy" size="843,745" id="org.apache.isis.applib" metadata="uml2-1.0" initialized="true" tag="1000" key="32303037303533312D31303030206170706C69622F64616E">
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.5/@sourceConnections.0" name="DomainObjectContainer" location="555,43" size="194,43" id="org.apache.isis.applib/DomainObjectContainer" runTimeClassModel="commit(),firstMatch(Lorg.apache.isis.applib.query.Query;),warnUser(Ljava.lang.String;),isPersistent(Ljava.lang.Object;),newInstance(Ljava.lang.Class;Ljava.lang.Object;),removeIfNotAlready(Ljava.lang.Object;),raiseError(Ljava.lang.String;),uniqueMatch(Ljava.lang.Class;Lorg.apache.isis.applib.Filter;),isValid(Ljava.lang.Object;),allMatches(Ljava.lang.Class;Ljava.lang.String;),allInstances(Ljava.lang.Class;),informUser(Ljava.lang.String;),objectChanged(Ljava.lang.Object;),persistIfNotAlready(Ljava.lang.Object;),uniqueMatch(Ljava.lang.Class;Ljava.lang.String;),remove(Ljava.lang.Object;),resolve(Ljava.lang.Object;),allMatches(Lorg.apache.isis.applib.query.Query;),validate(Ljava.lang.Object;),firstMatch(Ljava.lang.Class;Lorg.apache.isis.applib.Filter;),fir
 stMatch(Ljava.lang.Class;LT;),uniqueMatch(Ljava.lang.Class;LT;),newTransientInstance(Ljava.lang.Class;),resolve(Ljava.lang.Object;Ljava.lang.Object;),flush(),allMatches(Ljava.lang.Class;LT;),getPropertyNames(),allMatches(Ljava.lang.Class;Lorg.apache.isis.applib.Filter;),getProperty(Ljava.lang.String;Ljava.lang.String;),persist(Ljava.lang.Object;),firstMatch(Ljava.lang.Class;Ljava.lang.String;),getProperty(Ljava.lang.String;),newPersistentInstance(Ljava.lang.Class;),uniqueMatch(Lorg.apache.isis.applib.query.Query;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractDomainObject" location="50,129" size="183,29" id="org.apache.isis.applib/AbstractDomainObject">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0 //@children.4/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib/AbstractContainedObject&lt;-org.apache.isis.applib/AbstractDomainObject" source="//@children.1" target="//@children.5" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="91,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="99,29" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractFixture" location="434,129" size="138,43" id="org.apache.isis.applib.fixtures/AbstractFixture" runTimeClassModel="laterDate(III),earlierTime(II),setService(Lorg.apache.isis.applib.fixtures.switchuser.SwitchUserService;),getType(),earlierDate(III),laterTime(II),fixtures,getFixtures(),setTime(II),getFixtureClock(),AbstractFixture(Lorg.apache.isis.applib.fixtures.FixtureType;),setDate(III),install(),AbstractFixture(),resetClock()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib/AbstractContainedObject&lt;-org.apache.isis.applib.fixtures/AbstractFixture" source="//@children.2" target="//@children.1/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="67,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractFactoryAndRepository" location="232,195" size="232,29" id="org.apache.isis.applib/AbstractFactoryAndRepository">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib/AbstractService&lt;-org.apache.isis.applib/AbstractFactoryAndRepository" source="//@children.3" target="//@children.4" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="101,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="70,29"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.3/@sourceConnections.0" name="AbstractService" location="263,129" size="141,29" id="org.apache.isis.applib/AbstractService" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib/AbstractContainedObject&lt;-org.apache.isis.applib/AbstractService" source="//@children.4" target="//@children.1/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="70,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.1/@sourceConnections.0" name="AbstractContainedObject" location="227,50" size="199,29" id="org.apache.isis.applib/AbstractContainedObject">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:AssociationEditModel" autoLocated="true" id="org.apache.isis.applib/DomainObjectContainer@container+org.apache.isis.applib/AbstractContainedObject@" source="//@children.5" target="//@children.0" targetEnd="//@children.5/@sourceConnections.0/@children.2" label="//@children.5/@sourceConnections.0/@children.0" sourceEnd="//@children.5/@sourceConnections.0/@children.1" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:WireLabelEditModel" size="0,14" anchorKind="MiddlePart"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="199,14" id="org.apache.isis.applib/DomainObjectContainer@container+org.apache.isis.applib/AbstractContainedObject@|org.apache.isis.applib/AbstractContainedObject#" attachSource="true" roleLabel="//@children.5/@sourceConnections.0/@children.1/@children.0">
+        <children xsi:type="editmodel:LabelEditModel" location="433,43" size="0,14" anchorKind="FirstPart"/>
+      </children>
+      <children xsi:type="editmodel:AssociationEndEditModel" name="container" location="0,21" id="org.apache.isis.applib/DomainObjectContainer@container+org.apache.isis.applib/AbstractContainedObject@|org.apache.isis.applib/DomainObjectContainer#container" multiplicityLabel="//@children.5/@sourceConnections.0/@children.2/@children.1" roleLabel="//@children.5/@sourceConnections.0/@children.2/@children.0" navigable="true">
+        <children xsi:type="editmodel:LabelEditModel" name=" - container" location="493,43" size="55,14" anchorKind="LastPart"/>
+        <children xsi:type="editmodel:LabelEditModel" name="0..1" location="530,71" size="18,14" anchorKind="LastPart"/>
+      </children>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=1;Product=eUML2" autoName="false"/>
+  <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="15,15" gridOrigin="0,0" rulerUnit="pixel" gridVisibility="false">
+    <leftRuler/>
+    <topRuler/>
+  </boardSetting>
+  <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showPopupBars="true" showConnectionHandles="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" showDependencyStereotype="true" showInterfaceStereotype="true" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+</editmodel:ClassDiagramEditModel>

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/core/applib/src/main/resources/org/apache/isis/applib/events/Events.ucd
----------------------------------------------------------------------
diff --git a/framework/core/applib/src/main/resources/org/apache/isis/applib/events/Events.ucd b/framework/core/applib/src/main/resources/org/apache/isis/applib/events/Events.ucd
new file mode 100644
index 0000000..fa4045e
--- /dev/null
+++ b/framework/core/applib/src/main/resources/org/apache/isis/applib/events/Events.ucd
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="Events" size="3834,1217" id="org.apache.isis.applib.events" metadata="uml2-1.0" initialized="true" zoom="0.75" scrolledY="27" tag="1000" key="32303037303533312D31303030206170706C69622F64616E">
+  <children xsi:type="editmodel:ClassEditModel" name="ObjectTitleEvent" location="989,436" size="146,67" id="org.apache.isis.applib.events/ObjectTitleEvent" runTimeClassModel="title,ObjectTitleEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.String;),getTitle()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="64,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getTitle" id="org.apache.isis.applib.events/ObjectTitleEvent#getTitle()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.4/@sourceConnections.0 //@children.17/@sourceConnections.0 //@children.13/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.events/AccessEvent&lt;-org.apache.isis.applib.events/ObjectTitleEvent" source="//@children.0" target="//@children.10" targetEnd="//@children.0/@sourceConnections.0/@children.1" sourceEnd="//@children.0/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="73,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="60,29" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="CollectionAddToEvent" location="936,743" size="181,67" id="org.apache.isis.applib.events/CollectionAddToEvent" runTimeClassModel="getProposed(),CollectionAddToEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.Object;),proposed">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="91,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/CollectionAddToEvent#getProposed()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/CollectionAddToEvent" source="//@children.1" target="//@children.3/@sourceConnections.0" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="90,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.3/@sourceConnections.0" name="ValidityEvent" location="1123,597" size="124,67" id="org.apache.isis.applib.events/ValidityEvent" runTimeClassModel="ValidityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;),getSource()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="80,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getSource" id="org.apache.isis.applib.events/ValidityEvent#getSource()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/InteractionEvent&lt;-org.apache.isis.applib.events/ValidityEvent" source="//@children.2" target="//@children.10/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="62,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ProposedHolderEvent&lt;-org.apache.isis.applib.events/ValidityEvent" source="//@children.2" target="//@children.5" targetEnd="//@children.2/@sourceConnections.1/@children.1" sourceEnd="//@children.2/@sourceConnections.1/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="114,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="8,99"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="ActionArgumentEvent" location="1288,733" size="179,103" id="org.apache.isis.applib.events/ActionArgumentEvent" runTimeClassModel="ActionArgumentEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;[Ljava.lang.Object;I),position,getProposed(),getArgs(),args,getPosition(),proposed">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="91,54">
+      <children xsi:type="editmodel:MethodEditModel" name="getArgs" id="org.apache.isis.applib.events/ActionArgumentEvent#getArgs()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getPosition" id="org.apache.isis.applib.events/ActionArgumentEvent#getPosition()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/ActionArgumentEvent#getProposed()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.1/@sourceConnections.0 //@children.15/@sourceConnections.0 //@children.6/@sourceConnections.0 //@children.7/@sourceConnections.0 //@children.11/@sourceConnections.0 //@children.19/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/ActionArgumentEvent" source="//@children.3" target="//@children.2" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="89,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="62,67" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="CollectionMethodEvent" location="778,438" size="188,139" id="org.apache.isis.applib.events/CollectionMethodEvent" runTimeClassModel="getArgs(),getMethodName(),getReturnValue(),CollectionMethodEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.Object;Ljava.lang.String;[Ljava.lang.Object;Ljava.lang.Object;),args,getDomainObject(),returnValue,domainObject,methodName,getSource()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="111,90">
+      <children xsi:type="editmodel:MethodEditModel" name="getSource" id="org.apache.isis.applib.events/CollectionMethodEvent#getSource()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getDomainObject" id="org.apache.isis.applib.events/CollectionMethodEvent#getDomainObject()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getMethodName" id="org.apache.isis.applib.events/CollectionMethodEvent#getMethodName()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getArgs" id="org.apache.isis.applib.events/CollectionMethodEvent#getArgs()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getReturnValue" id="org.apache.isis.applib.events/CollectionMethodEvent#getReturnValue()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/AccessEvent&lt;-org.apache.isis.applib.events/CollectionMethodEvent" source="//@children.4" target="//@children.0/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="94,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.2/@sourceConnections.1" name="ProposedHolderEvent" location="1229,449" size="179,99" id="org.apache.isis.applib.events/ProposedHolderEvent" runTimeClassModel="getProposed(),getMemberNaturalName()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="144,36">
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/ProposedHolderEvent#getProposed()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getMemberNaturalName" id="org.apache.isis.applib.events/ProposedHolderEvent#getMemberNaturalName()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="ObjectValidityEvent" location="1394,850" size="165,85" id="org.apache.isis.applib.events/ObjectValidityEvent" runTimeClassModel="getProposed(),ObjectValidityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="122,36">
+      <children xsi:type="editmodel:MethodEditModel" name="ObjectValidityEvent" id="org.apache.isis.applib.events/ObjectValidityEvent#ObjectValidityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/ObjectValidityEvent#getProposed()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/ObjectValidityEvent" source="//@children.6" target="//@children.3/@sourceConnections.0" targetEnd="//@children.6/@sourceConnections.0/@children.1" sourceEnd="//@children.6/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="82,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="ParseValueEvent" location="754,743" size="149,85" id="org.apache.isis.applib.events/ParseValueEvent" runTimeClassModel="getProposed(),ParseValueEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.String;),proposed,getSource()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="91,36">
+      <children xsi:type="editmodel:MethodEditModel" name="getSource" id="org.apache.isis.applib.events/ParseValueEvent#getSource()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/ParseValueEvent#getProposed()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/ParseValueEvent" source="//@children.7" target="//@children.3/@sourceConnections.0" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="74,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.21/@sourceConnections.0 //@children.20/@sourceConnections.0 //@children.22/@sourceConnections.0" name="UsabilityEvent" location="433,586" size="131,29" id="org.apache.isis.applib.events/UsabilityEvent" runTimeClassModel="UsabilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/InteractionEvent&lt;-org.apache.isis.applib.events/UsabilityEvent" source="//@children.8" target="//@children.10/@sourceConnections.0" targetEnd="//@children.8/@sourceConnections.0/@children.1" sourceEnd="//@children.8/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="65,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.18/@sourceConnections.0 //@children.14/@sourceConnections.0" name="VisibilityEvent" location="194,329" size="131,67" id="org.apache.isis.applib.events/VisibilityEvent" runTimeClassModel="VisibilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="96,18">
+      <children xsi:type="editmodel:MethodEditModel" name="VisibilityEvent" id="org.apache.isis.applib.events/VisibilityEvent#VisibilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/InteractionEvent&lt;-org.apache.isis.applib.events/VisibilityEvent" source="//@children.9" target="//@children.10/@sourceConnections.0" targetEnd="//@children.9/@sourceConnections.0/@children.1" sourceEnd="//@children.9/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="65,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.0/@sourceConnections.0" name="AccessEvent" location="823,320" size="120,29" id="org.apache.isis.applib.events/AccessEvent" runTimeClassModel="AccessEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0 //@children.8/@sourceConnections.0 //@children.9/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.events/InteractionEvent&lt;-org.apache.isis.applib.events/AccessEvent" source="//@children.10" target="//@children.16" targetEnd="//@children.10/@sourceConnections.0/@children.1" sourceEnd="//@children.10/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="60,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="94,229" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="PropertyModifyEvent" location="831,851" size="173,67" id="org.apache.isis.applib.events/PropertyModifyEvent" runTimeClassModel="getProposed(),PropertyModifyEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.Object;),proposed">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="91,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/PropertyModifyEvent#getProposed()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/PropertyModifyEvent" source="//@children.11" target="//@children.3/@sourceConnections.0" targetEnd="//@children.11/@sourceConnections.0/@children.1" sourceEnd="//@children.11/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="86,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="PropertyVisibilityEvent" location="59,448" size="185,29" id="org.apache.isis.applib.events/PropertyVisibilityEvent" runTimeClassModel="PropertyVisibilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="org.apache.isis.applib.events/VisibilityEvent&lt;-org.apache.isis.applib.events/PropertyVisibilityEvent" source="//@children.12" target="//@children.18/@sourceConnections.0" targetEnd="//@children.12/@sourceConnections.0/@children.1" sourceEnd="//@children.12/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="92,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="16,-127"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="PropertyAccessEvent" location="553,436" size="174,67" id="org.apache.isis.applib.events/PropertyAccessEvent" runTimeClassModel="getValue(),PropertyAccessEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.Object;),value">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="72,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getValue" id="org.apache.isis.applib.events/PropertyAccessEvent#getValue()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/AccessEvent&lt;-org.apache.isis.applib.events/PropertyAccessEvent" source="//@children.13" target="//@children.0/@sourceConnections.0" targetEnd="//@children.13/@sourceConnections.0/@children.1" sourceEnd="//@children.13/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="87,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="CollectionVisibilityEvent" location="165,501" size="195,29" id="org.apache.isis.applib.events/CollectionVisibilityEvent" runTimeClassModel="CollectionVisibilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/VisibilityEvent&lt;-org.apache.isis.applib.events/CollectionVisibilityEvent" source="//@children.14" target="//@children.9" targetEnd="//@children.14/@sourceConnections.0/@children.1" sourceEnd="//@children.14/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="94,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="65,67" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="CollectionRemoveFromEvent" location="1033,822" size="226,67" id="org.apache.isis.applib.events/CollectionRemoveFromEvent" runTimeClassModel="getProposed(),proposed,CollectionRemoveFromEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;Ljava.lang.Object;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="91,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getProposed" id="org.apache.isis.applib.events/CollectionRemoveFromEvent#getProposed()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/CollectionRemoveFromEvent" source="//@children.15" target="//@children.3/@sourceConnections.0" targetEnd="//@children.15/@sourceConnections.0/@children.1" sourceEnd="//@children.15/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="113,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.10/@sourceConnections.0" name="InteractionEvent" location="629,30" size="188,229" id="org.apache.isis.applib.events/InteractionEvent" runTimeClassModel="getClassName(),advisorClass,reason,getMemberName(),getClassNaturalName(),getAdvisorClass(),getMemberNaturalName(),getSource(),InteractionEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;),isVeto(),advised(Ljava.lang.String;Ljava.lang.Class;),getIdentifier(),getReason(),getMemberParameterNames(),getMemberParameterNaturalNames(),identifier">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="165,180">
+      <children xsi:type="editmodel:MethodEditModel" name="getSource" id="org.apache.isis.applib.events/InteractionEvent#getSource()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getClassName" id="org.apache.isis.applib.events/InteractionEvent#getClassName()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getMemberParameterNames" id="org.apache.isis.applib.events/InteractionEvent#getMemberParameterNames()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="advised" id="org.apache.isis.applib.events/InteractionEvent#advised(Ljava.lang.String;Ljava.lang.Class;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="InteractionEvent" id="org.apache.isis.applib.events/InteractionEvent#InteractionEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="isVeto" id="org.apache.isis.applib.events/InteractionEvent#isVeto()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getIdentifier" id="org.apache.isis.applib.events/InteractionEvent#getIdentifier()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getMemberName" id="org.apache.isis.applib.events/InteractionEvent#getMemberName()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getAdvisorClass" id="org.apache.isis.applib.events/InteractionEvent#getAdvisorClass()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getReason" id="org.apache.isis.applib.events/InteractionEvent#getReason()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Visibility" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="CollectionAccessEvent" location="592,520" size="184,29" id="org.apache.isis.applib.events/CollectionAccessEvent" runTimeClassModel="CollectionAccessEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="org.apache.isis.applib.events/AccessEvent&lt;-org.apache.isis.applib.events/CollectionAccessEvent" source="//@children.17" target="//@children.0/@sourceConnections.0" targetEnd="//@children.17/@sourceConnections.0/@children.1" sourceEnd="//@children.17/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="156,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="ActionVisibilityEvent" location="294,455" size="171,29" id="org.apache.isis.applib.events/ActionVisibilityEvent" runTimeClassModel="ActionVisibilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.12/@sourceConnections.0" id="org.apache.isis.applib.events/VisibilityEvent&lt;-org.apache.isis.applib.events/ActionVisibilityEvent" source="//@children.18" target="//@children.9" targetEnd="//@children.18/@sourceConnections.0/@children.1" sourceEnd="//@children.18/@sourceConnections.0/@children.0" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="90,-1" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="65,67" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="ActionInvocationEvent" location="1183,925" size="183,67" id="org.apache.isis.applib.events/ActionInvocationEvent" runTimeClassModel="getArgs(),getProposed(),args,setArgs([Ljava.lang.Object;),ActionInvocationEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;[Ljava.lang.Object;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="69,18">
+      <children xsi:type="editmodel:MethodEditModel" name="getArgs" id="org.apache.isis.applib.events/ActionInvocationEvent#getArgs()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/ValidityEvent&lt;-org.apache.isis.applib.events/ActionInvocationEvent" source="//@children.19" target="//@children.3/@sourceConnections.0" targetEnd="//@children.19/@sourceConnections.0/@children.1" sourceEnd="//@children.19/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="91,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="99,67"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="ActionUsabilityEvent" location="534,682" size="171,29" id="org.apache.isis.applib.events/ActionUsabilityEvent" runTimeClassModel="ActionUsabilityEvent(Ljava.lang.Object;Lorg.apache.isis.applib.Identifier;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="org.apache.isis.applib.events/UsabilityEvent&lt;-org.apache.isis.applib.events/ActionUsabilityEvent" source="//@children.20" target="//@children.8" targetEnd="//@children.20/@sourceConnections.0/@children.1" sourceEnd="//@children.20/@sourceConnections.0/@children.0" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="82,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="64,29"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="CollectionUsabilityEvent" location="414,724" size="195,29" id="org.apache.isis.applib.events/CollectionUsabilityEvent" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.events/UsabilityEvent&lt;-org.apache.isis.applib.events/CollectionUsabilityEvent" source="//@children.21" target="//@children.8" targetEnd="//@children.21/@sourceConnections.0/@children.1" sourceEnd="//@children.21/@sourceConnections.0/@children.0" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="84,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="65,29"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="PropertyUsabilityEvent" location="288,682" size="185,29" id="org.apache.isis.applib.events/PropertyUsabilityEvent" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="org.apache.isis.applib.events/UsabilityEvent&lt;-org.apache.isis.applib.events/PropertyUsabilityEvent" source="//@children.22" target="//@children.8" targetEnd="//@children.22/@sourceConnections.0/@children.1" sourceEnd="//@children.22/@sourceConnections.0/@children.0" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="104,-1" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="64,29"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=1;Product=eUML2" autoName="false"/>
+  <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="15,15" gridOrigin="0,0" rulerUnit="pixel" gridVisibility="false">
+    <leftRuler/>
+    <topRuler/>
+  </boardSetting>
+  <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showPopupBars="true" showConnectionHandles="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" showDependencyStereotype="true" showInterfaceStereotype="true" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+</editmodel:ClassDiagramEditModel>

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/core/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd
----------------------------------------------------------------------
diff --git a/framework/core/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd b/framework/core/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd
new file mode 100644
index 0000000..baaee5f
--- /dev/null
+++ b/framework/core/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="Fixtures" size="1218,592" id="org.apache.isis.applib.fixtures" metadata="uml2-1.0" initialized="true" tag="1000" key="32303037303533312D31303030206170706C69622F64616E">
+  <children xsi:type="editmodel:EnumerationEditModel" name="FixtureType" location="465,18" size="134,107" id="org.apache.isis.applib.fixtures/FixtureType" runTimeClassModel="OTHER%,DOMAIN_OBJECTS%,USER_PROFILES%">
+    <children xsi:type="editmodel:CompartmentEditModel" size="111,54">
+      <children xsi:type="editmodel:EnumerationLiteralEditModel" name="USER_PROFILES" id="org.apache.isis.applib.fixtures/FixtureType#USER_PROFILES%"/>
+      <children xsi:type="editmodel:EnumerationLiteralEditModel" name="OTHER" id="org.apache.isis.applib.fixtures/FixtureType#OTHER%"/>
+      <children xsi:type="editmodel:EnumerationLiteralEditModel" name="DOMAIN_OBJECTS" id="org.apache.isis.applib.fixtures/FixtureType#DOMAIN_OBJECTS%"/>
+    </children>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.6/@sourceConnections.0" name="BaseFixture" location="312,143" size="118,29" id="org.apache.isis.applib.fixtures/BaseFixture" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.fixtures/InstallableFixture&lt;-org.apache.isis.applib.fixtures/BaseFixture" source="//@children.1" target="//@children.3" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="59,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="76,43" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="LogonFixture" location="50,143" size="127,29" id="org.apache.isis.applib.fixtures/LogonFixture" runTimeClassModel="getRoles(),username,getType(),getUsername(),roles,install(),LogonFixture(Ljava.lang.String;[Ljava.lang.String;),LogonFixture(Ljava.lang.String;Ljava.util.List;),toString()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/InstallableFixture&lt;-org.apache.isis.applib.fixtures/LogonFixture" source="//@children.2" target="//@children.1/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="63,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="76,43" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.1/@sourceConnections.0" name="InstallableFixture" location="165,50" size="153,43" id="org.apache.isis.applib.fixtures/InstallableFixture" runTimeClassModel="getType(),install()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="UserProfileFixture" location="196,274" size="157,29" id="org.apache.isis.applib.fixtures/UserProfileFixture" runTimeClassModel="setService(Lorg.apache.isis.applib.fixtures.userprofile.UserProfileService;),UserProfileFixture(),install()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/UserProfileFixture" source="//@children.4" target="//@children.6/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="78,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.6/@sourceConnections.1" name="CompositeFixture" location="570,171" size="154,43" id="org.apache.isis.applib.fixtures/CompositeFixture" runTimeClassModel="getFixtures()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractFixture" location="563,274" size="138,29" id="org.apache.isis.applib.fixtures/AbstractFixture" runTimeClassModel="fixtures,laterDate(III),getFixtures(),setService(Lorg.apache.isis.applib.fixtures.switchuser.SwitchUserService;),earlierTime(II),AbstractFixture(Lorg.apache.isis.applib.fixtures.FixtureType;),laterTime(II),earlierDate(III),install(),AbstractFixture()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.8/@sourceConnections.0 //@children.4/@sourceConnections.0 //@children.7/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/AbstractFixture" source="//@children.6" target="//@children.1" targetEnd="//@children.6/@sourceConnections.0/@children.1" sourceEnd="//@children.6/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="69,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="59,29" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="org.apache.isis.applib.fixtures/CompositeFixture&lt;-org.apache.isis.applib.fixtures/AbstractFixture" source="//@children.6" target="//@children.5" targetEnd="//@children.6/@sourceConnections.1/@children.1" sourceEnd="//@children.6/@sourceConnections.1/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="85,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="77,42"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="SwitchUserFixture" location="383,274" size="158,29" id="org.apache.isis.applib.fixtures/SwitchUserFixture" runTimeClassModel="getRoles(),username,setService(Lorg.apache.isis.applib.fixtures.switchuser.SwitchUserService;),getUsername(),roles,install(),SwitchUserFixture(Ljava.lang.String;[Ljava.lang.String;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/SwitchUserFixture" source="//@children.7" target="//@children.6/@sourceConnections.0" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="79,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="20,14"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="DateFixture" location="50,274" size="116,29" id="org.apache.isis.applib.fixtures/DateFixture" runTimeClassModel="getDay(),getMonth(),hour,minute,getHour(),getYear(),month,year,install(),day,DateFixture(IIIII),getMinute(),DateFixture(III)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/DateFixture" source="//@children.8" target="//@children.6/@sourceConnections.0" targetEnd="//@children.8/@sourceConnections.0/@children.1" sourceEnd="//@children.8/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="58,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=1;Product=eUML2" autoName="false"/>
+  <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="15,15" gridOrigin="0,0" rulerUnit="pixel" gridVisibility="false">
+    <leftRuler/>
+    <topRuler/>
+  </boardSetting>
+  <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showPopupBars="true" showConnectionHandles="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" showDependencyStereotype="true" showInterfaceStereotype="true" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+</editmodel:ClassDiagramEditModel>

http://git-wip-us.apache.org/repos/asf/isis/blob/dbb64345/framework/core/applib/src/main/src-archived/AbstractGenericFactoryAndRepository.java
----------------------------------------------------------------------
diff --git a/framework/core/applib/src/main/src-archived/AbstractGenericFactoryAndRepository.java b/framework/core/applib/src/main/src-archived/AbstractGenericFactoryAndRepository.java
new file mode 100644
index 0000000..51a5657
--- /dev/null
+++ b/framework/core/applib/src/main/src-archived/AbstractGenericFactoryAndRepository.java
@@ -0,0 +1,202 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+
+package org.apache.isis.applib.generics;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.Filter;
+import org.apache.isis.applib.RepositoryException;
+
+
+public abstract class AbstractGenericFactoryAndRepository extends AbstractService {
+
+	private DomainGenericObjectContainer genericContainer;
+
+    /**
+     * This field is not persisted, nor displayed to the user.
+     */
+    protected DomainGenericObjectContainer getGenericContainer() {
+        return this.genericContainer;
+    }
+
+    /**
+     * Injected by the application container itself.
+     */
+    public final void setGenericContainer(final DomainGenericObjectContainer container) {
+        this.genericContainer = container;
+    }
+	
+	
+	
+    /**
+     * Returns all the instances of the specified type, including instances of any subclasses if the
+     * includeSubclasses flag set. If there are no instances the list will be empty. This method creates a new
+     * list object each time it is called so the caller is free to use or modify the returned List, but the
+     * changes will not be reflected back to the repository.
+     */
+    protected <T> List<T> allInstances(final Class<T> cls, final boolean includeSubclasses) {
+        T[] instances = getGenericContainer().allInstances(cls, includeSubclasses);
+        return asList(instances);
+    }
+
+    /**
+     * Returns all the instances of the specified type that the filter object accepts. This method will also
+     * search through the instances of any subclasses if the includeSubclasses flag is set. If there are no
+     * instances the list will be empty. This method creates a new list object each time it is called so the
+     * caller is free to use or modify the returned List, but the changes will not be reflected back to the
+     * repository.
+     */
+    protected <T> List<T> allMatches(final Class<T> cls, final Filter filter, final boolean includeSubclasses) {
+        T[] allInstances = getGenericContainer().allInstances(cls, includeSubclasses);
+        List<T> filtered = new ArrayList<T>();
+        for (int i = 0; i < allInstances.length; i++) {
+            T instance = allInstances[i];
+            if (filter.accept(instance)) {
+                filtered.add(instance);
+            }
+        }
+        return filtered;
+    }
+
+    /**
+     * Returns all the instances of the specified type that match the given object: where any property that is
+     * set will be tested and properties that are not set will be ignored. This method will also search though
+     * the instances of any subclasses if the includeSubclasses flag is set. If there are no instances the
+     * list will be empty. This method creates a new list object each time it is called so the caller is free
+     * to use or modify the returned List, but the changes will not be reflected back to the repository.
+     */
+    protected <T> List<T> allMatches(final Class<T> cls, final Object pattern, final boolean includeSubclasses) {
+        T[] instances = getGenericContainer().findInstances(cls, pattern, includeSubclasses);
+        return asList(instances);
+    }
+
+    /**
+     * Returns all the instances of the specified type that have the given title. This method will also search
+     * through the instances of any subclasses if the includeSubclasses flag is set. If there are no instances
+     * the list will be empty. This method creates a new list object each time it is called so the caller is
+     * free to use or modify the returned List, but the changes will not be reflected back to the repository.
+     */
+    protected <T> List<T> allMatches(final Class<T> cls, final String title, final boolean includeSubclasses) {
+        T[] instances = getGenericContainer().findInstances(cls, title, includeSubclasses);
+        return asList(instances);
+    }
+
+    private <T> List<T> asList(T[] instances) {
+        List<T> list = Arrays.asList(instances);
+        return list;
+    }
+
+    /**
+     * Returns the first instance that matches the supplied filter, or null if none. This method will also
+     * search though the instances of any subclasses if the includeSubclasses flag is set.
+     */
+    protected <T> T firstMatch(final Class<T> cls, final Filter filter, final boolean includeSubclasses) {
+        T[] allInstances = getGenericContainer().allInstances(cls, includeSubclasses);
+        for (int i = 0; i < allInstances.length; i++) {
+            T instance = allInstances[i];
+            if (filter.accept(instance)) {
+                return instance;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the first instance that matches the supplied filter, or null if none. This method will also
+     * search though the instances of any subclasses if the includeSubclasses flag is set.
+     */
+    protected <T> T firstMatch(final Class<T> cls, final Object pattern, final boolean includeSubclasses) {
+        return (T) getGenericContainer().firstInstance(cls, pattern, includeSubclasses);
+    }
+
+    /**
+     * Returns the first instance that matches the supplied filter, or null if none. This method will also
+     * search though the instances of any subclasses if the includeSubclasses flag is set.
+     */
+    protected <T> T firstMatch(final Class<T> cls, final String title, final boolean includeSubclasses) {
+        return (T) getGenericContainer().firstInstance(cls, title, includeSubclasses);
+    }
+
+    /**
+     * Returns a new instance of the specified class with a persisted state the same as the other object.
+     * Therefore when the object is transient the new instance will not be persisted once it is created,
+     * whereas if the object is persistent, then the new instance will be persisted once created.
+     */
+    protected <T> T newInstance(final Class<T> ofClass, final Object sameStateAs) {
+        return getGenericContainer().newInstance(ofClass, sameStateAs);
+    }
+
+    /**
+     * Returns a new instance of the specified class that will be persisted before returned.
+     */
+    protected <T> T newPersistentInstance(final Class<T> ofClass) {
+        return getGenericContainer().newPersistentInstance(ofClass);
+    }
+
+    /**
+     * Returns a new instance of the specified class that will not have been persisted.
+     */
+    protected <T> T newTransientInstance(final Class<T> ofClass) {
+        return getGenericContainer().newTransientInstance(ofClass);
+    }
+
+    /**
+     * Find the only instance of the specified type that has the specified title. If the includeSubclasses
+     * flag is set then the search will also be include instances of all subclasses. If no instance is found
+     * then null will be return, while if there is more that one instances a run-time exception will be
+     * thrown.
+     */
+    protected <T> T uniqueMatch(final Class<T> cls, final Filter filter, final boolean includeSubclasses) {
+        List<T> instances = allMatches(cls, filter, includeSubclasses);
+        if (instances.size() == 1) {
+            return instances.get(0);
+        } else if (instances.size() == 0) {
+            return null;
+        } else {
+            throw new RepositoryException("Found more that one instance matching filter " + filter);
+        }
+    }
+
+    /**
+     * Find the only instance of the specified type that has the specified title. If the includeSubclasses
+     * flag is set then the search will also be include instances of all subclasses. If no instance is found
+     * then null will be return, while if there is more that one instances a run-time exception will be
+     * thrown.
+     */
+    protected <T> T uniqueMatch(final Class<T> cls, final String title, final boolean includeSubclasses) {
+        return getGenericContainer().findInstance(cls, title, includeSubclasses);
+    }
+
+    /**
+     * Find the only instance of the patterned object type that matches the set fields in the pattern object:
+     * where any property that is set will be tested and properties that are not set will be ignored. If the
+     * includeSubclasses flag is set then the search will also be include instances of all subclasses. If no
+     * instance is found then null will be return, while if there is more that one instances a run-time
+     * exception will be thrown.
+     */
+    protected <T> T uniqueMatch(final Class<T> cls, final T pattern, final boolean includeSubclasses) {
+        return getGenericContainer().findInstance(cls, pattern, includeSubclasses);
+    }
+}
+