Skip to content

BH.oM.Diffing.Diff

Represents the differences between two sets of objects.

Class structure

Implemented interfaces and base types

The Diff is inheriting from the following base type(s) and implements the following interfaces:

Properties

Defining properties

The following properties are defined on the class

Name Type Description Quantity
AddedObjects IEnumerable<object> Objects present in the second set that are not present in the first set. -
RemovedObjects IEnumerable<object> Objects not present in the second set that were present in the first set. -
ModifiedObjects IEnumerable<object> Objects that are recognised as present both in the first set and the second set, but that have some property that is different.
The rules that were used to recognise modification are in the DiffingConfig.ComparisonConfig.
-
UnchangedObjects IEnumerable<object> Objects that are recognised as the same in the first and second set. -
ModifiedObjectsDifferences IEnumerable<ObjectDifferences> - -
DiffingConfig DiffingConfig Default diffing settings for this Stream. Hashes of objects contained in this stream will be computed based on these configs. -

Code and Schema

C# implementation

C#
public class Diff : BH.oM.Base.IObject, BH.oM.Base.IImmutable

Assembly: Diffing_oM.dll

The C# class definition is available on github:

All history and changes of the class can be found by inspection the history.

JSON Schema implementation

The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.

JSON Schema
{
 "$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Diffing_oM/Diff.json"
}

The JSON Schema is available on github here: