/// <summary> /// creates a new instance transformation table using a custom base table /// </summary> /// <param name="basetable">transformation table for base types</param> /// <param name="instancetypes">types to support when transforming data</param> public InstanceTransformationTable(ITransformationTable basetable, IEnumerable <Type> instancetypes) { this.basetable = basetable; foreach (Type type in instancetypes) { InstanceTransformationDescriptor descriptor = InstanceTransformationDescriptor.FromType(type); instancetransformers[descriptor.JavaType] = new InstanceConverter(descriptor); } }
/// <summary> /// creates a new xml object reader /// </summary> /// <param name="stream">stream to read data from</param> /// <param name="transformationtable">transformation table used for reduction</param> public XmlObjectReader(Stream stream, ITransformationTable transformationtable) : base(stream, new XmlDataConverter(), new StructureReducer(transformationtable)) { }
/// <summary> /// creates a new structure reducer using a custom transformation table /// </summary> /// <param name="transformationtable"></param> public StructureReducer(ITransformationTable transformationtable) { this.transformationtable = transformationtable; }