mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-05 07:16:10 +00:00
use typetokens in RegistryHolder
This commit is contained in:
@@ -2,9 +2,28 @@ package com.dfsek.terra.api.registry.meta;
|
||||
|
||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||
import com.dfsek.terra.api.registry.Registry;
|
||||
import com.dfsek.terra.api.util.TypeToken;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
public interface RegistryHolder {
|
||||
<T> Registry<T> getRegistry(Class<T> clazz);
|
||||
default <T> Registry<T> getRegistry(Class<T> clazz) {
|
||||
return getRegistry((Type) clazz);
|
||||
}
|
||||
|
||||
<T> CheckedRegistry<T> getCheckedRegistry(Class<T> clazz) throws IllegalStateException;
|
||||
default <T> Registry<T> getRegistry(TypeToken<T> type) {
|
||||
return getRegistry(type.getType());
|
||||
}
|
||||
|
||||
<T> Registry<T> getRegistry(Type type);
|
||||
|
||||
default <T> CheckedRegistry<T> getCheckedRegistry(Class<T> clazz) throws IllegalStateException {
|
||||
return getCheckedRegistry((Type) clazz);
|
||||
}
|
||||
|
||||
default <T> CheckedRegistry<T> getCheckedRegistry(TypeToken<T> type) {
|
||||
return getCheckedRegistry(type.getType());
|
||||
}
|
||||
|
||||
<T> CheckedRegistry<T> getCheckedRegistry(Type type) throws IllegalStateException;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user