diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/ObjectHolder.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/api/ObjectHolder.java | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ObjectHolder.java b/src/main/java/me/shedaniel/rei/api/ObjectHolder.java index d3b6189b1..bf1dd3b5d 100644 --- a/src/main/java/me/shedaniel/rei/api/ObjectHolder.java +++ b/src/main/java/me/shedaniel/rei/api/ObjectHolder.java @@ -5,18 +5,43 @@ package me.shedaniel.rei.api; +import me.shedaniel.rei.impl.ObjectHolderImpl; + public interface ObjectHolder<T> { - int intValue(); + @SuppressWarnings("deprecation") + static <T> ObjectHolder<T> of(T o) { + return new ObjectHolderImpl<>(o); + } + + @Deprecated + default int intValue() { + return (int) (Object) value(); + } - long longValue(); + @Deprecated + default long longValue() { + return (long) (Object) value(); + } - boolean booleanValue(); + @Deprecated + default boolean booleanValue() { + return (boolean) (Object) value(); + } - float floatValue(); + @Deprecated + default float floatValue() { + return (float) (Object) value(); + } - double doubleValue(); + @Deprecated + default double doubleValue() { + return (double) (Object) value(); + } - String stringValue(); + @Deprecated + default String stringValue() { + return (String) value(); + } T value(); }
\ No newline at end of file |
