[#BloombergLP-ball-AttributeContext-determineThresholdLevels]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/AttributeContext.adoc[AttributeContext]::determineThresholdLevels
:relfileprefix: ../../../
:mrdocs:

Populate the specified `levels` with the threshold levels for the specified `category`&period; This method compares the threshold levels defined by `category` with those of any active rules that apply to that category, and determines the minimum severity (i&period;e&period;, the maximum numerical value) for each respective threshold amongst those values&period; A rule applies to `category` if the rule&apos;s pattern matches `category&hyphen;&gt;categoryName()`, and a rule is active if all the attributes defined for that rule are satisfied by the current thread&apos;s attributes (i&period;e&period;, `Rule&colon;&colon;evaluate` returns `true` for the collection of attributes maintained by this object)&period; This method operates on the set of rules maintained by the category manager supplied to the `initialize` class method (which, in practice, should be the global set of rules for the process)&period; The behavior is undefined unless `initialize` has previously been invoked without a subsequent call to `reset`, and `category` is contained in the registry maintained by the category manager supplied to `initialize`&period;

== Synopsis

Declared in `&lt;ball&lowbar;attributecontext&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void
determineThresholdLevels(
    xref:BloombergLP/ball/ThresholdAggregate.adoc[ThresholdAggregate]* levels,
    xref:BloombergLP/ball/Category.adoc[Category] const* category) const;
----


[.small]#Created with https://www.mrdocs.com[MrDocs]#
