public abstract class SwapMeter<T extends Meter> extends Object implements Meter
AbstractRegistry
as the
basis for expiring types where a user may have a reference in their code.
This class is an internal implementation detail only intended for use within spectator. It is subject to change without notice.
Modifier and Type | Field and Description |
---|---|
protected Id |
id
Id to use when performing a lookup after expiration.
|
protected Registry |
registry
Registry used to lookup values after expiration.
|
Constructor and Description |
---|
SwapMeter(Registry registry,
LongSupplier versionSupplier,
Id id,
T underlying)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
T |
get()
Return the underlying instance of the meter.
|
boolean |
hasExpired()
Indicates whether the meter is expired.
|
Id |
id()
Identifier used to lookup this meter in the registry.
|
abstract T |
lookup()
Lookup the meter from the registry.
|
Iterable<Measurement> |
measure()
Get the set of measurements for this meter.
|
void |
set(T meter)
Set the underlying instance of the meter to use.
|
protected final Registry registry
protected final Id id
public SwapMeter(Registry registry, LongSupplier versionSupplier, Id id, T underlying)
public abstract T lookup()
public Id id()
Meter
public Iterable<Measurement> measure()
Meter
public boolean hasExpired()
Meter
hasExpired
in interface Meter
public void set(T meter)
null
to indicate that the meter has expired and is no longer in the registry.public T get()