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 2015/11/25 10:57:21 UTC

[1/3] isis git commit: ISIS-1243: updating live templates for IntelliJ, also adding file templates

Repository: isis
Updated Branches:
  refs/heads/master d8473972e -> f5a5de6c2


http://git-wip-us.apache.org/repos/asf/isis/blob/f5a5de6c/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates2.xml
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates2.xml b/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates2.xml
deleted file mode 100644
index 8724f6e..0000000
--- a/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates2.xml
+++ /dev/null
@@ -1,479 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="java-members" deleted="false" description="Action" enabled="true" name="isa">// //////////////////////////////////////&#13;
-// ${actionName} (action)&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1")&#13;
-public ${ReturnType} ${actionName}(final ${ParameterType} ${parameterType}) {&#13;
-	return ${cursor}null; // TODO: business logic here&#13;
-}&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument N choices" enabled="true" name="isacho">${:import(java.util.Collections,java.util.List)}public List&lt;${ParameterType}&gt; choices${ParameterNumThenCapitalizedActionName}() {&#13;
-	return ${cursor}Collections.emptyList(); // TODO: return list of choices for argument N&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action argument defaults" enabled="true" name="isadef">public ${ParameterType} default${ParameterNumThenCapitalizedActionName}() {&#13;
-	return ${cursor}null; // TODO: return default for argument N&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action disabling" enabled="true" name="isadis">public String disable${ActionName}() {&#13;
-	return ${cursor}null; // TODO: return reason why action disabled, null if enabled&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action hiding" enabled="true" name="isahid">public boolean hide${ActionName}() {&#13;
-	return ${cursor}false; // TODO: return true if action is hidden, false if visible&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Action validation" enabled="true" name="isaval">public String validate${ActionName}(final ${ParameterType} ${parameterType}) {&#13;
-	return ${cursor}null; // TODO: return reason why action arguments are invalid, null if ok&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (1:m bidir parent)" enabled="true" name="isc-1m">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {&#13;
-	// check for no-op&#13;
-	if (${childElementName} == null || &#13;
-		get${ChildCollectionName}().contains(${childElementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate arg from its current parent (if any).&#13;
-	${childElementName}.clear${ParentPropertyNameInChild}();&#13;
-	// associate arg&#13;
-	${childElementName}.set${ParentPropertyNameInChild}(this);&#13;
-	get${ChildCollectionName}().add(${childElementName});&#13;
-	// additional business logic&#13;
-	onAddTo${ChildCollectionName}(${childElementName});&#13;
-}&#13;
-public void removeFrom${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {&#13;
-	// check for no-op&#13;
-	if (${childElementName} == null || &#13;
-		!get${ChildCollectionName}().contains(${childElementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate arg&#13;
-	${childElementName}.set${ParentPropertyNameInChild}(null);&#13;
-	get${ChildCollectionName}().remove(${childElementName});&#13;
-	// additional business logic&#13;
-	onRemoveFrom${ChildCollectionName}(${childElementName});&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (set - 1:n bidir, foreign key)" enabled="true" name="isc-jdo-1n-b-fk">// //////////////////////////////////////
-// ${collectionName} (collection)
-// //////////////////////////////////////
-
-${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persistent)}@Persistent(mappedBy="${elementNameInChild}", dependentElement="${trueOrFalse}")
-private SortedSet&lt;${ElementType}&gt; ${collectionName} = new TreeSet&lt;${ElementType}&gt;();
-@MemberOrder(sequence="1")
-public SortedSet&lt;${ElementType}&gt; get${CollectionName}() {
-return ${collectionName};
-}
-public void set${CollectionName}(final SortedSet&lt;${ElementType}&gt; ${collectionName}) {
-this.${collectionName} = ${collectionName};
-}
-
-
-</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (set - 1:n bidir, join table)" enabled="true" name="isc-jdo-1n-b-jt">// //////////////////////////////////////
-// ${collectionName} (collection)
-// //////////////////////////////////////
-
-${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persitent,javax.jdo.annotations.Join)}@Persistent(mappedBy="${elementNameInChild}", dependentElement="${trueOrFalse}")
-@Join
-private SortedSet&lt;${ElementType}&gt; ${collectionName} = new TreeSet&lt;${ElementType}&gt;();
-@MemberOrder(sequence="1")
-public SortedSet&lt;${ElementType}&gt; get${CollectionName}() {
-return ${collectionName};
-}
-public void set${CollectionName}(final SortedSet&lt;${ElementType}&gt; ${collectionName}) {
-this.${collectionName} = ${collectionName};
-}
-
-
-</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (set - 1:n unidir, foreign key)" enabled="true" name="isc-jdo-1n-u-fk">// //////////////////////////////////////
-// ${collectionName} (collection)
-// //////////////////////////////////////
-
-${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Element)}
-@Element(column="${ColumnName}", dependent="${trueOrFalse}")
-private SortedSet&lt;${ElementType}&gt; ${collectionName} = new TreeSet&lt;${ElementType}&gt;();
-@MemberOrder(sequence="1")
-public SortedSet&lt;${ElementType}&gt; get${CollectionName}() {
-return ${collectionName};
-}
-public void set${CollectionName}(final SortedSet&lt;${ElementType}&gt; ${collectionName}) {
-this.${collectionName} = ${collectionName};
-}
-
-
-</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (set - 1:n unidir, join table)" enabled="true" name="isc-jdo-1n-u-jt">// //////////////////////////////////////
-// ${collectionName} (collection)
-// //////////////////////////////////////
-
-${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Join,javax.jdo.annotations.Element)}@Join
-@Element(dependent="${trueOrFalse}")
-private SortedSet&lt;${ElementType}&gt; ${collectionName} = new TreeSet&lt;${ElementType}&gt;();
-@MemberOrder(sequence="1")
-public SortedSet&lt;${ElementType}&gt; get${CollectionName}() {
-return ${collectionName};
-}
-public void set${CollectionName}(final SortedSet&lt;${ElementType}&gt; ${collectionName}) {
-this.${collectionName} = ${collectionName};
-}
-
-
-</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (set - m:n bidir - child)" enabled="true" name="isc-jdo-mn-ub-c">// //////////////////////////////////////
-// ${collectionName} (collection)
-// //////////////////////////////////////
-
-${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persistent)}@Persistent(mappedBy="${ChildCollectionNameInParent}")
-private SortedSet&lt;${ElementType}&gt; ${collectionName} = new TreeSet&lt;${ElementType}&gt;();
-public SortedSet&lt;${ElementType}&gt; get${CollectionName}() {
-return ${collectionName};
-}
-public void set${CollectionName}(final SortedSet&lt;${ElementType}&gt; ${collectionName}) {
-this.${collectionName} = ${collectionName};
-}
-
-
-</template><template autoinsert="true" context="java-members" deleted="false" description="JDO Collection (set - m:n unidir &amp; bidir - parent)" enabled="true" name="isc-jdo-mn-ub-p">// //////////////////////////////////////
-// ${collectionName} (collection)
-// //////////////////////////////////////
-
-${:import(java.util.SortedSet,java.util.TreeSet,org.apache.isis.applib.annotation.MemberOrder,javax.jdo.annotations.Persistent,javax.jdo.annotations.Join,javax.jdo.annotations.Element)}@Persistent(table="${TableName}")
-@Join(column="${ThisEntityFieldName}")
-@Element(column="${RelatedEntityFieldName}")
-private SortedSet&lt;${ElementType}&gt; ${collectionName} = new TreeSet&lt;${ElementType}&gt;();@MemberOrder(sequence="1")
-
-public SortedSet&lt;${ElementType}&gt; get${CollectionName}() {
-	return ${collectionName};
-}
-public void set${CollectionName}(final SortedSet&lt;${ElementType}&gt; ${collectionName}) {
-	this.${collectionName} = ${collectionName};
-}
-
-
-</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir child)" enabled="true" name="isc-mmc">public void addTo${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) {&#13;
-	// check for no-op&#13;
-	if (${parentElementName} == null || &#13;
-		get${ParentCollectionName}().contains(${parentElementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// delegate to parent to add&#13;
-	${parentElementName}.addTo${ChildCollectionNameInParent}(this);&#13;
-	// additional business logic&#13;
-	onAddTo${ParentCollectionName}(${parentElementName});&#13;
-}&#13;
-public void removeFrom${ParentCollectionName}(final ${ParentElementType} ${parentElementName}) {&#13;
-	// check for no-op&#13;
-	if (${parentElementName} == null || &#13;
-		!get${ParentCollectionName}().contains(${parentElementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// delegate to parent to remove&#13;
-	${parentElementName}.removeFrom${ChildCollectionNameInParent}(this);&#13;
-	// additional business logic&#13;
-	onRemoveFrom${ParentCollectionName}(${parentElementName});&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (m:m bidir parent)" enabled="true" name="isc-mmp">public void addTo${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {&#13;
-	// check for no-op&#13;
-	if (${childElementName} == null || &#13;
-		get${ChildCollectionName}().contains(${childElementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate arg from its current parent (if any).&#13;
-	${childElementName}.removeFrom${ParentCollectionNameInChild}(this);&#13;
-	// associate arg&#13;
-	${childElementName}.get${ParentCollectionNameInChild}().add(this);&#13;
-	get${ChildCollectionName}().add(${childElementName});&#13;
-	// additional business logic&#13;
-	onAddTo${ChildCollectionName}(${childElementName});&#13;
-}&#13;
-public void removeFrom${ChildCollectionName}(final ${ChildElementType} ${childElementName}) {&#13;
-	// check for no-op&#13;
-	if (${childElementName} == null || &#13;
-		!get${ChildCollectionName}().contains(${childElementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate arg&#13;
-	${childElementName}.get${ParentCollectionNameInChild}().remove(this);&#13;
-	get${ChildCollectionName}().remove(${childElementName});&#13;
-	// additional business logic&#13;
-	onRemoveFrom${ChildCollectionName}(${childElementName});&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection disabling" enabled="true" name="iscdis">public String disable${CollectionName}() {&#13;
-	return ${cursor}null; // TODO: return reason why collection read-only, null if editable&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection hiding" enabled="true" name="ischid">public boolean hide${CollectionName}() {&#13;
-	return ${cursor}false; // TODO: return true if hidden, false otherwise&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (list)" enabled="true" name="iscl">// //////////////////////////////////////&#13;
-// ${collectionName} (collection)&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(java.util.List,java.util.ArrayList,org.apache.isis.applib.annotation.MemberOrder)}private List&lt;${ElementType}&gt; ${collectionName} = new ArrayList&lt;${ElementType}&gt;();&#13;
-@MemberOrder(sequence="1")&#13;
-public List&lt;${ElementType}&gt; get${CollectionName}() {&#13;
-	return ${collectionName};&#13;
-}&#13;
-public void set${CollectionName}(final List&lt;${ElementType}&gt; ${collectionName}) {&#13;
-	this.${collectionName} = ${collectionName};&#13;
-}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Collection modify" enabled="true" name="iscmod">public void addTo${CollectionName}(final ${ElementType} ${elementName}) {&#13;
-	// check for no-op&#13;
-	if (${elementName} == null || &#13;
-		get${CollectionName}().contains(${elementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// associate new&#13;
-	get${CollectionName}().add(${elementName});&#13;
-    // additional business logic&#13;
-    onAddTo${CollectionName}(${elementName});&#13;
-}&#13;
-public void removeFrom${CollectionName}(final ${ElementType} ${elementName}) {&#13;
-	// check for no-op&#13;
-	if (${elementName} == null || &#13;
-		!get${CollectionName}().contains(${elementName})) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate existing&#13;
-	get${CollectionName}().remove(${elementName});&#13;
-    // additional business logic&#13;
-    onRemoveFrom${CollectionName}(${elementName});&#13;
-}&#13;
-protected void onAddTo${CollectionName}(final ${ElementType} ${elementName}) {&#13;
-}&#13;
-protected void onRemoveFrom${CollectionName}(final ${ElementType} ${elementName}) {&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Collection (set)" enabled="true" name="iscs">// //////////////////////////////////////&#13;
-// ${collectionName} (collection)&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(java.util.Set,java.util.LinkedHashSet,org.apache.isis.applib.annotation.MemberOrder)}private Set&lt;${ElementType}&gt; ${collectionName} = new LinkedHashSet&lt;${ElementType}&gt;();&#13;
-@MemberOrder(sequence="1")&#13;
-public Set&lt;${ElementType}&gt; get${CollectionName}() {&#13;
-	return ${collectionName};&#13;
-}&#13;
-public void set${CollectionName}(final Set&lt;${ElementType}&gt; ${collectionName}) {&#13;
-	this.${collectionName} = ${collectionName};&#13;
-}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Collection validation" enabled="true" name="iscval">public String validateAddTo${CollectionName}(final ${ElementType} ${elementName}) {&#13;
-	return ${cursor}null; // TODO: return reason why argument cannot be added, null if ok to add&#13;
-}&#13;
-public String validateRemoveFrom${CollectionName}(final ${ElementType} ${elementName}) {&#13;
-	return null; // TODO: return reason why argument cannot be removed, null if ok to remove&#13;
-}&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies region" enabled="true" name="isd">// //////////////////////////////////////&#13;
-// injected dependencies&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${cursor}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Dependencies - injected service" enabled="true" name="isds">private ${ServiceType} ${serviceType};&#13;
-public final void inject${ServiceType}(final ${ServiceType} ${serviceType}) {&#13;
-	this.${serviceType} = ${serviceType};&#13;
-}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (persistent)" enabled="true" name="isfp">public ${Type} new${Type}() {&#13;
-	${Type} ${type} = newTransientInstance(${Type}.class);&#13;
-	${cursor}// TODO: set up any properties&#13;
-&#13;
-	persistIfNotAlready(${type});&#13;
-	return ${type};&#13;
-}&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Factory - new instance (transient)" enabled="true" name="isft">public ${Type} new${InstanceOfType}() {&#13;
-	${Type} ${type} = newTransientInstance(${Type}.class);&#13;
-	${cursor}// TODO: set up any properties&#13;
-&#13;
-	return ${type};&#13;
-}&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Identification region" enabled="true" name="isid">// //////////////////////////////////////&#13;
-// Identification&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${cursor}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - icon" enabled="true" name="isidicon">public String iconName() {&#13;
-	return ${cursor}null; // TODO: return name of image file (without suffix)&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Identification - title" enabled="true" name="isidtitle">public String title() {&#13;
-    ${:import(org.apache.isis.applib.util.TitleBuffer)}final TitleBuffer buf = new TitleBuffer();&#13;
-    ${cursor}// TODO: append to TitleBuffer, typically value properties&#13;
-	return buf.toString();&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle region" enabled="true" name="isl">// //////////////////////////////////////&#13;
-// Lifecycle methods&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${cursor}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - create" enabled="true" name="islc">public void created() {&#13;
-    ${cursor}// TODO: post-create&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - load" enabled="true" name="isll">public void loading() {&#13;
-    ${cursor}// TODO: pre-load&#13;
-}&#13;
-public void loaded() {&#13;
-    // TODO: post-load&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - persist" enabled="true" name="islp">public void persisting() {&#13;
-    ${cursor}// TODO: pre-persist&#13;
-}&#13;
-public void persisted() {&#13;
-    // TODO: post-persist&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - remove" enabled="true" name="islr">public void removing() {&#13;
-    ${cursor}// TODO: pre-remove&#13;
-}&#13;
-public void removed() {&#13;
-    // TODO: post-remove&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Lifecycle - update" enabled="true" name="islu">public void updating() {&#13;
-    ${cursor}// TODO: pre-update&#13;
-}&#13;
-public void updated() {&#13;
-    // TODO: post-update&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property" enabled="true" name="isp">// //////////////////////////////////////&#13;
-// ${propertyName} (property)&#13;
-// //////////////////////////////////////&#13;
-&#13;
-private ${PropertyType} ${propertyName};&#13;
-${:import(org.apache.isis.applib.annotation.MemberOrder)}@MemberOrder(sequence="1")&#13;
-public ${PropertyType} get${PropertyName}() {&#13;
-	return ${propertyName};&#13;
-}&#13;
-public void set${PropertyName}(final ${PropertyType} ${propertyName}) {&#13;
-	this.${propertyName} = ${propertyName};&#13;
-}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir child)" enabled="true" name="isp-11c">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {&#13;
-    ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();&#13;
-	// check for no-op&#13;
-	if (${parentPropertyName} == null || &#13;
-		${parentPropertyName}.equals(current${ParentPropertyName})) {&#13;
-		return;&#13;
-	}&#13;
-	// delegate to parent to associate&#13;
-	${parentPropertyName}.modify${ChildPropertyNameInParent}(this);&#13;
-	// additional business logic&#13;
-	onModify${ParentPropertyName}(current${ParentPropertyName}, ${parentPropertyName});&#13;
-}&#13;
-public void clear${PropertyName}() {&#13;
-    ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();&#13;
-	// check for no-op&#13;
-	if (current${ParentPropertyName} == null) {&#13;
-		return;&#13;
-	}&#13;
-	// delegate to parent to dissociate&#13;
-	current${ParentPropertyName}.clear${ChildPropertyNameInParent}();&#13;
-	// additional business logic&#13;
-	onClear${ParentPropertyName}(current${ParentPropertyName});&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (1:1 bidir parent)" enabled="true" name="isp-11p">public void modify${ChildPropertyName}(final ${ChildPropertyType} ${childPropertyName}) {&#13;
-    ${ChildPropertyType} current${ChildPropertyName} = get${ChildPropertyName}();&#13;
-	// check for no-op&#13;
-	if (${childPropertyName} == null || &#13;
-		${childPropertyName}.equals(current${ChildPropertyName})) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate existing&#13;
-	clear${ChildPropertyName}();&#13;
-	// associate new&#13;
-	${childPropertyName}.set${ParentPropertyNameInChild}(this);&#13;
-	set${ChildPropertyName}(${childPropertyName});&#13;
-	// additional business logic&#13;
-	onModify${ChildPropertyName}(current${ChildPropertyName}, ${childPropertyName});&#13;
-}&#13;
-public void clear${ChildPropertyName}() {&#13;
-    ${ChildPropertyType} current${ChildPropertyName} = get${ChildPropertyName}();&#13;
-	// check for no-op&#13;
-	if (current${ChildPropertyName} == null) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate existing&#13;
-	current${ChildPropertyName}.set${ParentPropertyNameInChild}(null);&#13;
-	set${ChildPropertyName}(null);&#13;
-	// additional business logic&#13;
-	onClear${ChildPropertyName}(current${ChildPropertyName});&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property (m:1 bidir child)" enabled="true" name="isp-m1">public void modify${ParentPropertyName}(final ${ParentPropertyType} ${parentPropertyName}) {&#13;
-    ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();&#13;
-	// check for no-op&#13;
-	if (${parentPropertyName} == null || &#13;
-		${parentPropertyName}.equals(current${ParentPropertyName})) {&#13;
-		return;&#13;
-	}&#13;
-	// delegate to parent to associate&#13;
-	${parentPropertyName}.addTo${ChildCollectionNameInParent}(this);&#13;
-	// additional business logic&#13;
-	onModify${ParentPropertyName}(current${ParentPropertyName}, ${parentPropertyName});&#13;
-}&#13;
-public void clear${ParentPropertyName}() {&#13;
-    ${ParentPropertyType} current${ParentPropertyName} = get${ParentPropertyName}();&#13;
-	// check for no-op&#13;
-	if (current${ParentPropertyName} == null) {&#13;
-		return;&#13;
-	}&#13;
-	// delegate to parent to dissociate&#13;
-	current${ParentPropertyName}.removeFrom${ChildCollectionNameInParent}(this);&#13;
-	// additional business logic&#13;
-	onClear${ParentPropertyName}(current${ParentPropertyName});&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property choices" enabled="true" name="ispcho">${:import(java.util.List)}public List&lt;${PropertyType}&gt; choices${PropertyName}() {&#13;
-	return ${cursor}null; // TODO: return list of choices for property&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property defaults" enabled="true" name="ispdef">public ${PropertyType} default${PropertyName}() {&#13;
-	return ${cursor}null; // TODO: return default for property when first created&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property disabling" enabled="true" name="ispdis">public String disable${PropertyName}() {&#13;
-	return ${cursor}null; // TODO: return reason why property is disabled, null if editable&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property hiding" enabled="true" name="isphid">public boolean hide${PropertyName}() {&#13;
-	return ${cursor}false; // TODO: return true if hidden, false if visible&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property modify" enabled="true" name="ispmod">public void modify${PropertyName}(final ${PropertyType} ${propertyName}) {&#13;
-    ${PropertyType} current${PropertyName} = get${PropertyName}();&#13;
-	// check for no-op&#13;
-	if (${propertyName} == null || &#13;
-		${propertyName}.equals(current${PropertyName})) {&#13;
-		return;&#13;
-	}&#13;
-	// associate new&#13;
-	set${PropertyName}(${propertyName});&#13;
-	// additional business logic&#13;
-	onModify${PropertyName}(current${PropertyName}, ${propertyName});&#13;
-}&#13;
-public void clear${PropertyName}() {&#13;
-    ${PropertyType} current${PropertyName} = get${PropertyName}();&#13;
-	// check for no-op&#13;
-	if (current${PropertyName} == null) {&#13;
-		return;&#13;
-	}&#13;
-	// dissociate existing&#13;
-	set${PropertyName}(null);&#13;
-	// additional business logic&#13;
-	onClear${PropertyName}(current${PropertyName});&#13;
-}&#13;
-protected void onModify${PropertyName}(final ${PropertyType} old${PropertyName}, final ${PropertyType} new${PropertyName}) {&#13;
-}&#13;
-protected void onClear${PropertyName}(final ${PropertyType} old${PropertyName}) {&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Property validation" enabled="true" name="ispval">public String validate${PropertyName}(final ${PropertyType} ${propertyName}) {&#13;
-	if (${propertyName} == null) return null;&#13;
-	return ${cursor}null; // TODO: return reason why proposed value is invalid, null if valid&#13;
-}</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all" enabled="true" name="issa">// //////////////////////////////////////&#13;
-// all ${TypePlural}&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(org.apache.isis.applib.annotation.Prototype,java.util.List)}@Prototype&#13;
-public List&lt;${Type}&gt; all${TypePlural}() {&#13;
-	return allInstances(${Type}.class);&#13;
-}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Search for all matching" enabled="true" name="issafil">// //////////////////////////////////////&#13;
-// all ${TypePlural} that ${filterDescription}&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(org.apache.isis.applib.annotation.Prototype,org.apache.isis.applib.Filter,java.util.List)}@Prototype&#13;
-public List&lt;${Type}&gt; all${TypePlural}Matching(final Filter&lt;${Type}&gt; filter) {&#13;
-	return allMatches(${Type}.class, filter);&#13;
-}&#13;
-&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Search for first matching" enabled="true" name="issffil">// //////////////////////////////////////&#13;
-// first ${Type} that ${filterDescription}&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(org.apache.isis.applib.annotation.Prototype,org.apache.isis.applib.Filter,java.util.List)}@Prototype&#13;
-public ${Type} first${Type}Matching(final Filter&lt;${Type}&gt; filter) {&#13;
-	return firstMatch(${Type}.class, filter);&#13;
-}&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Search for unique matching" enabled="true" name="issufil">// //////////////////////////////////////&#13;
-// unique ${Type} that ${filterDescription}&#13;
-// //////////////////////////////////////&#13;
-&#13;
-${:import(org.apache.isis.applib.annotation.Exploration,org.apache.isis.applib.Filter,java.util.List)}@Exploration&#13;
-public ${Type} unique${Type}Matching(final Filter&lt;${Type}&gt; filter) {&#13;
-	return uniqueMatch(${Type}.class, filter);&#13;
-}&#13;
-&#13;
-</template><template autoinsert="true" context="java-members" deleted="false" description="Object-level validation" enabled="true" name="isval">public String validate() {&#13;
-    ${cursor}// TODO: return reason why object is in invalid state (and so cannot be saved/updated), or null if ok&#13;
-}</template></templates>
\ No newline at end of file


[3/3] isis git commit: ISIS-1243: updating live templates for IntelliJ, also adding file templates

Posted by da...@apache.org.
ISIS-1243: updating live templates for IntelliJ, also adding file templates


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f5a5de6c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f5a5de6c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f5a5de6c

Branch: refs/heads/master
Commit: f5a5de6c21c39b207da70e28c9e6a8512b65a994
Parents: d847397
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Nov 25 09:57:02 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Nov 25 09:57:02 2015 +0000

----------------------------------------------------------------------
 .../asciidoc/resources/templates/.gitignore     |   1 +
 .../intellij-live-templates-for-apache-isis.xml | 522 ++++++++++++
 ...-settings-file-templates-for-apache-isis.jar | Bin 0 -> 9104 bytes
 .../resources/templates/isis-templates-idea.xml | 804 -------------------
 .../resources/templates/isis-templates2.xml     | 479 -----------
 5 files changed, 523 insertions(+), 1283 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/f5a5de6c/adocs/documentation/src/main/asciidoc/resources/templates/.gitignore
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/resources/templates/.gitignore b/adocs/documentation/src/main/asciidoc/resources/templates/.gitignore
new file mode 100644
index 0000000..27620d5
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/resources/templates/.gitignore
@@ -0,0 +1 @@
+!*.jar

http://git-wip-us.apache.org/repos/asf/isis/blob/f5a5de6c/adocs/documentation/src/main/asciidoc/resources/templates/intellij-live-templates-for-apache-isis.xml
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/resources/templates/intellij-live-templates-for-apache-isis.xml b/adocs/documentation/src/main/asciidoc/resources/templates/intellij-live-templates-for-apache-isis.xml
new file mode 100644
index 0000000..0047c3f
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/resources/templates/intellij-live-templates-for-apache-isis.xml
@@ -0,0 +1,522 @@
+<templateSet group="Apache Isis">
+  <template name="ai-a" value="@org.apache.isis.applib.annotation.Action()&#10;public $ReturnType$ $actionName$(final $ParameterType$ $parameterType$) {&#10;    return $END$null; // TODO: business logic here&#10;}&#10;" description="Apache Isis Action" toReformat="true" toShortenFQNames="true">
+    <variable name="actionName" expression="&quot;actionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ParameterType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="parameterType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="ReturnType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-p-auto" value="public java.util.Collection&lt;$ParameterType$&gt; autoComplete$ParameterNum$$ActionName$(final String search) {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for argument N&#10;}" description="Apache Isis Action parameter auto-complete" toReformat="true" toShortenFQNames="true">
+    <variable name="ParameterNum" expression="&quot;Num&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-p-cho" value="public java.util.List&lt;$ParameterType$&gt; choices$ParameterNum$$ActionName$() {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for argument N&#10;}" description="Apache Isis Action parameter choices" toReformat="true" toShortenFQNames="true">
+    <variable name="ParameterNum" expression="&quot;Num&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-p-def" value="public $ParameterType$ default$ParameterNum$$ActionName$() {&#10;    return $END$null; // TODO: return default for argument N&#10;}" description="Apache Isis Action parameter defaults" toReformat="true" toShortenFQNames="true">
+    <variable name="ParameterNum" expression="&quot;Num&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-p-val" value="public String validate$ParamNum}$ActionName$(final $ParameterType$ $parameterType$) {&#10;    return $END$null; // TODO: return reason why action argument are invalid, null if ok&#10;}" description="Apache Isis Action parameter validation" toReformat="true" toShortenFQNames="true">
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <variable name="parameterType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-dis" value="public String disable$ActionName$() {&#10;    return $END$null; // TODO: return reason why action disabled, null if enabled&#10;}" description="Apache Isis Action disablement" toReformat="true" toShortenFQNames="true">
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-event" value="public static class $ActionName$DomainEvent extends ActionDomainEvent{}&#10;@org.apache.isis.applib.annotation.Action(&#10;        domainEvent = $ActionName$DomainEvent.class&#10;)&#10;public $ReturnType$ $actionName$(final $ParameterType$ $parameterType$) {&#10;    return $END$null; // TODO: business logic here&#10;}&#10;" description="Apache Isis Action (with domain event)" toReformat="true" toShortenFQNames="true">
+    <variable name="actionName" expression="&quot;actionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ActionName" expression="capitalize(actionName)" defaultValue="" alwaysStopAt="false" />
+    <variable name="ParameterType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="parameterType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="ReturnType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-event-decl" value="public static class $ActionName$DomainEvent extends ActionDomainEvent{}&#10;@org.apache.isis.applib.annotation.Action(&#10;        domainEvent = $ActionName$DomainEvent.class&#10;)&#10;" description="Apache Isis Action (domain event declaration only)" toReformat="true" toShortenFQNames="true">
+    <variable name="ActionName" expression="" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-hid" value="public boolean hide$ActionName$() {&#10;    return $END$false; // TODO: return true if action is hidden, false if visible&#10;}" description="Apache Isis Action visibility" toReformat="true" toShortenFQNames="true">
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-a-val" value="public String validate$ActionName$(final $ParameterType$ $parameterType$) {&#10;    return $END$null; // TODO: return reason why action arguments are invalid, null if ok&#10;}" description="Apache Isis Action validation" toReformat="true" toShortenFQNames="true">
+    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <variable name="parameterType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-dis" value="public String disable$CollectionName$() {&#10;    return $END$null; // TODO: return reason why collection read-only, null if editable&#10;}" description="Apache Isis Collection disablement" toReformat="true" toShortenFQNames="true">
+    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-hid" value="public boolean hide$CollectionName$() {&#10;    return $END$false; // TODO: return true if hidden, false otherwise&#10;}" description="Apache Isis Collection visibility" toReformat="true" toShortenFQNames="false">
+    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-jdo-1m-b-fk" value="@org.apache.isis.applib.annotation.Collection()&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$elementNameInChild$&quot;, dependentElement=&quot;$trueOrFalse$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;" description="Apache Isis Collection (JDO, 1:m parent bidirectional to foreign key)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="elementNameInChild" expression="decapitalize(EntityName)" defaultValue="" alwaysStopAt="false" />
+    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-jdo-1m-b-jt" value="@org.apache.isis.applib.annotation.Collection()&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$elementNameInChild$&quot;, dependentElement=&quot;$trueOrFalse$&quot;)&#10;@javax.jdo.annotations.Join&#10;@lombok.Getter @lombok.Setter&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;" description="Apache Isis Collection (JDO, 1:m parent bidirectional to join table)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="elementNameInChild" expression="decapitalize(EntityName)" defaultValue="" alwaysStopAt="false" />
+    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-jdo-1m-u-fk" value="@org.apache.isis.applib.annotation.Collection()&#10;@javax.jdo.annotations.Element(column=&quot;$ColumnName$&quot;, dependent=&quot;$trueOrFalse$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;" description="Apache Isis JDO Collection (1:m parent unidirectional)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="ColumnName" expression="&quot;ColumnName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-jdo-1m-u-jt" value="@org.apache.isis.applib.annotation.Collection()&#10;@javax.jdo.annotations.Join&#10;@javax.jdo.annotations.Element(dependent=&quot;$trueOrFalse$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;" description="Apache Isis Collection (JDO, 1:m parent unidirectional to join table)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-jdo-mn-ub-c" value="@org.apache.isis.applib.annotation.Collection()&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$ChildCollectionNameInParent$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;(); &#10;" description="Apache Isis Collection (JDO, m:n child)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="ChildCollectionNameInParent" expression="&quot;ChildCollectionNameInParent&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-jdo-mn-ub-p" value="@org.apache.isis.applib.annotation.Collection()&#10;@javax.jdo.annotations.Persistent(table=&quot;$TableName$&quot;) &#10;@javax.jdo.annotations.Join(column=&quot;$ThisEntityFieldName$&quot;) &#10;@javax.jdo.annotations.Element(column=&quot;$RelatedEntityFieldName$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;" description="Apache Isis Collection (JDO, m:n parent)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="TableName" expression="&quot;TableName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="ThisEntityFieldName" expression="&quot;ThisEntityFieldName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="RelatedEntityFieldName" expression="&quot;RelatedEntityFieldName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-ds-subscriber-on" value="@com.google.common.eventbus.Subscribe&#10;public void on(final $EventType$ ev) {&#10;    // TODO&#10;}&#10;" description="Apache Isis Domain Service Subscriber &quot;on&quot; event" toReformat="false" toShortenFQNames="true">
+    <variable name="EventType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="JAVA_DECLARATION" value="true" />
+    </context>
+  </template>
+  <template name="ai-jaxb-package.info" value="@javax.xml.bind.annotation.XmlSchema(&#10;        namespace = &quot;http://$namespaceBase$/$namespaceSuffix$/v$versionMajor$_$versionMinor$/$namespaceSuffix$.xsd&quot;,&#10;        xmlns = {&#10;                @javax.xml.bind.annotation.XmlNs(&#10;                        namespaceURI = &quot;http://isis.apache.org/schema/common&quot;,&#10;                        prefix = &quot;common&quot;&#10;                ),&#10;        },&#10;        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED&#10;)" toReformat="false" toShortenFQNames="true">
+    <variable name="namespaceBase" expression="        groovyScript(&quot;def str = _1; def list = str.split(\&quot;\\\\.\&quot;); def revlist = list.reverse(); def ret = revlist.iterator().join(\&quot;.\&quot;); return ret&quot;, currentPackage())" defaultValue="" alwaysStopAt="true" />
+    <variable name="namespaceSuffix" expression="groovyScript(&quot;def str = _1; def list = str.split(\&quot;\\\\.\&quot;); def revlist = list.reverse(); def ret = revlist[0]; return ret&quot;, currentPackage())" defaultValue="" alwaysStopAt="true" />
+    <variable name="versionMajor" expression="" defaultValue="1" alwaysStopAt="true" />
+    <variable name="versionMinor" expression="" defaultValue="0" alwaysStopAt="true" />
+    <context>
+      <option name="JAVA_DECLARATION" value="true" />
+    </context>
+  </template>
+  <template name="ai-inject" value="@javax.inject.Inject&#10;$ServiceType$ $serviceType$;&#10;" description="Apache Isis Injected Dependency Service" toReformat="true" toShortenFQNames="true">
+    <variable name="ServiceType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <variable name="serviceType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-id" value="//region &gt; title, icon etc&#10;public String title() {&#10;    final org.apache.isis.applib.util.TitleBuffer buf = new org.apache.isis.applib.util.TitleBuffer();&#10;    $END$// TODO: append to org.apache.isis.applib.util.TitleBuffer, typically value properties&#10;    return buf.toString();&#10;}&#10;public String iconName() {&#10;    return null; // TODO: return icon name (suffix)&#10;}&#10;public String cssClass() {&#10;    return null; // TODO: return CSS class name&#10;}&#10;//endregion" description="Apache Isis Identification region" toReformat="true" toShortenFQNames="true">
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-new" value="$Type$ $type$ = $container$.newTransientInstance($Type$.class);&#10;$END$// TODO: set up any properties&#10;&#10;$container$.persist($type$);&#10;" description="Apache Isis Commonly used method (factory for persistent)" toReformat="true" toShortenFQNames="true">
+    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <variable name="type" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="container" expression="&quot;container&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_STATEMENT" value="true" />
+      <option name="JAVA_EXPRESSION" value="false" />
+      <option name="JAVA_DECLARATION" value="false" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-jdo" value="@org.apache.isis.applib.annotation.Property()&#10;@javax.jdo.annotations.Column(allowsNull=&quot;$trueOrFalse$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private $PropertyType$ $propertyName$;&#10;" description="Apache Isis Property (JDO)" toReformat="true" toShortenFQNames="false">
+    <variable name="PropertyType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="trueOrFalse" expression="" defaultValue="false" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-auto" value="public java.util.Collection&lt;$PropertyType$&gt; autoComplete$PropertyName$(final String search) {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for property&#10;}" description="Apache Isis Property auto-complete" toReformat="true" toShortenFQNames="true">
+    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-cho" value="public java.util.Collection&lt;$PropertyType$&gt; choices$PropertyName$() {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for property&#10;}" description="Apache Isis Property choices" toReformat="true" toShortenFQNames="true">
+    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-def" value="public $PropertyType$ default$PropertyName$() {&#10;    return $END$null; // TODO: return default for property when first created&#10;}" description="Apache Isis Property default" toReformat="true" toShortenFQNames="true">
+    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
+    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-dis" value="public String disable$PropertyName$() {&#10;    return $END$null; // TODO: return reason why property is disabled, null if editable&#10;}" description="Apache Isis Property disablement" toReformat="true" toShortenFQNames="true">
+    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-hid" value="public boolean hide$PropertyName$() {&#10;  return $END$false; // TODO: return true if hidden, false if visible&#10; }" description="Apache Isis Property visibility" toReformat="true" toShortenFQNames="true">
+    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-val" value="public String validate$PropertyName$(final $PropertyType$ $propertyName$) {&#10;  if ($propertyName$ == null) return null;&#10;  return $END$null; // TODO: return reason why proposed value is invalid, null if valid&#10; }" description="Apache Isis Property validation" toReformat="true" toShortenFQNames="true">
+    <variable name="PropertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
+    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-obj-events" value="//region &gt; domain events&#10;public static abstract class PropertyDomainEvent&lt;T&gt;&#10;        extends org.apache.isis.applib.services.eventbus.PropertyDomainEvent&lt;$EntityName$,T&gt; {&#10;}&#10;public static abstract class CollectionDomainEvent&lt;T&gt;&#10;        extends org.apache.isis.applib.services.eventbus.CollectionDomainEvent&lt;$EntityName$,T&gt; {&#10;}&#10;public static abstract class ActionDomainEvent&#10;        extends org.apache.isis.applib.services.eventbus.ActionDomainEvent&lt;$EntityName$&gt; {&#10;}&#10;//endregion&#10;" description="Apache Isis Object: abstract domain events declarations" toReformat="true" toShortenFQNames="true">
+    <variable name="EntityName" expression="className()" defaultValue="" alwaysStopAt="false" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-obj-region" value="//region &gt; $Region$ &#10;$END$ &#10;//endregion" description="Apache Isis Region" toReformat="true" toShortenFQNames="true">
+    <variable name="Region" expression="&quot;Region&quot;" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-obj-standard" value="//region &gt; compareTo, toString&#10;@Override&#10;public int compareTo(final $EntityName$ other) {&#10;    return org.apache.isis.applib.util.ObjectContracts.compare(this, other, &quot;$property$&quot;);&#10;}&#10;@Override&#10;public String toString() {&#10;    return org.apache.isis.applib.util.ObjectContracts.toString(this, &quot;$property$&quot;);&#10;}&#10;//endregion&#10;" description="Apache Isis Object: standard methods (compareTo, toString)" toReformat="true" toShortenFQNames="true">
+    <variable name="EntityName" expression="className()" defaultValue="" alwaysStopAt="false" />
+    <variable name="property" expression="" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-obj-validate" value="public String validate() {&#10;    $END$// TODO: return reason why object is in invalid state (and so cannot be saved/updated), or null if ok&#10;}" description="Apache Isis Object: validate method" toReformat="true" toShortenFQNames="true">
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-jdo-11c" value="@javax.jdo.annotations.Column(allowsNull=&quot;$trueOrFalse$&quot;)&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$fieldOnChild$&quot;)&#10;@lombok.Getter @lombok.Setter&#10;private $PropertyType$ $propertyName$;&#10;" description="Apache Isis Property (JDO, 1:1 bidirectional parent to foreign key)" toReformat="true" toShortenFQNames="false">
+    <variable name="PropertyType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
+    <variable name="fieldOnChild" expression="" defaultValue="" alwaysStopAt="true" />
+    <variable name="trueOrFalse" expression="" defaultValue="false" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-c-event-decl" value="public static class $CollectionName$DomainEvent extends CollectionDomainEvent&lt;$ElementType$&gt;{}&#10;@org.apache.isis.applib.annotation.Collection(&#10;        domainEvent = $CollectionName$DomainEvent.class&#10;)&#10;" description="Apache Isis Collection (domain event declaration only)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="CollectionName" expression="capitalize(collectionName)" defaultValue="" alwaysStopAt="false" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+  <template name="ai-p-event-decl" value="public static class $PropertyName$DomainEvent extends PropertyDomainEvent&lt;$ElementType$&gt;{}&#10;@org.apache.isis.applib.annotation.Property(&#10;        domainEvent = $PropertyName$DomainEvent.class&#10;)&#10;" description="Apache Isis Property (domain event declaration only)" toReformat="true" toShortenFQNames="true">
+    <variable name="ElementType" expression="classNameComplete()" defaultValue="" alwaysStopAt="true" />
+    <variable name="PropertyName" expression="" defaultValue="" alwaysStopAt="true" />
+    <context>
+      <option name="HTML" value="false" />
+      <option name="XML" value="false" />
+      <option name="JAVA_CODE" value="false" />
+      <option name="JAVA_DECLARATION" value="true" />
+      <option name="JAVA_COMMENT" value="false" />
+      <option name="JAVA_STRING" value="false" />
+      <option name="COMPLETION" value="false" />
+      <option name="OTHER" value="false" />
+    </context>
+  </template>
+</templateSet>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/f5a5de6c/adocs/documentation/src/main/asciidoc/resources/templates/intellij-settings-file-templates-for-apache-isis.jar
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/resources/templates/intellij-settings-file-templates-for-apache-isis.jar b/adocs/documentation/src/main/asciidoc/resources/templates/intellij-settings-file-templates-for-apache-isis.jar
new file mode 100644
index 0000000..93d1345
Binary files /dev/null and b/adocs/documentation/src/main/asciidoc/resources/templates/intellij-settings-file-templates-for-apache-isis.jar differ


[2/3] isis git commit: ISIS-1243: updating live templates for IntelliJ, also adding file templates

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/f5a5de6c/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates-idea.xml
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates-idea.xml b/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates-idea.xml
deleted file mode 100644
index d633678..0000000
--- a/adocs/documentation/src/main/asciidoc/resources/templates/isis-templates-idea.xml
+++ /dev/null
@@ -1,804 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templateSet group="isis-templates">
-  <template name="isa" value="//region &gt; $actionName$ (action)&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public $ReturnType$ $actionName$(final $ParameterType$ $parameterType$) {&#10;    return $END$null; // TODO: business logic here&#10;}&#10;//endregion" description="Isis Action" toReformat="true" toShortenFQNames="true">
-    <variable name="actionName" expression="&quot;actionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="parameterType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ReturnType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isaauto" value="public java.util.Collection&lt;$ParameterType$&gt; autoComplete$ParameterNum$$ActionName$(final String search) {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for argument N&#10;}" description="Isis Action auto-complete" toReformat="true" toShortenFQNames="true">
-    <variable name="ParameterNum" expression="&quot;Num&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isacho" value="public java.util.List&lt;$ParameterType$&gt; choices$ParameterNum$$ActionName$() {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for argument N&#10;}" description="Isis Action choices" toReformat="true" toShortenFQNames="true">
-    <variable name="ParameterNum" expression="&quot;Num&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isadef" value="public $ParameterType$ default$ParameterNum$$ActionName$() {&#10;    return $END$null; // TODO: return default for argument N&#10;}" description="Isis Action defaults" toReformat="true" toShortenFQNames="true">
-    <variable name="ParameterNum" expression="&quot;Num&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isadis" value="public String disable$ActionName$() {&#10;    return $END$null; // TODO: return reason why action disabled, null if enabled&#10;}" description="Isis Action disablement" toReformat="true" toShortenFQNames="true">
-    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isahid" value="public boolean hide$ActionName$() {&#10;    return $END$false; // TODO: return true if action is hidden, false if visible&#10;}" description="Isis Action visibility" toReformat="true" toShortenFQNames="true">
-    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isaval" value="public String validate$ActionName$(final $ParameterType$ $parameterType$) {&#10;    return $END$null; // TODO: return reason why action arguments are invalid, null if ok&#10;}" description="Isis Action validation" toReformat="true" toShortenFQNames="true">
-    <variable name="ActionName" expression="&quot;ActionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParameterType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="parameterType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscmod.1m" value="public void addTo$ChildCollectionName$(final $ChildElementType$ $childElementName$) {&#10;    // check for no-op&#10;    if ($childElementName$ == null || &#10;        get$ChildCollectionName$().contains($childElementName$)) {&#10;        return;&#10;    }&#10;    // dissociate arg from its current parent (if any).&#10;    $childElementName$.clear$ParentPropertyNameInChild$();&#10;    // associate arg&#10;    $childElementName$.set$ParentPropertyNameInChild$(this);&#10;    get$ChildCollectionName$().add($childElementName$);&#10;}&#10;public void removeFrom$ChildCollectionName$(final $ChildElementType$ $childElementName$) {&#10;    // check for no-op&#10;    if ($childElementName$ == null || &#10;        !get$ChildCollectionName$().contains($childElementName$)) {&#10;        return;&#10;    }&#10;    // dissociate arg&#10;    $childElementName$.set$ParentPropertyNameInChild$(null);&#10;    get$ChildCollectionName$().remove($childElementName$);&#10;
 }" description="Isis Collection modification" toReformat="true" toShortenFQNames="true">
-    <variable name="ChildCollectionName" expression="&quot;ChildCollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="childElementName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParentPropertyNameInChild" expression="&quot;ParentPropertyNameInChild&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscmod.mmc" value="public void addTo$ParentCollectionName$(final $ParentElementType$ $parentElementName$) {&#10;    // check for no-op&#10;    if ($parentElementName$ == null || &#10;        get$ParentCollectionName$().contains($parentElementName$)) {&#10;        return;&#10;    }&#10;    // delegate to parent to add&#10;    $parentElementName$.addTo$ChildCollectionNameInParent$(this);&#10;}&#10;public void removeFrom$ParentCollectionName$(final $ParentElementType$ $parentElementName$) {&#10;    // check for no-op&#10;    if ($parentElementName$ == null || &#10;       !get$ParentCollectionName$().contains($parentElementName$)) {&#10;       return;&#10;    }&#10;    // delegate to parent to remove&#10;    $parentElementName$.removeFrom$ChildCollectionNameInParent$(this);&#10;}" description="Isis Collection modification (m:m child)" toReformat="true" toShortenFQNames="true">
-    <variable name="ParentCollectionName" expression="&quot;ParentCollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParentElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="parentElementName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildCollectionNameInParent" expression="&quot;ChildCollectionNameInParent&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscmod.mmp" value="public void addTo$ChildCollectionName$(final $ChildElementType$ $childElementName$) {&#10;    // check for no-op&#10;    if ($childElementName$ == null || &#10;        get$ChildCollectionName$().contains($childElementName$)) {&#10;        return;&#10;    }&#10;    // dissociate arg from its current parent (if any).&#10;    $childElementName$.removeFrom$ParentCollectionNameInChild$(this);&#10;    // associate arg&#10;    $childElementName$.get$ParentCollectionNameInChild$().add(this);&#10;    get$ChildCollectionName$().add($childElementName$);&#10;}&#10;public void removeFrom$ChildCollectionName$(final $ChildElementType$ $childElementName$) {&#10;    // check for no-op&#10;    if ($childElementName$ == null || &#10;       !get$ChildCollectionName$().contains($childElementName$)) {&#10;       return;&#10;    }&#10;    // dissociate arg&#10;    $childElementName$.get$ParentCollectionNameInChild$().remove(this);&#10;    get$ChildCollectionName$().rem
 ove($childElementName$);&#10;}" description="Isis Collection modification (m:m parent)" toReformat="true" toShortenFQNames="true">
-    <variable name="ChildCollectionName" expression="&quot;ChildCollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="childElementName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParentCollectionNameInChild" expression="&quot;ParentCollectionNameInChild&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscdis" value="public String disable$CollectionName$() {&#10;    return $END$null; // TODO: return reason why collection read-only, null if editable&#10;}" description="Isis Collection disablement" toReformat="true" toShortenFQNames="true">
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ischid" value="public boolean hide$CollectionName$() {&#10;    return $END$false; // TODO: return true if hidden, false otherwise&#10;}" description="Isis Collection visibility" toReformat="true" toShortenFQNames="false">
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscl" value="//region &gt; $collectionName$ (collection)&#10;private java.util.List&lt;$ElementType$&gt; $collectionName$ = com.google.common.collect.Lists.newArrayList();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public java.util.List&lt;$ElementType$&gt; get$CollectionName$() {&#10;    return $collectionName$;&#10;}&#10;public void set$CollectionName$(final java.util.List&lt;$ElementType$&gt; $collectionName$) {&#10;    this.$collectionName$ = $collectionName$;&#10;}&#10;//endregion" description="Isis Collection (List)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs" value="//region &gt; $collectionName$ (collection)&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = com.google.common.collect.Sets.newTreeSet();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public java.util.Set&lt;$ElementType$&gt; get$CollectionName$() {&#10;    return $collectionName$;&#10;}&#10;public void set$CollectionName$(final java.util.Set&lt;$ElementType$&gt; $collectionName$) {&#10;    this.$collectionName$ = $collectionName$;&#10;}&#10;//endregion" description="Isis Collection (Set)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscval" value="public String validateAddTo$CollectionName$(final $ElementType$ $elementName$) {&#10;    return $END$null; // TODO: return reason why argument cannot be added, null if ok to add&#10;}&#10;public String validateRemoveFrom$CollectionName$(final $ElementType$ $elementName$) {&#10;    return null; // TODO: return reason why argument cannot be removed, null if ok to remove&#10;}" description="Isis Collection validation" toReformat="true" toShortenFQNames="true">
-    <variable name="elementName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isds" value="//region  &gt; $serviceType$ (injected)&#10;private $ServiceType$ $serviceType$;&#10;    public final void inject$ServiceType$(final $ServiceType$ $serviceType$) {&#10;    this.$serviceType$ = $serviceType$;&#10;}&#10;//endregion" description="Isis Injected Dependency Service" toReformat="true" toShortenFQNames="true">
-    <variable name="ServiceType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="serviceType" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ism.fp" value="/**&#10; * Create new (already persisted) $Type$&#10; */&#10;@org.apache.isis.applib.annotation.Programmatic&#10;public $Type$ new$Type$() {&#10;    $Type$ $type$ = newTransientInstance($Type$.class);&#10;    $END$// TODO: set up any properties&#10; &#10;    persist($type$);&#10;    return $type$;&#10;}&#10;" description="Isis Commonly used method (factory for persistent)" toReformat="true" toShortenFQNames="true">
-    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="type" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ism.ft" value="/**&#10; * Create new (still transient) $Type$&#10; */&#10;@org.apache.isis.applib.annotation.Programmatic&#10;public $Type$ new$Type$() {&#10;    $Type$ $type$ = newTransientInstance($Type$.class);&#10;    $END$// TODO: set up any properties&#10;&#10;    return $type$;&#10;}&#10;" description="Isis Commonly used method (factory for transient)" toReformat="true" toShortenFQNames="true">
-    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="type" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isid" value="//region &gt; identificatio&#10; $END$&#10;//endregion" description="Isis Identification region" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isidicon" value="public String iconName() {&#10;    return $END$null; // TODO: return name of image file (without suffix)&#10; }" description="Isis Identification (icon)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isidtitle" value="public String title() {&#10;    final org.apache.isis.applib.util.TitleBuffer buf = new org.apache.isis.applib.util.TitleBuffer();&#10;    $END$// TODO: append to org.apache.isis.applib.util.TitleBuffer, typically value properties&#10;    return buf.toString();&#10;}" description="Isis Identification (title)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs.jdo.1m.b.fk" value="//region &gt; $collectionName$ (collection)&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$elementNameInChild$&quot;, dependentElement=&quot;$trueOrFalse$&quot;)&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public java.util.SortedSet&lt;$ElementType$&gt; get$CollectionName$() {&#10;    return $collectionName$;&#10;}&#10;public void set$CollectionName$(final java.util.SortedSet&lt;$ElementType$&gt; $collectionName$) {&#10;    this.$collectionName$ = $collectionName$;&#10;}&#10;//endregion" description="Isis JDO Collection (1:m parent bidirectional to foreign key)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="elementNameInChild" expression="&quot;elementNameInChild&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs.jdo.1m.b.jt" value="//region &gt; $collectionName$ (collection)&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$elementNameInChild$&quot;, dependentElement=&quot;$trueOrFalse$&quot;)&#10;@javax.jdo.annotations.Join&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public java.util.SortedSet&lt;$ElementType$&gt; get$CollectionName$() {&#10;    return $collectionName$;&#10;}&#10;public void set$CollectionName$(final java.util.SortedSet&lt;$ElementType$&gt; $collectionName$) {&#10;    this.$collectionName$ = $collectionName$;&#10;}&#10;//endregion" description="Isis JDO Collection (1:m parent bidirectional to join table)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="elementNameInChild" expression="&quot;elementNameInChild&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs.jdo.1m.u.fk" value="//region &gt; $collectionName$ (collection)&#10;@javax.jdo.annotations.Element(column=&quot;$ColumnName$&quot;, dependent=&quot;$trueOrFalse$&quot;)&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public java.util.SortedSet&lt;$ElementType$&gt; get$CollectionName$() {&#10;    return $collectionName$; &#10;}&#10;public void set$CollectionName$(final java.util.SortedSet&lt;$ElementType$&gt; $collectionName$) { &#10;    this.$collectionName$ = $collectionName$;&#10;}&#10;//endregion" description="Isis JDO Collection (1:m parent unidirectional)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ColumnName" expression="&quot;ColumnName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs.jdo.1m.u.jt" value="//region &gt; $collectionName$ (collection)&#10;@javax.jdo.annotations.Join&#10;@javax.jdo.annotations.Element(dependent=&quot;$trueOrFalse$&quot;)&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public java.util.SortedSet&lt;$ElementType$&gt; get$CollectionName$() {&#10;    return $collectionName$;&#10;} &#10;public void set$CollectionName$(final java.util.SortedSet&lt;$ElementType$&gt; $collectionName$) {&#10;    this.$collectionName$ = $collectionName$;&#10;}&#10;//endregion" description="Isis JDO Collection (1:m parent unidirectional to join table)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs.jdo.mn.ub.c" value="//region &gt; $collectionName$ (collection)&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$ChildCollectionNameInParent$&quot;)&#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;(); &#10;public java.util.SortedSet&lt;$ElementType$&gt; get$CollectionName$() { &#10;    return $collectionName$; &#10;} &#10;public void set$CollectionName$(final java.util.SortedSet&lt;$ElementType$&gt; $collectionName$) { &#10;    this.$collectionName$ = $collectionName$; &#10;} &#10;//endregion" description="Isis JDO Collection (m:n child)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildCollectionNameInParent" expression="&quot;ChildCollectionNameInParent&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="iscs.jdo.mn.ub.p" value="//region &gt; $collectionName$ (collection)&#10;@javax.jdo.annotations.Persistent(table=&quot;$TableName$&quot;) &#10;@javax.jdo.annotations.Join(column=&quot;$ThisEntityFieldName$&quot;) &#10;@javax.jdo.annotations.Element(column=&quot;$RelatedEntityFieldName$&quot;) &#10;private java.util.SortedSet&lt;$ElementType$&gt; $collectionName$ = new java.util.TreeSet&lt;$ElementType$&gt;();&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)  &#10;public java.util.SortedSet&lt;$ElementType$&gt; get$CollectionName$() {  &#10;    return $collectionName$; &#10;} &#10;public void set$CollectionName$(final java.util.SortedSet&lt;$ElementType$&gt; $collectionName$) {  &#10;    this.$collectionName$ = $collectionName$; &#10;} &#10;//endregion" description="Isis JDO Collection (m:n parent)" toReformat="true" toShortenFQNames="true">
-    <variable name="collectionName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="CollectionName" expression="&quot;CollectionName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ElementType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="TableName" expression="&quot;TableName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ThisEntityFieldName" expression="&quot;ThisEntityFieldName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="RelatedEntityFieldName" expression="&quot;RelatedEntityFieldName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isp.jdo" value="//region &gt; $propertyName$ (property)&#10;private $PropertyType$ $propertyName$;&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;@javax.jdo.annotations.Column(allowsNull=&quot;$trueOrFalse$&quot;)&#10;public $PropertyType$ get$PropertyName$() {&#10;    return $propertyName$;&#10;}&#10;public void set$PropertyName$(final $PropertyType$ $propertyName$) {&#10;    this.$propertyName$ = $propertyName$;&#10;}&#10;//endregion" description="Isis JDO Property" toReformat="true" toShortenFQNames="true">
-    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isp.jdo.11c" value="//region &gt; $propertyName$ (property)&#10;private $PropertyType$ $propertyName$;&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;@javax.jdo.annotations.Column(allowsNull=&quot;$trueOrFalse$&quot;)&#10;@javax.jdo.annotations.Persistent(mappedBy=&quot;$fieldOnChild$&quot;)&#10;public $PropertyType$ get$PropertyName$() { &#10;    return $propertyName$; &#10;}&#10;public void set$PropertyName$(final $PropertyType$ $propertyName$) {&#10;    this.$propertyName$ = $propertyName$;&#10;}&#10;//endregion" description="Isis JDO Property (1:1 bidirectional parent to foreign key)" toReformat="true" toShortenFQNames="true">
-    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="trueOrFalse" expression="&quot;trueOrFalse&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="fieldOnChild" expression="&quot;fieldOnChild&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isl" value="//region &gt; Lifecycle callbacks&#10;$END$&#10;//endregion" description="Isis Lifecycle callbacks region" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="islc" value="public void created() {&#10;    $END$// TODO: post-create&#10;}" description="Isis Lifecycle callback (created)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isll" value="public void loading() {&#10;    $END$// TODO: pre-load&#10;}&#10;public void loaded() {&#10;    // TODO: post-load&#10;}" description="Isis Lifecycle callback (loading/loaded)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="islp" value="public void persisting() {&#10;    $END$// TODO: pre-persist&#10;}&#10;public void persisted() {&#10;    // TODO: post-persist&#10;}" description="Isis Lifecycle callback (persisting/persisted)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="islr" value="public void removing() {&#10;    $END$// TODO: pre-remove&#10;}&#10;public void removed() {&#10;    // TODO: post-remove&#10;}" description="Isis Lifecycle callback (removing/removed)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="islu" value="public void updating() {&#10;    $END$// TODO: pre-update&#10;}&#10;public void updated() {&#10;    // TODO: post-update&#10;}" description="Isis Lifecycle callback (updating/updated)" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isp" value="//region &gt; $propertyName$ (property)&#10;private $PropertyType$ $propertyName$;&#10;@org.apache.isis.applib.annotation.MemberOrder(sequence=&quot;1&quot;)&#10;public $PropertyType$ get$PropertyName$() {&#10;    return $propertyName$;&#10;}&#10;public void set$PropertyName$(final $PropertyType$ $propertyName$) {&#10;    this.$propertyName$ = $propertyName$;&#10;}&#10;//endregion" description="Isis Property" toReformat="true" toShortenFQNames="true">
-    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispmod.11c" value="public void modify$ParentPropertyName$(final $ParentPropertyType$ $parentPropertyName$) {&#10;    $ParentPropertyType$ current$ParentPropertyName$ = get$ParentPropertyName$();&#10;    // check for no-op&#10;    if ($parentPropertyName$ == null || &#10;       $parentPropertyName$.equals(current$ParentPropertyName$)) {&#10;       return;&#10;    }&#10;    // delegate to parent to associate&#10;    $parentPropertyName$.modify$ChildPropertyNameInParent$(this);&#10;}&#10;public void clear$ParentPropertyName$() {&#10;    $ParentPropertyType$ current$ParentPropertyName$ = get$ParentPropertyName$();&#10;    // check for no-op&#10;    if (current$ParentPropertyName$ == null) {&#10;        return;&#10;    }&#10;    // delegate to parent to dissociate&#10;    current$ParentPropertyName$.clear$ChildPropertyNameInParent$();&#10;}" description="Isis Property modification (1:1 bidirectional parent)" toReformat="true" toShortenFQNames="true">
-    <variable name="ParentPropertyName" expression="&quot;ParentPropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParentPropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="parentPropertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildPropertyNameInParent" expression="&quot;ChildPropertyNameInParent&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispmod.11p" value="public void modify$ChildPropertyName$(final $ChildPropertyType$ $childPropertyName$) {&#10;    $ChildPropertyType$ current$ChildPropertyName$ = get$ChildPropertyName$();&#10;    // check for no-op&#10;    if ($childPropertyName$ == null || &#10;        $childPropertyName$.equals(current$ChildPropertyName$)) {&#10;        return;&#10;    }&#10;    // dissociate existing&#10;    clear$ChildPropertyName$();&#10;    // associate new&#10;    $childPropertyName$.set$ParentPropertyNameInChild$(this);&#10;    set$ChildPropertyName$($childPropertyName$);&#10;}&#10;public void clear$ChildPropertyName$() {&#10;    $ChildPropertyType$ current$ChildPropertyName$ = get$ChildPropertyName$();&#10;    // check for no-op&#10;    if (current$ChildPropertyName$ == null) {&#10;        return;&#10;    }&#10;    // dissociate existing&#10;    current$ChildPropertyName$.set$ParentPropertyNameInChild$(null);&#10;    set$ChildPropertyName$(null);&#10;}" description="Isis 
 Property modification (1:1 bidirectional child)" toReformat="true" toShortenFQNames="true">
-    <variable name="ChildPropertyName" expression="&quot;ChildPropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildPropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="childPropertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParentPropertyNameInChild" expression="&quot;ParentPropertyNameInChild&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isp.m1" value="public void modify$ParentPropertyName$(final $ParentPropertyType$ $parentPropertyName$) {&#10;    $ParentPropertyType$ current$ParentPropertyName$ = get$ParentPropertyName$();&#10;    // check for no-op&#10;    if ($parentPropertyName$ == null || &#10;        $parentPropertyName$.equals(current$ParentPropertyName$)) {&#10;       return;&#10;    }&#10;    // delegate to parent to associate&#10;    $parentPropertyName$.addTo$ChildCollectionNameInParent$(this);&#10;}&#10;public void clear$ParentPropertyName$() {&#10;    $ParentPropertyType$ current$ParentPropertyName$ = get$ParentPropertyName$();&#10;    // check for no-op&#10;    if (current$ParentPropertyName$ == null) {&#10;        return;&#10;    }&#10;    // delegate to parent to dissociate&#10;    current$ParentPropertyName$.removeFrom$ChildCollectionNameInParent$(this);&#10;}" description="Isis Property modification (m:1 child)" toReformat="true" toShortenFQNames="true">
-    <variable name="ParentPropertyName" expression="&quot;ParentPropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="parentPropertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ParentPropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="ChildCollectionNameInParent" expression="&quot;ChildCollectionNameInParent&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispcho" value="public java.util.Collection&lt;$PropertyType$&gt; choices$PropertyName$() {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for property&#10;}" description="Isis Property choices" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispdef" value="public $PropertyType$ default$PropertyName$() {&#10;    return $END$null; // TODO: return default for property when first created&#10;}" description="Isis Property default" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispdis" value="public String disable$PropertyName$() {&#10;    return $END$null; // TODO: return reason why property is disabled, null if editable&#10;}" description="Isis Property disablement" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isphid" value="public boolean hide$PropertyName$() {&#10;  return $END$false; // TODO: return true if hidden, false if visible&#10; }" description="Isis Property visibility" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispmod" value="public void modify$PropertyName$(final $PropertyType$ $propertyName$) {&#10;     $PropertyType$ current$PropertyName$ = get$PropertyName$();&#10;    // check for no-op&#10;    if ($propertyName$ == null || &#10;        $propertyName$.equals(current$PropertyName$)) {&#10;        return;&#10;    }&#10;    // associate new&#10;    set$PropertyName$($propertyName$);&#10;}&#10;public void clear$PropertyName$() {&#10;    $PropertyType$ current$PropertyName$ = get$PropertyName$();&#10;    // check for no-op&#10;    if (current$PropertyName$ == null) {&#10;        return;&#10;    }&#10;    // dissociate existing&#10;    set$PropertyName$(null);&#10;}" description="Isis Property modification" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispval" value="public String validate$PropertyName$(final $PropertyType$ $propertyName$) {&#10;  if ($propertyName$ == null) return null;&#10;  return $END$null; // TODO: return reason why proposed value is invalid, null if valid&#10; }" description="Isis Property validation" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="propertyName" expression="suggestVariableName()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isr" value="//region &gt; $Region$ &#10;$END$ &#10;//endregion" description="Isis Region" toReformat="true" toShortenFQNames="true">
-    <variable name="Region" expression="&quot;Region&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ism.p.all" value="//region &gt; all $TypePlural$&#10;@org.apache.isis.applib.annotation.Prototype&#10;public java.util.List&lt;$Type$&gt; all$TypePlural$() {&#10;    return allInstances($Type$.class);&#10;}&#10;//endregion" description="Isis Commonly used prototyping method (all instances)" toReformat="true" toShortenFQNames="true">
-    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="TypePlural" expression="&quot;TypePlural&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ism.p.afil" value="//region &gt; all $TypePlural$ that $filterDescription$&#10;@org.apache.isis.applib.annotation.Exploration&#10;public java.util.List&lt;$Type$&gt; all$TypePlural$Matching(final org.apache.isis.applib.Filter&lt;$Type$&gt; filter) {&#10;    return allMatches($Type$.class, filter);&#10;}&#10;//endregion" description="Isis Commonly used prototyping method (all instances matching filter)" toReformat="true" toShortenFQNames="true">
-    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="TypePlural" expression="&quot;TypePlural&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="filterDescription" expression="&quot;filterDescription&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ism.p.ffil" value="//region &gt; first $Type$ that $filterDescription$&#10;@org.apache.isis.applib.annotation.Exploration&#10;public $Type$ first$Type$Matching(final org.apache.isis.applib.Filter&lt;$Type$&gt; filter) {&#10;    return firstMatch($Type$.class, filter);&#10;}&#10;//endregion" description="Isis Commonly used prototyping method (first instance matching filter)" toReformat="true" toShortenFQNames="true">
-    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="filterDescription" expression="&quot;filterDescription&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ism.p.ufil" value="//region &gt; unique $Type$ that $filterDescription$&#10;@org.apache.isis.applib.annotation.Exploration&#10;public $Type$ unique$Type$Matching(final org.apache.isis.applib.Filter&lt;$Type$&gt; filter) {&#10;    return uniqueMatch($Type$.class, filter);&#10;}&#10;//endregion" description="Isis Commonly used prototyping method (unique instance matching filter)" toReformat="true" toShortenFQNames="true">
-    <variable name="Type" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <variable name="filterDescription" expression="&quot;filterDescription&quot;" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="isval" value="public String validate() {&#10;    $END$// TODO: return reason why object is in invalid state (and so cannot be saved/updated), or null if ok&#10;}" description="Isis Validate method" toReformat="true" toShortenFQNames="true">
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-  <template name="ispauto" value="public java.util.Collection&lt;$PropertyType$&gt; autoComplete$PropertyName$(final String search) {&#10;    return $END$com.google.common.collect.Lists.newArrayList(); // TODO: return list of choices for property&#10;}" description="Isis Property auto-complete" toReformat="true" toShortenFQNames="true">
-    <variable name="PropertyName" expression="&quot;PropertyName&quot;" defaultValue="" alwaysStopAt="true" />
-    <variable name="PropertyType" expression="className()" defaultValue="" alwaysStopAt="true" />
-    <context>
-      <option name="HTML" value="false" />
-      <option name="XML" value="false" />
-      <option name="JAVA_CODE" value="false" />
-      <option name="JAVA_DECLARATION" value="true" />
-      <option name="JAVA_COMMENT" value="false" />
-      <option name="JAVA_STRING" value="false" />
-      <option name="COMPLETION" value="false" />
-      <option name="JAVA_SCRIPT" value="false" />
-      <option name="OTHER" value="false" />
-    </context>
-  </template>
-</templateSet>
-