public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { Object result = null; try { double x = 0, y = 0, width = 0, height = 0; string[] values = value.Split(' '); if (values.Length < 4) { values = value.Split(','); } if (values.Length > 1) { x = double.Parse(values[0]); y = double.Parse(values[1]); } if (values.Length > 3) { width = double.Parse(values[2]); height = double.Parse(values[3]); } result = new Rect(x, y, width, height); } catch (ArgumentNullException e) { } catch (ArgumentException e) { } return(result); }
/// <summary> /// Sets the value of the field in the context /// </summary> /// <param name="context"></param> /// <param name="field"></param> /// <param name="valueString"></param> /// <param name="format"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public virtual Boolean SetField(Object context, FieldInfo field, String valueString, String[] format, IScalarUnmarshallingContext scalarUnmarshallingContext) { if (valueString == null) { return(true); } Boolean result = false; try { Object referenceObject = GetInstance(valueString, format, scalarUnmarshallingContext); if (referenceObject != null) { field.SetValue(context, referenceObject); result = true; } } catch (Exception e) { SetFieldError(field, valueString, e); } return(result); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { if (string.IsNullOrEmpty(value)) return null; MetadataScalarType result = null; String simpleName; if (value != null && value.StartsWith("Metadata")) simpleName = value; else { if ("int".Equals(value) || "Int".Equals(value)) value = "Integer"; // be flexible about integer types int length = value.Length; StringBuilder buffy = new StringBuilder(length + 18); // includes room for "Metadata" & "Type" buffy.Append("Metadata"); char firstChar = value[0]; if (char.IsLower(firstChar)) { buffy.Append(char.ToUpper(firstChar)); if (length > 1) buffy.Append(value, 1, length - 1); } else { buffy.Append(value); } simpleName = buffy.ToString(); } return (MetadataScalarType)TypeRegistry.ScalarTypes[simpleName]; }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { try { DateTime? result = null; try { result = UtcEpoch.AddMilliseconds(Convert.ToInt64(value)); } catch (FormatException notUTC) { Debug.WriteLine("date not in UTC epoch. trying builtin DateTime conversion."); try { result = Convert.ToDateTime(value); } catch (FormatException notDateTime) { Debug.WriteLine("Date not properly formated. Skipping. Value = " + value.ToString()); } } return result; } catch(FormatException e) { return null; } }
/// <summary> /// Creates and returns an instance of int type for the given /// input value. /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns>int</returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { object result = null; int length = value.Length; if ((length > 0)) { char firstChar = value[0]; StringBuilder buffy = new StringBuilder(length + 4); // includes room for "Type" if (char.IsLower(firstChar)) { buffy.Append(char.ToUpper(firstChar)); if (length > 1) { buffy.Append(value, 1, length - 1); } } else { buffy.Append(value); } buffy.Append("Type"); result = TypeRegistry.ScalarTypes.SimpleName[buffy.ToString()]; } return result; }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { try { DateTime?result = null; try { result = UtcEpoch.AddMilliseconds(Convert.ToInt64(value)); } catch (FormatException notUTC) { Debug.WriteLine("date not in UTC epoch. trying builtin DateTime conversion."); try { result = Convert.ToDateTime(value); } catch (FormatException notDateTime) { Debug.WriteLine("Date not properly formated. Skipping. Value = " + value.ToString()); } } return(result); } catch (FormatException e) { return(null); } }
/// <summary> /// Creates and returns an instance of int type for the given /// input value. /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns>int</returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { object result = null; int length = value.Length; if ((length > 0)) { char firstChar = value[0]; StringBuilder buffy = new StringBuilder(length + 4); // includes room for "Type" if (char.IsLower(firstChar)) { buffy.Append(char.ToUpper(firstChar)); if (length > 1) { buffy.Append(value, 1, length - 1); } } else { buffy.Append(value); } buffy.Append("Type"); result = TypeRegistry.ScalarTypes.SimpleName[buffy.ToString()]; } return(result); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { Object result = null; try { double x = 0, y = 0, width = 0, height = 0; string[] values = value.Split(' '); if (values.Length > 1) { x = double.Parse(values[0]); y = double.Parse(values[1]); } if (values.Length > 3) { width = double.Parse(values[2]); height = double.Parse(values[3]); } result = new Rect(x, y, width, height); } catch (ArgumentNullException e) { } catch (ArgumentException e) { } return result; }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { Object result = null; try { ParsedUri baseUri = null; if(scalarUnmarshallingContext != null) baseUri = scalarUnmarshallingContext.UriContext; result = baseUri != null ? new ParsedUri(baseUri, value) : new ParsedUri(value); } catch (Exception e) { Debug.WriteLine(e.Message + " :: " + value); } return result; }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { string hex = value.Replace("#", ""); bool hasAlpha = (hex.Length >= 8); try { var intValue = Convert.ToUInt32(hex, 16); if (!hasAlpha) intValue += 0xff000000; return Color.FromArgb(Convert.ToByte((intValue & 0xff000000) >> 24), Convert.ToByte((intValue & 0x00ff0000) >> 16), Convert.ToByte((intValue & 0x0000ff00) >> 8), Convert.ToByte(intValue & 0x000000ff)); } catch (Exception) { return (value.StartsWith("rgb")) ? RgbToBrush(value) : ColorStringToBrush(value); } }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { Object result = null; try { ParsedUri baseUri = null; if (scalarUnmarshallingContext != null) { baseUri = scalarUnmarshallingContext.UriContext; } result = baseUri != null ? new ParsedUri(baseUri, value) : new ParsedUri(value); } catch (Exception e) { Debug.WriteLine(e.Message + " :: " + value); } return(result); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { if (string.IsNullOrEmpty(value)) { return(null); } MetadataScalarType result = null; String simpleName; if (value != null && value.StartsWith("Metadata")) { simpleName = value; } else { if ("int".Equals(value) || "Int".Equals(value)) { value = "Integer"; // be flexible about integer types } int length = value.Length; StringBuilder buffy = new StringBuilder(length + 18); // includes room for "Metadata" & "Type" buffy.Append("Metadata"); char firstChar = value[0]; if (char.IsLower(firstChar)) { buffy.Append(char.ToUpper(firstChar)); if (length > 1) { buffy.Append(value, 1, length - 1); } } else { buffy.Append(value); } simpleName = buffy.ToString(); } return((MetadataScalarType)TypeRegistry.ScalarTypes[simpleName]); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { string hex = value.Replace("#", ""); bool hasAlpha = (hex.Length >= 8); try { var intValue = Convert.ToUInt32(hex, 16); if (!hasAlpha) { intValue += 0xff000000; } return(Color.FromArgb(Convert.ToByte((intValue & 0xff000000) >> 24), Convert.ToByte((intValue & 0x00ff0000) >> 16), Convert.ToByte((intValue & 0x0000ff00) >> 8), Convert.ToByte(intValue & 0x000000ff))); } catch (Exception) { return((value.StartsWith("rgb")) ? RgbToBrush(value) : ColorStringToBrush(value)); } }
public abstract override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext);
public override bool SetField(object context, FieldInfo field, string valueString, string[] format, IScalarUnmarshallingContext scalarUnmarshallingContext) { if (valueString == null || string.IsNullOrWhiteSpace(valueString)) return true; bool result = false; object valueObject = valueScalarType.GetInstance(valueString, format, scalarUnmarshallingContext); if (valueObject != null) { Object metadataScalarContext = field.GetValue(context); if (metadataScalarContext == null) { Type t = field.FieldType; metadataScalarContext = Activator.CreateInstance(t,new object[]{valueObject}); field.SetValue(context, metadataScalarContext); } else ValueField.SetValue(metadataScalarContext, valueObject); result = true; } return result; }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return Convert.ToBoolean(value); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(StorageFile.GetFileFromPathAsync(value).GetResults()); }
public Object GetValueInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(OperativeScalarType.GetInstance(value, formatStrings, scalarUnmarshallingContext)); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(new FileInfo(value)); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return value; }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { return Type.GetType(value); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="unmarshallingContext"></param> /// <returns></returns> public abstract object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext);
/// <summary> /// Creates and returns an instance of a float type for the supplied type /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <returns>float</returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(float.Parse(value)); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(new MetadataBoolean(GetValueInstance(value, formatStrings, scalarUnmarshallingContext))); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(Convert.ToBoolean(value)); }
/// <summary> /// /// </summary> /// <param name="context"></param> /// <param name="field"></param> /// <param name="valueString"></param> /// <param name="format"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override Boolean SetField(Object context, FieldInfo field, String valueString, String[] format, IScalarUnmarshallingContext scalarUnmarshallingContext) { Boolean returnValue = false; if (valueString == null) { returnValue = true; } else { Enum referenceObject; try { referenceObject = XmlTools.CreateEnumeratedType(field, valueString); if (referenceObject != null) { field.SetValue(context, referenceObject); returnValue = true; } } catch (System.Exception e) { SetFieldError(field, valueString, e); } } return(returnValue); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { throw new NotImplementedException(); }
public Object GetValueInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return OperativeScalarType.GetInstance(value, formatStrings, scalarUnmarshallingContext); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return new MetadataDouble(GetValueInstance(value, formatStrings, scalarUnmarshallingContext)); }
public override bool SetField(object context, FieldInfo field, string valueString, string[] format, IScalarUnmarshallingContext scalarUnmarshallingContext) { if (valueString == null || string.IsNullOrWhiteSpace(valueString)) { return(true); } bool result = false; object valueObject = valueScalarType.GetInstance(valueString, format, scalarUnmarshallingContext); if (valueObject != null) { Object metadataScalarContext = field.GetValue(context); if (metadataScalarContext == null) { Type t = field.FieldType; metadataScalarContext = Activator.CreateInstance(t, new object[] { valueObject }); field.SetValue(context, metadataScalarContext); } else { ValueField.SetValue(metadataScalarContext, valueObject); } result = true; } return(result); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { throw new NotImplementedException("Cannot instantate a Field type"); }
/// <summary> /// Sets the value of the field in the context /// </summary> /// <param name="context"></param> /// <param name="field"></param> /// <param name="valueString"></param> /// <param name="format"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public virtual Boolean SetField(Object context, String valueString, String[] format, IScalarUnmarshallingContext scalarUnmarshallingContext) { return(SetField(context, default(FieldInfo), valueString, format, scalarUnmarshallingContext)); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { byte[] bytes = System.Convert.FromBase64String(value); return new MemoryStream(bytes); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="formatStrings"></param> /// <param name="scalarUnmarshallingContext"></param> /// <returns></returns> public override object GetInstance(String value, String[] formatStrings, IScalarUnmarshallingContext scalarUnmarshallingContext) { return StorageFile.GetFileFromPathAsync(value).GetResults(); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { return(Type.GetType(value)); }
public override object GetInstance(string value, string[] formatStrings, IScalarUnmarshallingContext unmarshallingContext) { byte[] bytes = System.Convert.FromBase64String(value); return(new MemoryStream(bytes)); }