/// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write(this.ToStringHelper.ToStringWithCulture(SchemaSetClassCreator.GetLicenseText()));
            this.Write("\r\n");

            SchemaSetClassCreator generator = new SchemaSetClassCreator(mlPath, mlVersion, enumClassNames, versionString);

            this.Write(@"//This code was generated using the Energistics Generator tool.  Direct changes to this code will be lost
//during regeneration.

using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Serialization;

using Energistics.DataAccess.");
            this.Write(this.ToStringHelper.ToStringWithCulture(mlVersion));
            this.Write(".ComponentSchemas;\r\nusing Energistics.DataAccess.");
            this.Write(this.ToStringHelper.ToStringWithCulture(mlVersion));
            this.Write(".ReferenceData;\r\nusing Energistics.DataAccess.Reflection;\r\nusing Energistics.Data" +
                       "Access.Validation;\r\n\r\nnamespace Energistics.DataAccess.");
            this.Write(this.ToStringHelper.ToStringWithCulture(mlVersion));
            this.Write("\r\n{\r\n    #region Classes\r\n");

            foreach (Type type in generator.Classes)
            {
                if (generator.IsComponentSchemaType(type))
                {
                    this.Write("    namespace ComponentSchemas \r\n    {\r\n");
                }

                this.Write("    /// <summary>\r\n    /// ");
                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type)));
                this.Write("\r\n    /// </summary>\r\n");

                foreach (XmlIncludeAttribute include in type.GetCustomAttributes(typeof(XmlIncludeAttribute), false))
                {
                    this.Write("    [System.Xml.Serialization.XmlIncludeAttribute(typeof(");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.RenameClass(include.Type)));
                    this.Write("))]\r\n");
                }

                this.Write("    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"");
                this.Write(this.ToStringHelper.ToStringWithCulture(Assembly.GetExecutingAssembly().GetName().Name));
                this.Write("\", \"");
                this.Write(this.ToStringHelper.ToStringWithCulture(Assembly.GetExecutingAssembly().GetName().Version));
                this.Write("\")]\r\n    [System.SerializableAttribute()]\r\n    [System.Diagnostics.DebuggerStepTh" +
                           "roughAttribute()]\r\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]" +
                           "\r\n");

                if (generator.GetXmlRootName(type) != null)
                {
                    this.Write("    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlNamespace(type)));
                    this.Write("\")]\r\n    [System.Xml.Serialization.XmlRootAttribute(\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlRootName(type)));
                    this.Write("\", Namespace=\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlNamespace(type)));
                    this.Write("\", IsNullable=false)]\r\n");
                }
                else
                {
                    this.Write("    [System.Xml.Serialization.XmlTypeAttribute(TypeName=\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(type.Name));
                    this.Write("\", Namespace=\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlNamespace(type)));
                    this.Write("\")]\r\n");
                }

                this.Write("\t");
                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetEnergisticsDataObjectAttribute(type)));
                this.Write("[Description(\"");
                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type).Replace("\"", "")));
                this.Write("\")]\r\n    public");
                this.Write(this.ToStringHelper.ToStringWithCulture(type.IsAbstract ? " abstract" : string.Empty));
                this.Write(" partial class ");
                this.Write(this.ToStringHelper.ToStringWithCulture(generator.RenameClass(type, true)));
                this.Write(" ");
                this.Write(this.ToStringHelper.ToStringWithCulture(type.BaseType.Equals(typeof(object)) ?  ": Object" : string.Format(": {0}", generator.RenameClass(type.BaseType))));
                this.Write(this.ToStringHelper.ToStringWithCulture(generator.IsEnergisticsCollection(type) ? ", IEnergisticsCollection" : generator.GetDataObjectInterface(type)));
                this.Write(", INotifyPropertyChanged\r\n    {\r\n");
                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetConstructor(type)));
                this.Write("\r\n");

                foreach (var property in type.GetProperties())
                {
                    if (property.DeclaringType.Equals(type))
                    {
                        if (property.GetCustomAttributes(typeof(XmlIgnoreAttribute), false).Length > 0)
                        {
                            this.Write("        ");
                            this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, property.Name)));
                            this.Write("\r\n        [XmlIgnore]\r\n        [Browsable(false)]\r\n");
                        }
                        else
                        if (property.GetCustomAttributes(typeof(XmlTextAttribute), false).Length > 0)
                        {
                            this.Write("        ");
                            this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, property.Name)));
                            this.Write("\r\n        ");
                            this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetValidationAttributes(type, property)));
                            this.Write("\r\n        [XmlText]\r\n");
                        }
                        else if (property.GetCustomAttributes(typeof(XmlElementAttribute), false).Length > 1)
                        {
                            this.Write(this.ToStringHelper.ToStringWithCulture(generator.ExpandChoiceAttributes(type, property)));
                            this.Write("\r\n");

                            continue;
                        }
                        else
                        {
                            object[] elementAttribute = property.GetCustomAttributes(typeof(XmlElementAttribute), false);
                            if (elementAttribute.Length > 0)
                            {
                                XmlElementAttribute xmlElemAttr = (elementAttribute[0] as XmlElementAttribute);

                                this.Write("        ");
                                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, property.Name)));
                                this.Write("\r\n\t\t");
                                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetValidationAttributes(type, property)));
                                this.Write("\r\n\t\t");
                                this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlElementAttrTag(xmlElemAttr, property)));
                                this.Write("\r\n");
                            }
                            else
                            {
                                object[] attributetAttributes = property.GetCustomAttributes(typeof(XmlAttributeAttribute), false);
                                if (attributetAttributes.Length > 0)
                                {
                                    XmlAttributeAttribute attribute = attributetAttributes[0] as XmlAttributeAttribute;

                                    this.Write("\t\t");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, property.Name)));
                                    this.Write("\r\n\t\t");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetValidationAttributes(type, property)));
                                    this.Write("\r\n        [XmlAttribute(\"");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(string.IsNullOrEmpty(attribute.AttributeName) ? property.Name : attribute.AttributeName));
                                    this.Write("\"");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(attribute.Form.HasFlag(XmlSchemaForm.Qualified) ? ", Form = System.Xml.Schema.XmlSchemaForm.Qualified" : String.Empty));
                                    this.Write(this.ToStringHelper.ToStringWithCulture(string.IsNullOrEmpty(attribute.Namespace) ? String.Empty : String.Format(", Namespace = \"{0}\"", attribute.Namespace)));
                                    this.Write(")]\r\n\t\t");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetSurrogate(type, property)));
                                    this.Write("\r\n");
                                }
                                else
                                {
                                    this.Write("        ");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, property.Name)));
                                    this.Write("\r\n\t\t");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetValidationAttributes(type, property)));
                                    this.Write("\r\n\t\t");
                                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlElementOrXmlArray(type, property)));
                                    this.Write("\r\n");
                                }
                            }
                        }



                        this.Write("        public ");
                        this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetPropertyType(property)));
                        this.Write(this.ToStringHelper.ToStringWithCulture(generator.MakePropertyNullable(property)));
                        this.Write(" ");
                        this.Write(this.ToStringHelper.ToStringWithCulture(generator.RenameProperty(property)));
                        this.Write(" ");
                        this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetGetterSetter(null, type, property)));
                        this.Write("\r\n");

                        if (generator.IsItemsList(type, property))
                        {
                            this.Write("        ");
                            this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, property.Name)));
                            this.Write("\r\n        [XmlIgnore]\t\t\r\n        public IList Items\r\n        {\r\n\t\t    get\r\n\t\t\t{\r\n" +
                                       "\t\t\t    return ");
                            this.Write(this.ToStringHelper.ToStringWithCulture(generator.RenameProperty(property)));
                            this.Write(";\r\n\t\t\t}\r\n        }\r\n");
                        }
                    }
                }

                if (type.GetProperty("commonData") != null && type.GetProperty("customData") != null)
                {
                    this.Write(@"        
        #region ICommonDataObject Members

        ICommonData ICommonDataObject.CommonData
        {
            get { return CommonData; }
            set { CommonData = value as CommonData; }
        }

        ICustomData ICommonDataObject.CustomData
        {
            get { return CustomData; }
            set { CustomData = value as CustomData; }
        }

        #endregion
");
                }

                this.Write("\r\n");

                if (type.BaseType == typeof(Object))
                {
                    this.Write(@"        
		#region INotifyPropertyChanged Members
		/// <summary>
        /// Occurs when a property value changes. 
        /// </summary>
        public event PropertyChangedEventHandler PropertyChanged;

		/// <summary>
        /// Triggers PropertyChanged Event
        /// </summary>
        /// <param name=""info"">Name of property changed</param>
        protected void NotifyPropertyChanged(String info)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(info));
            }
        }
        #endregion INotifyPropertyChanged Members
