[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