internal ResXDataNode()

in tools/simpleresgen/mono/ResXDataNode.cs [134:169]


		internal ResXDataNode (string nameAtt, string mimeTypeAtt, string typeAtt, 
		                       string dataString, string commentString, Point position, 
		                       string basePath)
		{

			name = nameAtt;
			comment = commentString;
			pos = position;
			MimeType = mimeTypeAtt;
			Type = typeAtt;

			if (!String.IsNullOrEmpty (mimeTypeAtt)) {
				if (!String.IsNullOrEmpty(typeAtt)) {
					handler = new TypeConverterFromResXHandler (dataString, mimeTypeAtt, typeAtt);
				} else {
					handler = new SerializedFromResXHandler (dataString, mimeTypeAtt);
				}
			} else if (!String.IsNullOrEmpty (typeAtt)) { //using hard coded types to avoid version mismatches
				if (typeAtt.StartsWith ("System.Resources.ResXNullRef, System.Windows.Forms")) {
					handler = new NullRefHandler (typeAtt);
				} else if (typeAtt.StartsWith ("System.Byte[], mscorlib")) { 
					handler = new ByteArrayFromResXHandler (dataString);
				} else if (typeAtt.StartsWith ("System.Resources.ResXFileRef, System.Windows.Forms")) {
					ResXFileRef newFileRef = BuildFileRef (dataString, basePath);
					handler = new FileRefHandler (newFileRef);
					this.fileRef = newFileRef;
				} else {
					handler = new TypeConverterFromResXHandler (dataString, mimeTypeAtt, typeAtt);
				}
			} else {
				handler = new InMemoryHandler (dataString);
			}

			if (handler == null)
				throw new Exception ("handler is null");
		}