Package com.tnsai.llm.fallback
Record Class LLMFallbackRule
java.lang.Object
java.lang.Record
com.tnsai.llm.fallback.LLMFallbackRule
- Record Components:
target- LLM to try when the condition matches; never nullcondition- the gate; never nullcooldown- optional per-target cooldown after a failure; empty = no cooldown
public record LLMFallbackRule(com.tnsai.llm.LLMClient target, FallbackCondition condition, Optional<Duration> cooldown)
extends Record
One entry in an
LLMFallbackChain: a target LLMClient
to try, the FallbackCondition that gates it, and an optional
cooldown window (issue #89).
When a chain hits a primary failure, rules are evaluated in registration order; the first rule whose condition matches and whose target is not currently in cooldown wins. After a target itself fails, the framework starts a cooldown timer scoped to that target — subsequent attempts within the window skip it and move to the next matching rule.
- Since:
- 0.5.0 (issue #89)
-
Constructor Summary
ConstructorsConstructorDescriptionLLMFallbackRule(com.tnsai.llm.LLMClient target, FallbackCondition condition) LLMFallbackRule(com.tnsai.llm.LLMClient target, FallbackCondition condition, Duration cooldown) LLMFallbackRule(com.tnsai.llm.LLMClient target, FallbackCondition condition, Optional<Duration> cooldown) Creates an instance of aLLMFallbackRulerecord class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theconditionrecord component.cooldown()Returns the value of thecooldownrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.com.tnsai.llm.LLMClienttarget()Returns the value of thetargetrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
LLMFallbackRule
public LLMFallbackRule(com.tnsai.llm.LLMClient target, FallbackCondition condition, Optional<Duration> cooldown) Creates an instance of aLLMFallbackRulerecord class. -
LLMFallbackRule
-
LLMFallbackRule
public LLMFallbackRule(com.tnsai.llm.LLMClient target, FallbackCondition condition, Duration cooldown)
-
-
Method Details
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
target
public com.tnsai.llm.LLMClient target()Returns the value of thetargetrecord component.- Returns:
- the value of the
targetrecord component
-
condition
Returns the value of theconditionrecord component.- Returns:
- the value of the
conditionrecord component
-
cooldown
Returns the value of thecooldownrecord component.- Returns:
- the value of the
cooldownrecord component
-