]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/TypeHelper.java
Stop set modification errors
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / common / TypeHelper.java
1 package com.irtimaled.bbor.common;
2
3 import java.util.function.Consumer;
4 import java.util.function.Supplier;
5
6 public class TypeHelper {
7     public static <T> T as(Object value, Class<T> clazz) {
8         return clazz.isInstance(value) ? (T) value : null;
9     }
10
11     public static <T> T as(Object value, Class<T> clazz, Supplier<T> defaultValueFunc) {
12         return clazz.isInstance(value) ? (T) value : defaultValueFunc.get();
13     }
14
15     public static <T> void doIfType(Object value, Class<T> clazz, Consumer<T> consumer) {
16         T typedValue = as(value, clazz);
17         if(typedValue == null) return;
18         consumer.accept(typedValue);
19     }
20 }