API Reference
ObjectFlattenerOptions
Configuration for flattening objects into key/value pairs where keys represent dotted paths.
Inheritance
- Object
- ObjectFlattenerOptions
Constructors
public ObjectFlattenerOptions() #Methods
public ObjectFlattenerOptions Exclude(params String[] properties) #ObjectFlattenerOptionsAppends to ExcludeProperties while preserving uniqueness.
Parameters
- properties System.String[]
public ObjectFlattenerOptions Include(params String[] properties) #ObjectFlattenerOptionsAppends to IncludeProperties while preserving uniqueness.
Parameters
- properties System.String[]
public ObjectFlattenerOptions Order(String[] pinFirst = null, String[] priority = null, String[] pinLast = null) #ObjectFlattenerOptionsOne-call convenience: set pin-first, priority order, and pin-last. Any argument may be null; order is applied as PinFirst then PriorityOrder then PinLast.
Parameters
- pinFirst System.String[] = null
- priority System.String[] = null
- pinLast System.String[] = null
public ObjectFlattenerOptions PinFirst(params String[] paths) #ObjectFlattenerOptionsAdds or appends to PinnedFirst while preserving order and uniqueness.
Parameters
- paths System.String[]
public ObjectFlattenerOptions PinLast(params String[] paths) #ObjectFlattenerOptionsAdds or appends to PinnedLast while preserving order and uniqueness.
Parameters
- paths System.String[]
public ObjectFlattenerOptions PriorityOrder(params String[] paths) #ObjectFlattenerOptionsSets priority order 1..N for the provided paths (full path or property name).
Parameters
- paths System.String[]
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public List<String> ExpandProperties { get; } #Property names or dotted paths to expand (descend into) rather than treat as simple values.
public Boolean IncludeFullObjects { get; set; } #When true, includes the original object under its path in addition to expanded fields.
public Int32 MaxDepth { get; set; } #Maximum recursion depth when expanding nested objects.
public HeaderCase HeaderCase { get; set; } #Header casing strategy for generated column names.
public String[] HeaderPrefixTrimPaths { get; set; } #Optional prefixes to trim from generated headers.
public String[] Columns { get; set; } #Optional explicit column whitelist (dotted paths).
public String[] Ignore { get; set; } #Paths to exclude from output.
public String[] IncludeProperties { get; set; } #Optional convenience include list using property names or dotted paths. When specified, only matching columns are kept. A match occurs when the full dotted path matches or the last segment matches.
public String[] ExcludeProperties { get; set; } #Optional convenience exclude list using property names or dotted paths. A match occurs when the full dotted path matches or the last segment matches. This augments Ignore.
public String[] PinnedFirst { get; set; } #Optional list of dotted paths to pin to the front of the generated column order when Columns is not specified.
public String[] PinnedLast { get; set; } #Optional list of dotted paths to pin to the end of the generated column order.
public Dictionary<String, Int32> PropertyPriority { get; } #Optional per-column priority ordering. Lower numbers appear earlier. Keys can be dotted paths or property names.
public NullPolicy NullPolicy { get; set; } #How null values are represented.
public Dictionary<String, Object> DefaultValues { get; } #Per-path default values used when DefaultValue is selected.
public Dictionary<String, Func<Object, Object>> Formatters { get; } #Per-path formatting delegates applied to values.
public CollectionMode CollectionMode { get; set; } #How to handle collections.
public String CollectionJoinWith { get; set; } #Delimiter used when JoinWith is selected.
public Dictionary<String, CollectionColumnMapping> CollectionMapColumns { get; } #Maps collection paths (e.g., "ScoreBreakdown") to dynamic columns using element properties. Example: map path "ScoreBreakdown" with KeyProperty="Name", ValueProperty="Value" to produce columns like "ScoreBreakdown.HasMX".