aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/ObjectHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/ObjectHolder.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ObjectHolder.java37
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