Package com.tnsai.coordination.resources
Record Class BudgetAllocation.Budget
java.lang.Object
java.lang.Record
com.tnsai.coordination.resources.BudgetAllocation.Budget
- Record Components:
name- the budget nameallocated- total amount allocatedconsumed- amount consumed so farunit- the unit of measurement (e.g., "tokens", "calls", "seconds")
- Enclosing class:
BudgetAllocation
public static record BudgetAllocation.Budget(String name, double allocated, double consumed, String unit)
extends Record
A named resource budget.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleReturns the value of theallocatedrecord component.doubleconsumed()Returns the value of theconsumedrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.booleanChecks if this budget is fully consumed.name()Returns the value of thenamerecord component.doubleReturns the remaining amount in this budget.final StringtoString()Returns a string representation of this record class.unit()Returns the value of theunitrecord component.doubleReturns the utilization percentage (0-100).
-
Constructor Details
-
Budget
Creates a Budget with validation.
-
-
Method Details
-
remaining
public double remaining()Returns the remaining amount in this budget.- Returns:
- remaining = allocated - consumed
-
utilizationPercent
public double utilizationPercent()Returns the utilization percentage (0-100).- Returns:
- utilization as a percentage
-
isExhausted
public boolean isExhausted()Checks if this budget is fully consumed.- Returns:
- true if consumed >= allocated
-
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. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
name
Returns the value of thenamerecord component.- Returns:
- the value of the
namerecord component
-
allocated
public double allocated()Returns the value of theallocatedrecord component.- Returns:
- the value of the
allocatedrecord component
-
consumed
public double consumed()Returns the value of theconsumedrecord component.- Returns:
- the value of the
consumedrecord component
-
unit
Returns the value of theunitrecord component.- Returns:
- the value of the
unitrecord component
-