java.lang.Object
com.github.cowwoc.tokenbucket.internal.AbstractContainer
com.github.cowwoc.tokenbucket.ContainerList
- All Implemented Interfaces:
Container
public final class ContainerList
extends com.github.cowwoc.tokenbucket.internal.AbstractContainer
A container of one or more children containers.
For example, this allows to consume tokens from a list of buckets.
Thread safety: This class is thread-safe.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Builds a ContainerList.final class
Updates this ContainerList's configuration. -
Method Summary
Modifier and TypeMethodDescriptionstatic ContainerList.Builder
builder()
Builds a bucket that contains children buckets.int
size()
Returns the number of children in this list.toString()
Updates this list's configuration.Methods inherited from class com.github.cowwoc.tokenbucket.internal.AbstractContainer
consume, consume, consume, getChildren, getListeners, getUserData, tryConsume, tryConsume, tryConsume, tryConsume, tryConsume
-
Method Details
-
builder
Builds a bucket that contains children buckets.By default, the list will delegate to the first child that has sufficient number of tokens available.
- Returns:
- a new ContainerList builder
-
size
public int size()Returns the number of children in this list. If this list contains more thanInteger.MAX_VALUE
children, returnsInteger.MAX_VALUE
.- Returns:
- the number of children in this list
-
toString
-
updateConfiguration
Updates this list's configuration.The
ContainerList
will be locked untilContainerList.ConfigurationUpdater.close()
is invoked.- Returns:
- the configuration updater
-