bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift<!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! CDDL HEADER START
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift !
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! The contents of this file are subject to the terms of the
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! Common Development and Distribution License, Version 1.0 only
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! (the "License"). You may not use this file except in compliance
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! with the License.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift !
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac ! or http://forgerock.org/license/CDDLv1.0.html.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! See the License for the specific language governing permissions
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! and limitations under the License.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift !
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! When distributing Covered Code, include this CDDL HEADER in each
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac ! file and include the License file at legal-notices/CDDLv1_0.txt.
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac ! If applicable, add the following below this CDDL HEADER, with the
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac ! fields enclosed by brackets "[]" replaced with your own identifying
8cf870d281dc8c242f083d14dfef05f24aa5fceeJnRouvignac ! information:
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! Portions Copyright [yyyy] [name of copyright owner]
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift !
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! CDDL HEADER END
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift !
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift !
035c29eadd5f71ccfc4bc4f499300871e850bf86boli ! Copyright 2007-2010 Sun Microsystems, Inc.
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew ! Portions copyright 2011 ForgeRock AS.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ! -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift<xsl:stylesheet version="1.0" xmlns:adm="http://www.opends.org/admin"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift xmlns:admpp="http://www.opends.org/admin-preprocessor"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift xmlns:exsl="http://exslt.org/common">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:import href="java-utilities.xsl" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:import href="preprocessor.xsl" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:import href="property-types.xsl" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:output method="text" encoding="us-ascii" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Template for generating the class declaration.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-meta-class-declaration">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="'/**&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('An interface for querying the ', $this-ufn,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' managed object definition meta information.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' * &lt;p&gt;&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content" select="$this/adm:synopsis" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' */&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('public final class ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgDefn extends ')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="$this-is-abstract">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('AbstractManagedObjectDefinition&lt;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class, 'CfgClient, ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class, 'Cfg&gt; {&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('ManagedObjectDefinition&lt;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class, 'CfgClient, ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class, 'Cfg&gt; {&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Template for generating the meta class body.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-meta-class-body">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Singleton configuration definition instance.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // The singleton configuration definition instance.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private static final ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgDefn INSTANCE = new ', $this-java-class, 'CfgDefn();&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate enumerations defined by this managed object..
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift select="$this-local-properties[adm:syntax/adm:enumeration and not(adm:profile[@name='preprocessor']/adm:first-defined-in)]">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:if
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift test="not(adm:profile[@name='preprocessor']/admpp:first-defined-in)">
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift <xsl:text>&#xa;</xsl:text>
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift <xsl:text>&#xa;</xsl:text>
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift <xsl:text>&#xa;</xsl:text>
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift <xsl:call-template name="generate-enumeration" />
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <!--
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift Define application tags if this is the root configuration.
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift -->
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:if test="$this-is-root">
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:text>&#xa;</xsl:text>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:text>&#xa;</xsl:text>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:text>&#xa;</xsl:text>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of select="' // Define managed object tags.&#xa;'" />
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of select="' static {&#xa;'" />
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:for-each select="$this/adm:tag-definition">
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:sort select="@name" />
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift select="concat(' Tag.define(&quot;', @name, '&quot;);&#xa;')" />
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift </xsl:for-each>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of select="' }&#xa;'" />
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate declarations for properties defined or
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift overridden by this managed object.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-local-properties">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-property-declaration" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate declarations for relations.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-local-relations">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-relation-declaration" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate constructors for properties defined or
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift overridden by this managed object.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-local-properties">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-property-constructor" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate constructors for relations.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-local-relations">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-relation-constructor" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <!--
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift Register any optins associated with this managed object definition.
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift -->
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:if test="$this-is-advanced or $this-is-hidden">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:text>&#xa;</xsl:text>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:text>&#xa;</xsl:text>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:text>&#xa;</xsl:text>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift select="' // Register the options associated with this managed object definition.&#xa;'" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of select="' static {&#xa;'" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:if test="$this-is-advanced">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of
f942111bad80adccea5b91d2039f0b8118ec00admatthew_swift select="' INSTANCE.registerOption(ManagedObjectOption.ADVANCED);&#xa;'" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:if>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:if test="$this-is-hidden">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of
f942111bad80adccea5b91d2039f0b8118ec00admatthew_swift select="' INSTANCE.registerOption(ManagedObjectOption.HIDDEN);&#xa;'" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:if>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of select="' }&#xa;'" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:if>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <!--
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift Register any tags associated with this managed object definition.
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift -->
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:if test="$this/adm:tag">
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:text>&#xa;</xsl:text>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:text>&#xa;</xsl:text>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:text>&#xa;</xsl:text>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift select="' // Register the tags associated with this managed object definition.&#xa;'" />
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of select="' static {&#xa;'" />
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:for-each select="$this/adm:tag">
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:sort select="@name" />
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift select="concat(' INSTANCE.registerTag(Tag.valueOf(&quot;', @name, '&quot;));&#xa;')" />
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift </xsl:for-each>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of select="' }&#xa;'" />
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift </xsl:if>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <!--
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift Register any constraints associated with this managed object definition.
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift -->
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:if test="$this/adm:constraint">
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:text>&#xa;</xsl:text>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:text>&#xa;</xsl:text>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:text>&#xa;</xsl:text>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:value-of
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift select="' // Register the constraints associated with this managed object definition.&#xa;'" />
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:value-of select="' static {&#xa;'" />
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:for-each select="$this/adm:constraint">
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:value-of
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift select="concat(' INSTANCE.registerConstraint(new GenericConstraint(INSTANCE, ', position(), ', ')" />
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:apply-templates select="adm:condition/*"
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift mode="compile-condition" />
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:value-of select="'));&#xa;'" />
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift </xsl:for-each>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:value-of select="' }&#xa;'" />
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Configuration definition singleton getter.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' /**&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('Get the ', $this-ufn,' configuration definition singleton.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' *&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text2" select="' * '" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('@return Returns the ', $this-ufn,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' configuration definition singleton.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' */&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' public static ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgDefn getInstance() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return INSTANCE;&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Private constructor.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * Private constructor.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgDefn() {&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="boolean($this/@extends)">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' super(&quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this/@name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot;, ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $parent-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgDefn.getInstance());&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' super(&quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this/@name,
78411718ed81a30c7dc8e94f3460bb6084f53082matthew_swift '&quot;, TopCfgDefn.getInstance());&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Create configuration view factory methods for non-abstract definitions
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="not($this-is-abstract)">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate configuration client factory method.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClient createClientConfiguration(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ManagedObject&lt;? extends ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClient&gt; impl) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return new ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClientImpl(impl);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate configuration server factory method.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'Cfg createServerConfiguration(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ServerManagedObject&lt;? extends ',$this-java-class,'Cfg&gt; impl) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return new ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgServerImpl(impl);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate configuration server class getter..
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public Class&lt;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'Cfg&gt; getServerConfigurationClass() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'Cfg.class;&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift Generate property definition getters for all properties.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-properties">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-property-definition-getter" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift Generate relation definition getters for all relations.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-relations">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-relation-definition-getter" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Managed object class implementations.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="not($this-is-abstract)">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-client-impl-class" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-server-impl-class" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate managed object client class implementation.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-client-impl-class">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Declaration.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * Managed object client implementation.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private static class ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClientImpl implements&#xa; ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClient {&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Private instance.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // Private implementation.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private ManagedObject&lt;? extends ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClient&gt; impl;&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Private constructor.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // Private constructor.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClientImpl(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ManagedObject&lt;? extends ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgClient&gt; impl) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' this.impl = impl;&#xa;',
401256b30c83b5de9c75c75a2b9f0ad3e23a14e7coulbeck ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Getters/Setters for all properties.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-properties">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift name="generate-property-getter-implementation">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="interface" select="'client'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
443912c6877a8ce1c66a3fd7446e9eaa1e9d919amatthew_swift <xsl:call-template name="generate-property-setter-implementation" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Relation methods.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-relations">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-client-relation-methods" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Managed object definition getter.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ManagedObjectDefinition&lt;? extends ', $this-java-class,'CfgClient, ? extends ', $this-java-class,'Cfg&gt; definition() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return INSTANCE;&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Property provider view.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public PropertyProvider properties() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl;&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Commit method.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift ' public void commit() throws ManagedObjectAlreadyExistsException,&#xa;',
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift ' MissingMandatoryPropertiesException, ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' OperationRejectedException, AuthorizationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.commit();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate managed object server class implementation.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-server-impl-class">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Declaration.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * Managed object server implementation.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private static class ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgServerImpl implements&#xa; ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'Cfg {&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Private instance.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // Private implementation.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private ServerManagedObject&lt;? extends ', $this-java-class, 'Cfg&gt; impl;&#xa;')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <!--
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift Private members for each property.
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift -->
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:for-each select="$this-all-properties">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:sort select="@name" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:text>&#xa;</xsl:text>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift select="concat(' // The value of the &quot;', @name, '&quot; property.&#xa;')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of select="' private final '" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:choose>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:when test="string(@multi-valued) != 'true'">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:choose>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:when test="adm:default-behavior/adm:defined">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <!--
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift The property is guaranteed to contain a value since there is a
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift well-defined default value.
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift -->
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift name="get-property-java-primitive-type" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:when>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:when test="@mandatory = 'true'">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <!--
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift The property is guaranteed to contain a value in the server interface.
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift -->
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift name="get-property-java-primitive-type" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:when>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:otherwise>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template name="get-property-java-type" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:otherwise>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:choose>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:when>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:otherwise>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of select="'SortedSet&lt;'" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template name="get-property-java-type" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of select="'&gt;'" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:otherwise>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:choose>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of select="' p'" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template name="name-to-java">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:with-param name="value" select="@name" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:call-template>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of select="';&#xa;'" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Private constructor.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // Private constructor.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $this-java-class,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'CfgServerImpl(ServerManagedObject&lt;? extends ', $this-java-class, 'Cfg&gt; impl) {&#xa;',
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift ' this.impl = impl;&#xa;')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:for-each select="$this-all-properties">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:sort select="@name" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:variable name="java-prop-name">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template name="name-to-java">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:with-param name="value" select="@name" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:call-template>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:variable>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift select="concat(' this.p', $java-prop-name, ' = ')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:choose>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:when test="string(@multi-valued) != 'true'">
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift select="concat('impl.getPropertyValue(INSTANCE.get', $java-prop-name , 'PropertyDefinition());&#xa;')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:when>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:otherwise>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift select="concat('impl.getPropertyValues(INSTANCE.get', $java-prop-name , 'PropertyDefinition());&#xa;')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:otherwise>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:choose>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift </xsl:for-each>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate all the change listener methods - one for each managed
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift object in the hierarchy.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="not($this-is-root)">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-change-listener" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift Getters for all properties.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-properties">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift name="generate-property-getter-implementation">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="interface" select="'server'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Relation methods.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-relations">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-server-relation-methods" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift Configuration class getter.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift ' public Class&lt;? extends ', $this-java-class,'Cfg&gt; configurationClass() {&#xa;',
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift ' return ', $this-java-class, 'Cfg.class;&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Configuration entry DN getter.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public DN dn() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getDN();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a property definition constructor.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-property-declaration">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-prop-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="generic-type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-generic-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="pdtype">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="string-length($generic-type) != 0">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($type, '&lt;', $generic-type, '&gt;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="$type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // The &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; property definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private static final ', $pdtype, ' PD_', $java-prop-name, ';&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a property definition constructor.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-property-constructor">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-prop-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="generic-type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-generic-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="value-type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-java-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // Build the &quot;', @name, '&quot; property definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' static {&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="string-length($generic-type) != 0">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
378c66c5d12cbe2aefbbffcf5f6d287febc186c2matthew_swift select="concat(' ', $type, '.Builder&lt;', $generic-type, '&gt; builder = ', $type, '.createBuilder(INSTANCE, &quot;',@name, '&quot;);&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
378c66c5d12cbe2aefbbffcf5f6d287febc186c2matthew_swift select="concat(' ', $type, '.Builder builder = ', $type, '.createBuilder(INSTANCE, &quot;',@name, '&quot;);&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="@multi-valued='true'">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="' builder.setOption(PropertyOption.MULTI_VALUED);&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="@read-only='true'">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="' builder.setOption(PropertyOption.READ_ONLY);&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="@monitoring='true'">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:value-of
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift select="' builder.setOption(PropertyOption.MONITORING);&#xa;'" />
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="@mandatory='true'">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="' builder.setOption(PropertyOption.MANDATORY);&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="@hidden='true'">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="' builder.setOption(PropertyOption.HIDDEN);&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
ce307551b126a6b551358fb063614b80b9355907matthew_swift <xsl:if test="@advanced='true'">
ce307551b126a6b551358fb063614b80b9355907matthew_swift <xsl:value-of
ce307551b126a6b551358fb063614b80b9355907matthew_swift select="' builder.setOption(PropertyOption.ADVANCED);&#xa;'" />
ce307551b126a6b551358fb063614b80b9355907matthew_swift </xsl:if>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:variable name="action-type">
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:choose>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:when test="adm:requires-admin-action">
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:call-template name="name-to-java-constant">
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:with-param name="value"
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift select="local-name(adm:requires-admin-action/*)" />
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift </xsl:call-template>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift </xsl:when>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:otherwise>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of select="'NONE'" />
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift </xsl:otherwise>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift </xsl:choose>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift </xsl:variable>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:value-of
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift select="concat(' builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.', $action-type, ', INSTANCE, &quot;', @name, '&quot;));&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:when
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift test="not(adm:default-behavior) or adm:default-behavior/adm:undefined">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider&lt;', $value-type,'&gt;());&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:when test="adm:default-behavior/adm:alias">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat(' builder.setDefaultBehaviorProvider(new AliasDefaultBehaviorProvider&lt;', $value-type,'&gt;(INSTANCE, &quot;', @name, '&quot;));&#xa;')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:when>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:when test="adm:default-behavior/adm:defined">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat(' DefaultBehaviorProvider&lt;', $value-type,'&gt; provider = ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'new DefinedDefaultBehaviorProvider&lt;', $value-type,'&gt;(')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:for-each
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="adm:default-behavior/adm:defined/adm:value">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat('&quot;', normalize-space(), '&quot;')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:if test="position() != last()">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of select="', '" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:if>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:for-each>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of select="');&#xa;'" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="' builder.setDefaultBehaviorProvider(provider);&#xa;'" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:when>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:when
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift test="adm:default-behavior/adm:inherited/adm:relative">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat(' DefaultBehaviorProvider&lt;', $value-type,'&gt; provider = ',
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift 'new RelativeInheritedDefaultBehaviorProvider&lt;', $value-type,'&gt;(')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:variable name="managed-object-name">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:call-template name="name-to-java">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:with-param name="value"
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="adm:default-behavior/adm:inherited/adm:relative/@managed-object-name" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:call-template>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:variable>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:variable name="property-name"
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="adm:default-behavior/adm:inherited/adm:relative/@property-name" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:variable name="offset"
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="adm:default-behavior/adm:inherited/adm:relative/@offset" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat($managed-object-name, 'CfgDefn.getInstance(), &quot;', $property-name, '&quot;, ', $offset, ');&#xa;')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="' builder.setDefaultBehaviorProvider(provider);&#xa;'" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:when>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:when
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift test="adm:default-behavior/adm:inherited/adm:absolute">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat(' DefaultBehaviorProvider&lt;', $value-type,'&gt; provider = ',
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift 'new AbsoluteInheritedDefaultBehaviorProvider&lt;', $value-type,'&gt;(')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:variable name="property-name"
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="adm:default-behavior/adm:inherited/adm:absolute/@property-name" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:variable name="path"
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="adm:default-behavior/adm:inherited/adm:absolute/@path" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
a2d7d59a2ab8c9c17d054297982a055c1b3bb176matthew_swift select="concat('&quot;', $path, '&quot;, &quot;', $property-name, '&quot;);&#xa;')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="' builder.setDefaultBehaviorProvider(provider);&#xa;'" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:when>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:otherwise>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:message terminate="yes">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <xsl:value-of
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift select="concat('Unrecognized default behavior type for property &quot;', @name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot;.')" />
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </xsl:message>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-ctor" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' PD_', $java-prop-name, ' = builder.getInstance();&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' INSTANCE.registerPropertyDefinition(PD_', $java-prop-name, ');&#xa;')" />
74f8ca5889a91bb70e69f654c1c89dc87ba619d2matthew_swift <xsl:call-template name="get-property-definition-post-ctor" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a relation definition declaration.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-relation-declaration">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-many">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="adm:one-to-many/@plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$relation-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-managed-object-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@managed-object-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // The &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $relation-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; relation definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' private static final ')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>SingletonRelationDefinition&lt;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-zero-or-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>OptionalRelationDefinition&lt;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) != 'true'">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>InstantiableRelationDefinition&lt;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) = 'true'">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:text>SetRelationDefinition&lt;</xsl:text>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:message terminate="yes">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('Unknown relation type &quot;', local-name(*), '&quot; in relation &quot;', @name, '&quot;.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:message>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($java-managed-object-name, 'CfgClient, ', $java-managed-object-name, 'Cfg&gt; RD_', $java-relation-name, ';&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a relation definition constructor.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-relation-constructor">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-many">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="adm:one-to-many/@plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$relation-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-managed-object-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@managed-object-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:variable name="java-relation-builder-type">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:choose>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:when test="adm:one-to-one">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:text>SingletonRelationDefinition</xsl:text>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:when>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:when test="adm:one-to-zero-or-one">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:text>OptionalRelationDefinition</xsl:text>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) != 'true'">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:text>InstantiableRelationDefinition</xsl:text>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) = 'true'">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:text>SetRelationDefinition</xsl:text>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:when>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:otherwise>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:message terminate="yes">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:value-of
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="concat('Unknown relation type &quot;', local-name(*), '&quot; in relation &quot;', @name, '&quot;.')" />
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:message>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:otherwise>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:choose>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:value-of
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="concat('.Builder&lt;', $java-managed-object-name, 'CfgClient, ', $java-managed-object-name, 'Cfg&gt;')" />
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' // Build the &quot;', $relation-name, '&quot; relation definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' static {&#xa;',
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift ' ', $java-relation-builder-type, ' builder =&#xa;',
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift ' new ', $java-relation-builder-type, '(INSTANCE, &quot;', @name, '&quot;, ')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="adm:one-to-many">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('&quot;', adm:one-to-many/@plural-name, '&quot;, ')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="concat($java-managed-object-name, 'CfgDefn.getInstance());&#xa;')" />
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:if test="adm:one-to-many/@naming-property">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:if test="string(adm:one-to-many/@unique) = 'true'">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:message terminate="yes">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:value-of
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift select="concat('Naming properties found in unique one-to-many relation &quot;', @name, '&quot;.')" />
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:message>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:if>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:variable name="java-property-name">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:call-template name="name-to-java">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:with-param name="value"
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="adm:one-to-many/@naming-property" />
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:call-template>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:variable>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:value-of
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="concat(' builder.setNamingProperty(',
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift $java-managed-object-name,
c9020c301eada7085bb81da1821cac5533a1f20fmatthew_swift 'CfgDefn.getInstance().get',
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift $java-property-name, 'PropertyDefinition());&#xa;')" />
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:if>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:for-each select="*/adm:default-managed-object">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:variable name="dmo-java-name">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:call-template name="name-to-java">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:with-param name="value" select="@managed-object-name" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:call-template>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:variable>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of select="' {&#xa;'" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(' DefaultManagedObject.Builder&lt;',
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift $dmo-java-name, 'CfgClient, ',
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift $dmo-java-name, 'Cfg&gt; dmoBuilder = new DefaultManagedObject.Builder&lt;',
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift $dmo-java-name, 'CfgClient, ',
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift $dmo-java-name, 'Cfg&gt;(',
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift $dmo-java-name, 'CfgDefn.getInstance());&#xa;')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:for-each select="adm:property">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(' dmoBuilder.setPropertyValues(&quot;', @name, '&quot;')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:for-each select="adm:value">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(', &quot;', normalize-space(), '&quot;')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:for-each>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of select="');&#xa;'" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:for-each>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:choose>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:when test="@name">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(' builder.setDefaultManagedObject(&quot;', @name, '&quot;, dmoBuilder.getInstance());&#xa;')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:when>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:otherwise>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="' builder.setDefaultManagedObject(dmoBuilder.getInstance());&#xa;'" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:otherwise>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:choose>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of select="' }&#xa;'" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:for-each>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:if test="@advanced='true'">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift select="' builder.setOption(RelationOption.ADVANCED);&#xa;'" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:if>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:if test="@hidden='true'">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:value-of
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="' builder.setOption(RelationOption.HIDDEN);&#xa;'" />
c9020c301eada7085bb81da1821cac5533a1f20fmatthew_swift </xsl:if>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <xsl:value-of
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift select="concat(' RD_', $java-relation-name, ' = builder.getInstance();&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' INSTANCE.registerRelationDefinition(RD_', $java-relation-name,');&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a property definition getter for a locally defined
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift or overriden property.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-property-definition-getter">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-prop-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-prop-name-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="generic-type">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="get-property-definition-generic-type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="pdtype">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="string-length($generic-type) != 0">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($type, '&lt;', $generic-type, '&gt;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="$type" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * Get the &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; property definition.&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="adm:synopsis">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' * &lt;p&gt;&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content" select="adm:synopsis" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="adm:description">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' * &lt;p&gt;&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content" select="adm:description" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift test="adm:profile[@name='preprocessor']/admpp:last-defined-in[@name=$this-name and @package=$this-package]">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' *&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * @return Returns the &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; property definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $pdtype,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-prop-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'PropertyDefinition() {&#xa;' ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return PD_',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-prop-name-constant ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ';&#xa;' ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' *&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * @return Returns the &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; property definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $pdtype,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-prop-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'PropertyDefinition() {&#xa;' ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $parent-java-class, 'CfgDefn.getInstance().get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-prop-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'PropertyDefinition();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a relation definition getter.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-relation-definition-getter">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-many">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="adm:one-to-many/@plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$relation-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-name-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$relation-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * Get the &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $relation-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; relation definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' *&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * @return Returns the &quot;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $relation-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&quot; relation definition.&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>SingletonRelationDefinition&lt;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-zero-or-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>OptionalRelationDefinition&lt;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) != 'true'">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>InstantiableRelationDefinition&lt;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) = 'true'">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:text>SetRelationDefinition&lt;</xsl:text>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:message terminate="yes">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('Unknown relation type &quot;', local-name(*), '&quot; in relation &quot;', @name, '&quot;.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:message>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-managed-object-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@managed-object-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when
2fd21f254f199cb71616161617c667252fe4e7e3matthew_swift test="adm:profile[@name='preprocessor']/admpp:last-defined-in[@name=$this-name and @package=$this-package]">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($java-managed-object-name, 'CfgClient,',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-managed-object-name, 'Cfg&gt; get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'RelationDefinition() {&#xa;' ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return RD_',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name-constant,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ';&#xa;' ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($java-managed-object-name, 'CfgClient,',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-managed-object-name, 'Cfg&gt; get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'RelationDefinition() {&#xa;' ,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return ',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $parent-java-class, 'CfgDefn.getInstance().get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name,
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift 'RelationDefinition();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate client relation methods.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-client-relation-methods">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="name" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-class-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@managed-object-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public ', $java-class-name, 'CfgClient get', $java-relation-name, '()&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' throws DefinitionDecodingException, ManagedObjectDecodingException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' ManagedObjectNotFoundException, ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getChild(INSTANCE.get', $java-relation-name,'RelationDefinition()).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-zero-or-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public boolean has', $java-relation-name, '() throws ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.hasChild(INSTANCE.get', $java-relation-name,'RelationDefinition());&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public ', $java-class-name, 'CfgClient get', $java-relation-name, '()&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' throws DefinitionDecodingException, ManagedObjectDecodingException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' ManagedObjectNotFoundException, ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getChild(INSTANCE.get', $java-relation-name,'RelationDefinition()).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public &lt;M extends ', $java-class-name, 'CfgClient&gt; M create', $java-relation-name, '(&#xa;',
49f497cfbd8165bbec0080a46c450e2672fd47e3matthew_swift ' ManagedObjectDefinition&lt;M, ? extends ', $java-class-name,'Cfg&gt; d, Collection&lt;DefaultBehaviorException&gt; exceptions) {&#xa;',
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift ' return impl.createChild(INSTANCE.get', $java-relation-name,'RelationDefinition(), d, exceptions).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public void remove', $java-relation-name, '()&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' throws ManagedObjectNotFoundException, ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' OperationRejectedException, AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.removeChild(INSTANCE.get', $java-relation-name,'RelationDefinition());&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-many">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="plural-name"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="adm:one-to-many/@plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-plural-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public String[] list', $java-relation-plural-name, '() throws ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.listChildren(INSTANCE.get', $java-relation-plural-name,'RelationDefinition());&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public ', $java-class-name, 'CfgClient get', $java-relation-name, '(String name)&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' throws DefinitionDecodingException, ManagedObjectDecodingException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' ManagedObjectNotFoundException, ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getChild(INSTANCE.get', $java-relation-plural-name,'RelationDefinition(), name).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:choose>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) != 'true'">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:value-of
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift select="concat(' /**&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' * {@inheritDoc}&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' */&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' public &lt;M extends ', $java-class-name, 'CfgClient&gt; M create', $java-relation-name, '(&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' ManagedObjectDefinition&lt;M, ? extends ', $java-class-name,'Cfg&gt; d, String name, Collection&lt;DefaultBehaviorException&gt; exceptions) throws IllegalManagedObjectNameException {&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' return impl.createChild(INSTANCE.get', $java-relation-plural-name,'RelationDefinition(), d, name, exceptions).getConfiguration();&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' }&#xa;')" />
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:when test="string(adm:one-to-many/@unique) = 'true'">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <!-- Unique one-to-many children are named implicitly by their definition -->
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:value-of
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift select="concat(' /**&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' * {@inheritDoc}&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' */&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' public &lt;M extends ', $java-class-name, 'CfgClient&gt; M create', $java-relation-name, '(&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' ManagedObjectDefinition&lt;M, ? extends ', $java-class-name,'Cfg&gt; d, Collection&lt;DefaultBehaviorException&gt; exceptions) {&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' return impl.createChild(INSTANCE.get', $java-relation-plural-name,'RelationDefinition(), d, exceptions).getConfiguration();&#xa;',
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift ' }&#xa;')" />
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:when>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' public void remove', $java-relation-name, '(String name)&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' throws ManagedObjectNotFoundException, ConcurrentModificationException,&#xa;',
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift ' OperationRejectedException, AuthorizationException, CommunicationException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.removeChild(INSTANCE.get', $java-relation-plural-name,'RelationDefinition(), name);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:message terminate="yes">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('Unknown relation type &quot;', local-name(*), '&quot; in relation &quot;', $name, '&quot;.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:message>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate server relation methods.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-server-relation-methods">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="name" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-class-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@managed-object-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ', $java-class-name, 'Cfg get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name, '() throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getChild(INSTANCE.get', $java-relation-name, 'RelationDefinition()).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-zero-or-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public boolean has',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name, '() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.hasChild(INSTANCE.get', $java-relation-name, 'RelationDefinition());&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ', $java-class-name, 'Cfg get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name, '() throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getChild(INSTANCE.get', $java-relation-name, 'RelationDefinition()).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void add', $java-relation-name, 'AddListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationAddListener&lt;', $java-class-name,'Cfg&gt; listener) throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.registerAddListener(INSTANCE.get', $java-relation-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void remove', $java-relation-name, 'AddListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationAddListener&lt;', $java-class-name,'Cfg&gt; listener) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.deregisterAddListener(INSTANCE.get', $java-relation-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void add', $java-relation-name, 'DeleteListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationDeleteListener&lt;', $java-class-name,'Cfg&gt; listener) throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.registerDeleteListener(INSTANCE.get', $java-relation-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void remove', $java-relation-name, 'DeleteListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationDeleteListener&lt;', $java-class-name,'Cfg&gt; listener) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.deregisterDeleteListener(INSTANCE.get', $java-relation-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="adm:one-to-many">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="plural-name"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="adm:one-to-many/@plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-relation-plural-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$plural-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public String[] list',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-plural-name, '() {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.listChildren(INSTANCE.get', $java-relation-plural-name,'RelationDefinition());&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public ', $java-class-name, 'Cfg get',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift $java-relation-name, '(String name) throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' return impl.getChild(INSTANCE.get', $java-relation-plural-name, 'RelationDefinition(), name).getConfiguration();&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void add', $java-relation-name, 'AddListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationAddListener&lt;', $java-class-name,'Cfg&gt; listener) throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.registerAddListener(INSTANCE.get', $java-relation-plural-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void remove', $java-relation-name, 'AddListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationAddListener&lt;', $java-class-name,'Cfg&gt; listener) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.deregisterAddListener(INSTANCE.get', $java-relation-plural-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void add', $java-relation-name, 'DeleteListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationDeleteListener&lt;', $java-class-name,'Cfg&gt; listener) throws ConfigException {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.registerDeleteListener(INSTANCE.get', $java-relation-plural-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public void remove', $java-relation-name, 'DeleteListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationDeleteListener&lt;', $java-class-name,'Cfg&gt; listener) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.deregisterDeleteListener(INSTANCE.get', $java-relation-plural-name, 'RelationDefinition(), listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:message terminate="yes">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('Unknown relation type &quot;', local-name(*), '&quot; in relation &quot;', $name, '&quot;.')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:message>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate change listener registration methods.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-change-listener">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Process this managed object.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="top-name"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="$this/adm:profile[@name='preprocessor']/admpp:parent-managed-object[last()]/@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-change-listener-help">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="top-name" select="$top-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="name" select="$this-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Process parent hierarchy.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="$this/adm:profile[@name='preprocessor']/admpp:parent-managed-object">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-change-listener-help">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="top-name" select="$top-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="name" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate a single set of change listener registration methods.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-change-listener-help">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:param name="top-name" select="/.." />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:param name="name" select="/.." />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:variable name="_top-length" select="string-length($top-name)" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:variable name="_length" select="string-length($name)" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:variable name="_diff" select="$_length - $_top-length" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:variable name="_start" select="substring($name, 1, $_diff - 1)" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:variable name="_middle" select="substring($name, $_diff, 1)" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:variable name="_end"
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew select="substring($name, $_diff + 1, $_top-length)" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="short-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="not($top-name) or $top-name = $name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="''" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:when test="$_middle != '-' or $_end != $_top-name">
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:value-of select="$name" />
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew <xsl:value-of select="$_start" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
48224cd6d19e80b2152d9d0d8b830b6b15542fc1matthew
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-class">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="short-java-class">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="$short-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' public void add', $short-java-class, 'ChangeListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationChangeListener&lt;',$java-class,'Cfg&gt; listener) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.registerChangeListener(listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' public void remove', $short-java-class, 'ChangeListener(&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' ConfigurationChangeListener&lt;',$java-class,'Cfg&gt; listener) {&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' impl.deregisterChangeListener(listener);&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate import statements for change-listener
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-change-listener-import-statements">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Process this managed object.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($this-package, '.server.', $this-java-class, 'Cfg')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Process parent hierarchy.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="$this/adm:profile[@name='preprocessor']/admpp:parent-managed-object">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-class">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(@package, '.server.', $java-class, 'Cfg')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Generate an enumeration for a locally defined enumerated property.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template name="generate-enumeration">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * Defines the set of permissable values for the &quot;', @name, '&quot; property.&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="adm:synopsis">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' * &lt;p&gt;&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content" select="adm:synopsis" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="adm:description">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' * &lt;p&gt;&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="content" select="adm:description" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public static enum ')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' {&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="adm:syntax/adm:enumeration/adm:value">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:sort select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' /**&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="add-java-comment">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="indent-text" select="' *'" />
55a20a996f12b7c755bed828f98f7324227fd71cmatthew_swift <xsl:with-param name="content" select="adm:synopsis" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' */&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' '" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java-constant">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="concat('(&quot;', @name, '&quot;)')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="position() != last()">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="',&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="';&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="' // String representation of the value.&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' private final String name;&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' // Private constructor.&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' private '" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value" select="@name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('(String name) { this.name = name; }&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift '&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' /**&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' * {@inheritDoc}&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' */&#xa;',
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift ' public String toString() { return name; }&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of select="' }&#xa;'" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <!--
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift Main document parsing template.
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:template match="/">
ce307551b126a6b551358fb063614b80b9355907matthew_swift <!-- Perform some initial validation.
ce307551b126a6b551358fb063614b80b9355907matthew_swift -->
ce307551b126a6b551358fb063614b80b9355907matthew_swift <xsl:for-each select="$this-all-properties">
ce307551b126a6b551358fb063614b80b9355907matthew_swift <!--
ce307551b126a6b551358fb063614b80b9355907matthew_swift Check that all non-mandatory properties have a default behavior.
ce307551b126a6b551358fb063614b80b9355907matthew_swift -->
ce307551b126a6b551358fb063614b80b9355907matthew_swift <xsl:if
ce307551b126a6b551358fb063614b80b9355907matthew_swift test="not(@mandatory='true') and not(adm:default-behavior)">
ce307551b126a6b551358fb063614b80b9355907matthew_swift <xsl:message terminate="yes">
ce307551b126a6b551358fb063614b80b9355907matthew_swift <xsl:value-of
ce307551b126a6b551358fb063614b80b9355907matthew_swift select="concat('No default behavior defined for non-mandatory property &quot;', @name,
ce307551b126a6b551358fb063614b80b9355907matthew_swift '&quot;.')" />
ce307551b126a6b551358fb063614b80b9355907matthew_swift </xsl:message>
ce307551b126a6b551358fb063614b80b9355907matthew_swift </xsl:if>
ce307551b126a6b551358fb063614b80b9355907matthew_swift <!--
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift Check that all advanced properties conform to one of
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift the following rules:
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift * is mandatory and has a defined default value(s)
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift * is mandatory and is part of an advanced managed object
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift * is mandatory and is part of an abstract managed object
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift * is not mandatory
ce307551b126a6b551358fb063614b80b9355907matthew_swift -->
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:choose>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:when test="$this-is-advanced">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <!-- OK -->
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:when>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:when test="$this-is-abstract">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <!-- OK -->
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:when>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:when test="@advanced='true' and @mandatory='true'">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:choose>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:when test="adm:default-behavior/adm:defined">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <!-- OK -->
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:when>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:when test="adm:default-behavior/adm:inherited">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <!-- OK -->
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:when>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:otherwise>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:message terminate="yes">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:value-of
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift select="concat('Advanced property &quot;', @name,
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift '&quot; must have defined or inherited default values.')" />
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:message>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:otherwise>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:choose>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:when>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:choose>
ce307551b126a6b551358fb063614b80b9355907matthew_swift </xsl:for-each>
ce307551b126a6b551358fb063614b80b9355907matthew_swift <!--
ce307551b126a6b551358fb063614b80b9355907matthew_swift Now generate the definition.
ce307551b126a6b551358fb063614b80b9355907matthew_swift -->
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="copyright-notice" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat('package ', $this-package, '.meta;&#xa;')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-import-statements">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="imports">
78411718ed81a30c7dc8e94f3460bb6084f53082matthew_swift <xsl:if test="not(boolean($this/@extends))">
78411718ed81a30c7dc8e94f3460bb6084f53082matthew_swift <import>org.opends.server.admin.TopCfgDefn</import>
78411718ed81a30c7dc8e94f3460bb6084f53082matthew_swift </xsl:if>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <xsl:if test="$this/adm:constraint">
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <import>org.opends.server.admin.GenericConstraint</import>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift <import>org.opends.server.admin.condition.Conditions</import>
0c45338572f2f6593fea8fc9e70bcb9ef3a6d2f8matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift test="$this-local-properties[@multi-valued='true' or
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @read-only='true' or
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift @monitoring='true' or
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @hidden='true' or
ce307551b126a6b551358fb063614b80b9355907matthew_swift @advanced='true' or
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift @mandatory='true']">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>org.opends.server.admin.PropertyOption</import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <xsl:if test="$this-local-properties">
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift <import>org.opends.server.admin.AdministratorAction</import>
3cbc49fe5e6d8a00a69fe1859874ed5dcff85aebmatthew_swift </xsl:if>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <xsl:if test="$this/adm:tag-definition or $this/adm:tag">
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift <import>org.opends.server.admin.Tag</import>
408b8eb145348cb8f251a8abfec96e7e4e80f630matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if
91a20186760d8e626fe98dd3031d09c8f0c03971matthew_swift test="$this-local-properties[adm:default-behavior/adm:undefined or not(adm:default-behavior)]">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.UndefinedDefaultBehaviorProvider
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift test="$this-local-properties/adm:default-behavior/adm:alias">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.AliasDefaultBehaviorProvider
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift test="$this-local-properties/adm:default-behavior/adm:inherited/adm:absolute">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift org.opends.server.admin.AbsoluteInheritedDefaultBehaviorProvider
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </import>
035c29eadd5f71ccfc4bc4f499300871e850bf86boli <import>
035c29eadd5f71ccfc4bc4f499300871e850bf86boli org.opends.server.admin.DefaultBehaviorProvider
035c29eadd5f71ccfc4bc4f499300871e850bf86boli </import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift test="$this-local-properties/adm:default-behavior/adm:inherited/adm:relative">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift org.opends.server.admin.RelativeInheritedDefaultBehaviorProvider
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </import>
035c29eadd5f71ccfc4bc4f499300871e850bf86boli <import>
035c29eadd5f71ccfc4bc4f499300871e850bf86boli org.opends.server.admin.DefaultBehaviorProvider
035c29eadd5f71ccfc4bc4f499300871e850bf86boli </import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:for-each
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift select="$this-local-properties/adm:default-behavior/adm:inherited/adm:relative">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="@managed-object-package != $this-package">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:variable name="java-class-name">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:call-template name="name-to-java">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:with-param name="value"
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift select="@managed-object-name" />
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:call-template>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:variable>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:element name="import">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:value-of
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift select="concat(@managed-object-package, '.meta.', $java-class-name, 'CfgDefn')" />
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:element>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:for-each>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift test="$this-local-properties/adm:default-behavior/adm:defined">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.DefinedDefaultBehaviorProvider
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.DefaultBehaviorProvider
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($this-package, '.client.', $this-java-class, 'CfgClient')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($this-package, '.server.', $this-java-class, 'Cfg')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-inherited-properties">
443912c6877a8ce1c66a3fd7446e9eaa1e9d919amatthew_swift <xsl:call-template name="get-property-java-imports">
443912c6877a8ce1c66a3fd7446e9eaa1e9d919amatthew_swift <xsl:with-param name="interface" select="'server'" />
443912c6877a8ce1c66a3fd7446e9eaa1e9d919amatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-properties">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift name="get-property-definition-java-imports" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:for-each select="$this-all-relations">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:variable name="java-class-name">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="name-to-java">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:with-param name="value"
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="@managed-object-name" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:variable>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(@managed-object-package, '.client.', $java-class-name, 'CfgClient')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat(@managed-object-package, '.server.', $java-class-name, 'Cfg')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:for-each>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:if
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift test="$this-local-relations/*/adm:default-managed-object">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <import>org.opends.server.admin.DefaultManagedObject</import>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:if>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:for-each
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="$this-local-relations/*/adm:default-managed-object">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:variable name="java-class-name">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:call-template name="name-to-java">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:with-param name="value"
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="@managed-object-name" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:call-template>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:variable>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:element name="import">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(@managed-object-package, '.client.', $java-class-name, 'CfgClient')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:element>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:element name="import">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(@managed-object-package, '.server.', $java-class-name, 'Cfg')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:element>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:element name="import">
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift <xsl:value-of
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift select="concat(@managed-object-package, '.meta.', $java-class-name, 'CfgDefn')" />
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:element>
7edb1a6332a5678c67bfa236b629d47cab1525c1matthew_swift </xsl:for-each>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:if
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift test="$this-local-relations[@advanced='true' or @hidden='true']">
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift <import>org.opends.server.admin.RelationOption</import>
cd827d0bd7c904782575c994f30982ffe6e696d5matthew_swift </xsl:if>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <xsl:if test="$this-is-hidden or $this-is-advanced">
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift <import>org.opends.server.admin.ManagedObjectOption</import>
9355c1819517672f3cfe09356402fe0257c96facmatthew_swift </xsl:if>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:if test="$this-all-relations/adm:one-to-many[not(@unique = 'true')]">
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift <import>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift org.opends.server.admin.InstantiableRelationDefinition
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift </import>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift </xsl:if>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:if test="$this-all-relations/adm:one-to-many[@unique = 'true']">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <import>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift org.opends.server.admin.SetRelationDefinition
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </import>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:if>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift <xsl:if test="$this-all-relations/adm:one-to-zero-or-one">
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift <import>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift org.opends.server.admin.OptionalRelationDefinition
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift </import>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift </xsl:if>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift <xsl:if test="$this-all-relations/adm:one-to-one">
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift <import>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift org.opends.server.admin.SingletonRelationDefinition
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift </import>
3e524e44cd310c0fe3503803025b6bcc1fd1ac2fmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:when test="$this-is-abstract">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.AbstractManagedObjectDefinition
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:when>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.ManagedObjectDefinition
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>org.opends.server.admin.PropertyProvider</import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift org.opends.server.admin.client.MissingMandatoryPropertiesException
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift org.opends.server.admin.ManagedObjectAlreadyExistsException
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.client.AuthorizationException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.client.CommunicationException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.client.ConcurrentModificationException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.client.OperationRejectedException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.client.ManagedObject
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.server.ServerManagedObject
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="not($this-is-root)">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.server.ConfigurationChangeListener
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift name="generate-change-listener-import-statements" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>org.opends.server.types.DN</import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <xsl:if test="$this-all-relations">
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.DefinitionDecodingException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.ManagedObjectNotFoundException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift org.opends.server.admin.client.ManagedObjectDecodingException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="$this-all-relations/adm:one-to-many">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <import>java.util.Collection</import>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <xsl:if test="$this-all-relations/adm:one-to-many[not(@unique = 'true')]">
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift <import>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift org.opends.server.admin.client.IllegalManagedObjectNameException
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </import>
abb16d70d9d4b5daf29b49db1e78676d4609276amatthew_swift </xsl:if>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift org.opends.server.admin.DefaultBehaviorException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.server.ConfigurationAddListener
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.server.ConfigurationDeleteListener
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>org.opends.server.config.ConfigException</import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="$this-all-relations/adm:one-to-zero-or-one">
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <import>java.util.Collection</import>
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift <import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift org.opends.server.admin.DefaultBehaviorException
4a622c45ad6426287954754f34fc3ab8a4b9c2c5matthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.server.ConfigurationAddListener
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift org.opends.server.admin.server.ConfigurationDeleteListener
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>org.opends.server.config.ConfigException</import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="$this-all-relations/adm:one-to-one">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>org.opends.server.config.ConfigException</import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="$this-all-properties[@multi-valued='true']">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>java.util.SortedSet</import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <import>java.util.Collection</import>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift <xsl:if test="$this-all-properties[@read-only='true']">
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift <import>
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift org.opends.server.admin.PropertyIsReadOnlyException
91940c5122d22be4fd20bc41db2ffc4a9ba4ce59matthew_swift </import>
e32b0f1464ea290b749a43d5ee7a6085b14532c9matthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:otherwise>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:choose>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="$this/@extends">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:if test="$parent-package != $this-package">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:element name="import">
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:value-of
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift select="concat($parent-package, '.meta.', $parent-java-class, 'CfgDefn')" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:element>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:if>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:with-param>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:call-template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-meta-class-declaration" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:call-template name="generate-meta-class-body" />
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift <xsl:text>}&#xa;</xsl:text>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift </xsl:template>
bb8874d71cdd8e5288297b9727703437c6dfcfedmatthew_swift</xsl:stylesheet>