private void ApplyRule() { var path = PropertyPathString; Log.Debug("Applying rules for path: {0}", path); var rule = _propertyFormattingRulesCollection.GetEffectiveFormattingRules(path); Log.Debug(rule.ToString()); CurrentFormattingRules = rule; }
/// <summary> /// Applies all specified (non null) property values to the other /// FormattingRules instance /// </summary> /// <param name="other"></param> public void ApplySpecifiedRulesTo(FormattingRules other) { NewLineBeforeArrayStart.WhenHasValue(v => other.NewLineBeforeArrayStart = v); NewLineBeforeArrayEnd.WhenHasValue(v => other.NewLineBeforeArrayEnd = v); NewLineBeforeObjectStart.WhenHasValue(v => other.NewLineBeforeObjectStart = v); NewLineBeforeObjectEnd.WhenHasValue(v => other.NewLineBeforeObjectEnd = v); NewLineBeforeProperty.WhenHasValue(v => other.NewLineBeforeProperty = v); NewLineBeforeArrayItem.WhenHasValue(v => other.NewLineBeforeArrayItem = v); IndentSize.WhenHasValue(v => other.IndentSize = v); WhitespaceAfterProperty.WhenHasValue(v => other.WhitespaceAfterProperty = v); WhitespaceBeforeNonFirstArrayItem.WhenHasValue(v => other.WhitespaceBeforeNonFirstArrayItem = v); IncludePropertiesWithNullValues.WhenHasValue(v => other.IncludePropertiesWithNullValues = v); WhiteSpaceBeforeFirstArrayItem.WhenHasValue(v => other.WhiteSpaceBeforeFirstArrayItem = v); WhiteSpaceBeforeFirstProperty.WhenHasValue(v => other.WhiteSpaceBeforeFirstProperty = v); WhitespaceBeforeArrayEnd.WhenHasValue(v => other.WhitespaceBeforeArrayEnd = v); WhitespaceBeforeObjectEnd.WhenHasValue(v => other.WhitespaceBeforeObjectEnd = v); }
static FormattingRules() { Default = new FormattingRules { NewLineBeforeArrayStart = false, NewLineBeforeArrayEnd = true, NewLineBeforeArrayItem = true, NewLineBeforeObjectStart = false, NewLineBeforeProperty = true, NewLineBeforeObjectEnd = true, IndentSize = 2, WhitespaceAfterProperty = 1, WhitespaceBeforeNonFirstArrayItem = 1, IncludePropertiesWithNullValues = true, WhiteSpaceBeforeFirstProperty = 1, WhiteSpaceBeforeFirstArrayItem = 1, WhitespaceBeforeArrayEnd = 1, WhitespaceBeforeObjectEnd = 1 }; }
/// <summary> /// Initializes an instance if the <see cref="PropertyFormattingRules"/> Type. /// </summary> /// <param name="propertyPattern">Specifies a regular expression to determine which properties the formatting rules should be applied to</param> /// <param name="formattingRules">The formatting rules to apply when writting the JSON data</param> public PropertyFormattingRules(string propertyPattern, FormattingRules formattingRules) { this.PropertyPatternRegex = new Regex(propertyPattern); this.FormattingRules = formattingRules; this.Priority = propertyPattern.Length; }
/// <summary> /// Adds a set of formatting rules for the given property pattern /// </summary> /// <param name="propertyPattern">The property pattern</param> /// <param name="formattingRules">The formatting rules</param> public void AddPatternRule(string propertyPattern, FormattingRules formattingRules) { this.Add(new PropertyFormattingRules(propertyPattern, formattingRules)); }
/// <summary> /// Initializes an instance of the <see cref="PropertyFormattingRulesCollection"/> Type /// </summary> /// <param name="defaultFormattingRules">Specifies the default formatting rules</param> public PropertyFormattingRulesCollection(FormattingRules defaultFormattingRules) { _defaultFormattingRules = defaultFormattingRules; }