public final class Utils extends Object
Modifier and Type | Method and Description |
---|---|
static <K,V> V |
computeIfAbsent(ConcurrentMap<K,V> map,
K k,
Function<K,V> f)
This method should be used instead of the
ConcurrentMap.computeIfAbsent(Object, Function) call to minimize
thread contention. |
static Iterable<Measurement> |
filter(Iterable<Measurement> ms,
Predicate<Measurement> p)
Returns a new iterable restricted to measurements that match the predicate.
|
static Iterable<Measurement> |
filter(Iterable<Measurement> ms,
String k,
String v)
Returns a new iterable restricted to measurements that match the predicate.
|
static Iterable<Measurement> |
filter(Iterable<Measurement> ms,
Tag t)
Returns a new iterable restricted to measurements that match the predicate.
|
static Measurement |
first(Iterable<Measurement> ms,
Predicate<Measurement> p)
Returns the first measurement that matches the predicate.
|
static Measurement |
first(Iterable<Measurement> ms,
String k,
String v)
Returns the first measurement with a given tag value.
|
static Measurement |
first(Iterable<Measurement> ms,
Tag t)
Returns the first measurement with a given tag value.
|
static String |
getTagValue(Id id,
String k)
Returns the value associated with with a given key or null if no such key is present in the
set of tags.
|
static String |
getTagValue(Iterable<Tag> tags,
String k)
Returns the value associated with with a given key or null if no such key is present in the
set of tags.
|
static <T> T |
getValue(Iterable<T> values,
int pos)
Return the value at a given position in the iterable.
|
static Id |
normalize(Id id)
Returns a new id with the tag list sorted by key and with no duplicate keys.
|
static void |
propagateTypeError(Registry registry,
Id id,
Class<?> desiredClass,
Class<?> actualClass)
Propagate a type error exception.
|
static <T> int |
size(Iterable<T> iter)
Returns the size of an iterable.
|
static <T> List<T> |
toList(Iterable<T> iter)
Returns a list with a copy of the data from the iterable.
|
static <T> List<T> |
toList(Iterator<T> iter)
Returns a list with the data from the iterator.
|
public static Id normalize(Id id)
public static String getTagValue(Id id, String k)
id
- Identifier with a set of tags to search.k
- Key to search for.public static String getTagValue(Iterable<Tag> tags, String k)
tags
- Set of tags to search.k
- Key to search for.public static <T> T getValue(Iterable<T> values, int pos)
values
- A collection of values. For deterministic behavior the iteration order of the
container type must be consistent each time.pos
- Position of the value to extract.public static Measurement first(Iterable<Measurement> ms, Tag t)
ms
- A set of measurements.t
- The key and value to search for.public static Measurement first(Iterable<Measurement> ms, String k, String v)
ms
- A set of measurements.k
- Key to search for.v
- Value that should be associated with k on the ids.public static Measurement first(Iterable<Measurement> ms, Predicate<Measurement> p)
ms
- A set of measurements.p
- Predicate to use for selecting values.public static Iterable<Measurement> filter(Iterable<Measurement> ms, Tag t)
ms
- A set of measurements.t
- The key and value to search for.public static Iterable<Measurement> filter(Iterable<Measurement> ms, String k, String v)
ms
- A set of measurements.k
- Key to search for.v
- Value that should be associated with k on the ids.public static Iterable<Measurement> filter(Iterable<Measurement> ms, Predicate<Measurement> p)
ms
- A set of measurements.p
- Predicate to use for selecting values.public static <T> List<T> toList(Iterable<T> iter)
public static <T> List<T> toList(Iterator<T> iter)
public static <T> int size(Iterable<T> iter)
public static <K,V> V computeIfAbsent(ConcurrentMap<K,V> map, K k, Function<K,V> f)
ConcurrentMap.computeIfAbsent(Object, Function)
call to minimize
thread contention. This method does not require locking for the common case
where the key exists, but potentially performs additional computation when
absent.