aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/shedlang/compiler/util/Optionals.java
blob: 58c92c095c1e0564908c2bcbd59d2398979e74e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package org.shedlang.compiler.util;

import java.util.Optional;

public class Optionals {
    private Optionals() {
    }

    @SuppressWarnings("unchecked")
    public static <T, R> Optional<R> filterToType(
        Class<R> clazz,
        Optional<T> optional
    ) {
        return (Optional<R>) optional.filter(x -> clazz.isInstance(x));
    }
}