[Mobies-commit] [commit] r3803 - UDM/trunk/src/UdmCliGen

ksmyth at redhat1.isis.vanderbilt.edu ksmyth at redhat1.isis.vanderbilt.edu
Thu Jul 28 10:17:09 CDT 2011


Author: ksmyth
Date: Thu Jul 28 10:17:08 2011
New Revision: 3803

Log:
Add Udm.ClassFactory to abstract static methods

Modified:
   UDM/trunk/src/UdmCliGen/Implementation.tmpl

Modified: UDM/trunk/src/UdmCliGen/Implementation.tmpl
==============================================================================
--- UDM/trunk/src/UdmCliGen/Implementation.tmpl	Thu Jul 28 10:15:56 2011	(r3802)
+++ UDM/trunk/src/UdmCliGen/Implementation.tmpl	Thu Jul 28 10:17:08 2011	(r3803)
@@ -33,7 +33,22 @@
             return Cast(((global::Udm.Native.UdmCliObject)o).backing);
         }
 
-        public static ${c.name} Create(global::Udm.IUdmObject parent, global::Udm.Native.Uml.CompositionChildRole role = null)
+        public static ${fq_iname($c)} ICreate(global::Udm.IUdmObject parent)
+        {
+            return Create(parent);
+        }
+
+        public static ${fq_iname($c)} ICreate(global::Udm.IUdmObject parent, global::Udm.Native.Uml.CompositionChildRole role)
+        {
+            return Create(parent, role);
+        }
+
+        public static ${c.name} Create(global::Udm.IUdmObject parent)
+        {
+            return Create(parent, null);
+        }
+
+        public static ${c.name} Create(global::Udm.IUdmObject parent, global::Udm.Native.Uml.CompositionChildRole role)
         {
             if (role == null)
             {
@@ -55,6 +70,16 @@
         }
 #end for
 
+        public struct Factory : global::Udm.ClassFactory<${fq_iname($c)}> {
+            public global::Udm.Native.Uml.Class meta { get { return ${fq_name($c)}.meta; } }
+
+            public global::System.Func<global::Udm.IUdmObject, ${fq_iname($c)}> ICast { get { return ${fq_name($c)}.ICast; } }
+
+            public global::System.Func<global::Udm.IUdmObject, ${fq_iname($c)}> ICreate { get { return ${fq_name($c)}.ICreate; } }
+
+            public global::System.Func<global::Udm.IUdmObject, global::Udm.Native.Uml.CompositionChildRole, ${fq_iname($c)}> ICreateWithRole { get { return ${fq_name($c)}.Create; } }
+        }
+
 ## some debugging support
         public ${fq_iname($c)} this_downcasted
         {


More information about the Mobies-commit mailing list