Skip to content

Instantly share code, notes, and snippets.

View benweidig's full-sized avatar

Ben Weidig benweidig

View GitHub Profile
return Optional.ofNullable(buildResult())
.map(String::toUpperCase)
.orElse("n/a");
val value = doSomething() ?: "default value"
String value = Optional.ofNullable(doSomething())
.orElse("default value");
public interface Collector<T, A, R> {
// Supplier that creates a new mutable result container.
Supplier<A> supplier();
// Function that folds a value into the result container.
BiConsumer<A, T> accumulator();
// Merges two partial results.
BinaryOperator<A> combiner();
public class Joinector implements Collector<CharSequence, StringJoiner, String> {
private final CharSequence delimiter;
public Joinector(CharSequence delimiter) {
this.delimiter = delimiter;
}
@Override
public Supplier<StringJoiner> supplier() {
public static Collector<CharSequence, StringJoiner, String> joinector(CharSequence delimiter) {
return Collector.of(() -> new StringJoiner(delimiter), // supplier
StringJoiner::add, // accumulator
StringJoiner::merge, // combiner
StringJoiner::toString); // finisher
}
html {
--primary-color: #7B60F5;
--secondary-color: #F59560;
--font: sans-serif;
}
html {
--default-margin: 1rem;
}
.my-class {
margin: var(--default-margin);
}
.my-class {
--size-default: 16px;
--size-large: calc(2 * var(--size-default));
--size-small: calc(var(--size-default) - 4px);
}
:root {
--global-scope: 1rem;
}
.local-scope {
--local-scope: 0.2rem;
}
.local-scope .nested {
/* Can access global, and scope of .local-scope */