public string DehydrateValue(object obj, IGraph uow) { var typeName = obj.GetType().AssemblyQualifiedName; IHasHydrationMap hasMap = obj as IHasHydrationMap; var map = hasMap.GetHydrationMap(); Condition.Requires(map).IsNotNull(); var data = map.DehydrateValue(obj, uow); return(LengthEncoder.LengthEncodeList(typeName, data)); }
public object HydrateValue(string nodeText, IGraph uow) { var list = LengthEncoder.LengthDecodeList(nodeText); Condition.Requires(list).HasLength(2); Type cType = TheTypeLocator.Instance.Locator.FindAssemblyQualifiedType(list[0]); Condition.Requires(cType).IsNotNull(); var obj = ReflectionUtil.CreateUninitializedObject(cType); IHasHydrationMap hasMap = obj as IHasHydrationMap; var map = hasMap.GetHydrationMap(); map.HydrateValue(obj, list[1], uow); return(obj); }