");
                }

                this.Write("    } //here\r\n");

                if (generator.IsComponentSchemaType(type))
                {
                    this.Write("    }\r\n");
                }

                this.Write("\r\n");
            }

            this.Write("    #endregion\r\n\r\n    #region Enumerations\r\n    namespace ReferenceData {\r\n");

            foreach (Type type in generator.Enums)
            {
                if (!enumClassNames.Contains(type.Name))
                {
                    this.Write("        /// <summary>\r\n        /// ");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type)));
                    this.Write("\r\n        /// </summary>\r\n        [System.CodeDom.Compiler.GeneratedCodeAttribute" +
                               "(\"xsd\", \"4.0.30319.1\")]\r\n        [System.SerializableAttribute()]\r\n        [Syst" +
                               "em.Xml.Serialization.XmlTypeAttribute(Namespace=\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetXmlNamespace(type)));
                    this.Write("\")]\r\n        [Description(\"");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type).Replace("\"", "")));
                    this.Write("\")]\r\n        public enum ");
                    this.Write(this.ToStringHelper.ToStringWithCulture(generator.RenameClass(type, true)));
                    this.Write(" \r\n        {\r\n");

                    FieldInfo[] fields = type.GetFields(BindingFlags.Static | BindingFlags.GetField | BindingFlags.Public);

                    for (int i = 0; i < fields.Length; i++)
                    {
                        FieldInfo field          = fields[i];
                        object[]  enumAttributes = field.GetCustomAttributes(typeof(XmlEnumAttribute), false);

                        this.Write("        ");
                        this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDescription(type, field.Name)));
                        this.Write("\r\n");

                        if (enumAttributes.Length > 0)
                        {
                            XmlEnumAttribute attribute = enumAttributes[0] as XmlEnumAttribute;

                            this.Write("          [XmlEnum(\"");
                            this.Write(this.ToStringHelper.ToStringWithCulture(string.IsNullOrEmpty(field.Name) ? field.Name : attribute.Name));
                            this.Write("\")]\r\n");
                        }

                        this.Write("          ");
                        this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetEnumName(field.Name)));
                        this.Write(this.ToStringHelper.ToStringWithCulture(i == fields.Length - 1 ? string.Empty : ","));
                        this.Write("\r\n");
                    }

                    this.Write("        }\r\n");
                } // end if
            }     // end for

            this.Write("    }\r\n    #endregion\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
Esempio n. 2
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText(String Version)
        {
#line 2 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(SchemaSetClassCreator.GetLicenseText()));

#line default
#line hidden
            this.Write("\r\n");
            this.Write("\r\nusing System;\r\n\r\nnamespace Energistics.DataAccess." + Version + ".ComponentSchemas\r\n{" +
                       "\r\n");

#line 10 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"

            string[,] classes = new string[, ] {
                { "ResqmlSplitNodeSet : Object", "Point3D", "[]", "IjkGridHdfGroup", "null" },
                { "ResqmlTriangulatedPatch : Object", "Point3D", "[]", "TriangulatedHdfGroup", "point3dSet" },
                { "ResqmlTriangulatedPatch : Object", "Triangle", "[]", "TriangulatedHdfGroup", "triangleNodeIndexSet" },
                { "ResqmlTriangulatedPatch : Object", "Edge", "[]", "TriangulatedHdfGroup", "splitEdgeNodeIndexSet" },
                { "ResqmlPointSetPatch : Object", "Point3D", "[]", "PointSetHdfGroup", "null" },
                { "ResqmlAbstractIJKGrid : Object", "Point3D", "[,]", "IjkGridHdfGroup", "explicitNodeList" },
                { "ResqmlAbstractIJKGrid : Object", "SplitLineReference", "[]", "IjkGridHdfGroup", "splitLineReferences" },
                { "ResqmlAbstractIJKGrid : Object", "byte", "[,,]", "IjkGridHdfGroup", "topologyFlags" },
                { "ResqmlAbstractIJKGrid : Object", "SplitNodeReference", "[]", "IjkGridHdfGroup", "splitNodeReferences" },
                { "ResqmlAbstractIJKGrid : Object", "Point3D", "[]", "IjkGridHdfGroup", "splitNodes" },
                { "ResqmlPillarSetPatch : Object", "Point3D", "[,]", "PillarSetHdfGroup", "pillarSet" },
                { "ResqmlIJKNonStandardAdjacency : Object", "GridIJKCellFacePair", "[]", "HdfRepresentation", "null" },
                { "ResqmlGrid2dPatch : Object", "double", "[,]", "Grid2dHdfGroup", "zValueSet" },
                { "ResqmlExplicitNodeSet : Object", "int", "[,,]", "IjkGridHdfGroup", "null" }
            };
            for (int i = 0; i < classes.GetLength(0); i++)
            {
                string name            = classes[i, 0];
                string type            = classes[i, 1];
                string array           = classes[i, 2];
                string property        = classes[i, 3];
                string oriddatasetname = classes[i, 4];
                string quotdatasetname = (oriddatasetname == "null") ? oriddatasetname : String.Format("\"{0}\"", oriddatasetname);
                string readname        = (oriddatasetname == "null") ? property : oriddatasetname;
                readname = readname.Substring(0, 1).ToUpper() + readname.Substring(1);



#line default
#line hidden
                this.Write("    public partial class ");

#line 38 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(name));

#line default
#line hidden
                this.Write("\r\n    {\r\n        /// <summary>\r\n        /// Reads HDF5 data\r\n        /// </summar" +
                           "y>\r\n        /// <param name=\"doc\">Parent ResqmlDocument</param>\r\n        /// <re" +
                           "turns>The data returned from the HDF5 document</returns>\r\n        public ");

#line 45 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden

#line 45 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(array));

#line default
#line hidden
                this.Write(" Read");

#line 45 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write("(ResqmlDocument doc)\r\n        {\r\n            return this.Read");

#line 47 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write(@"(doc, null, null);
        }

        /// <summary>
        /// Reads HDF5 data using hyperslabbing
        /// </summary>
        /// <param name=""doc"">Parent ResqmlDocument</param>
		/// <param name=""start"">Offset of start of subsetting selection, null if not hyperslabbing</param>
        /// <param name=""count"">Number of blocks to include in selection, null if not hyperslabbing</param>
        /// <returns>The data returned from the HDF5 document</returns>
        public ");

#line 57 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden

#line 57 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(array));

#line default
#line hidden
                this.Write(" Read");

#line 57 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write("(ResqmlDocument doc, long[] start, long[] count)\r\n        {\r\n            return (" +
                           "");

#line 59 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden

#line 59 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(array));

#line default
#line hidden
                this.Write(")this.");

#line 59 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property));

#line default
#line hidden
                this.Write(".Read<");

#line 59 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden
                this.Write(">(doc, start, count, ");

#line 59 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(quotdatasetname));

#line default
#line hidden
                this.Write(");\r\n        }\r\n\r\n\t\t/// <summary>\r\n        /// Writes HDF5 data\r\n        /// </sum" +
                           "mary>\r\n        /// <param name=\"doc\">Parent ResqmlDocument</param>\r\n        /// " +
                           "<param name=\"obj\">Object to write</param>        \r\n\t\tpublic void Write");

#line 67 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write("(ResqmlDocument doc, ");

#line 67 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden

#line 67 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(array));

#line default
#line hidden
                this.Write(" obj)\r\n        {\r\n            this.Write");

#line 69 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write(@"(doc, obj, null, null);
        }

		/// <summary>
        /// Writes HDF5 data using hyperslabbing
        /// </summary>
        /// <param name=""doc"">Parent ResqmlDocument</param>
        /// <param name=""obj"">Object to write</param>
        /// <param name=""start"">Offset of start of subsetting selection, null if not hyperslabbing</param>
        /// <param name=""filespace"">Total size to allot for the data within the HDF5 file</param>
		public void Write"        );

#line 79 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write("(ResqmlDocument doc, ");

#line 79 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden

#line 79 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(array));

#line default
#line hidden
                this.Write(" obj, long[] start, long[] filespace)\r\n        {\r\n\t\t    if (this.");

#line 81 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property));

#line default
#line hidden
                this.Write(" == null) \r\n\t\t\t{\r\n\t\t\t    this.");

#line 83 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property));

#line default
#line hidden
                this.Write(" = new ResqmlHdfGroup();\r\n\t\t\t}\r\n            this.");

#line 85 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property));

#line default
#line hidden
                this.Write(".Write<");

#line 85 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(type));

#line default
#line hidden
                this.Write(">(doc, obj, start, filespace, ");

#line 85 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(quotdatasetname));

#line default
#line hidden
                this.Write(@");
        }

		/// <summary>
        /// Checks to see if dataset exists
        /// </summary>
        /// <param name=""doc"">Parent ResqmlDocument</param>
        /// <returns>True if the dataset exists, false if it does not</returns>
        public bool DoesExist");

#line 93 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(readname));

#line default
#line hidden
                this.Write("(ResqmlDocument doc)\r\n        {\r\n            if (this.");

#line 95 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property));

#line default
#line hidden
                this.Write(" == null) return false;\r\n            HDF5DotNet.H5DataSetId dataId = this.");

#line 96 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property));

#line default
#line hidden
                this.Write(".GetDataSetId(doc, ");

#line 96 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(quotdatasetname));

#line default
#line hidden
                this.Write(", HDF5DotNet.H5F.OpenMode.ACC_RDONLY, true);\r\n\r\n\t\t\tif (dataId == null) \r\n\t\t\t{\r\n\t\t" +
                           "\t    return false;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tHDF5DotNet.H5D.close(dataId);\r\n\t\t\t " +
                           "   return true;\r\n\t\t\t}\r\n        }\r\n    }\r\n");

#line 109 "C:\TFS\ADI_COMMON\StdDevkit\Dev\RESQML\DevKitGenerator\Generator\ResqmlHD5Template.tt"
            }


#line default
#line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }