begin tectonic update process

This commit is contained in:
dfsek
2021-07-13 15:23:28 -07:00
parent 27d9716c5d
commit 0dfde174ad
22 changed files with 63 additions and 116 deletions

View File

@@ -54,6 +54,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.function.Supplier;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
@@ -204,7 +205,7 @@ public class ConfigPackImpl implements ConfigPack {
}
@Override
public <T> ConfigPackImpl applyLoader(Type type, TemplateProvider<ObjectTemplate<T>> loader) {
public <T> ConfigPackImpl applyLoader(Type type, Supplier<ObjectTemplate<T>> loader) {
abstractConfigLoader.registerLoader(type, loader);
selfLoader.registerLoader(type, loader);
return this;

View File

@@ -6,6 +6,7 @@ import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.OpenRegistry;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Type;
import java.util.Collection;
import java.util.Set;
@@ -66,7 +67,7 @@ public class CheckedRegistryImpl<T> implements CheckedRegistry<T> {
}
@Override
public T load(Type t, Object c, ConfigLoader loader) throws LoadException {
public T load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException {
return registry.load(t, c, loader);
}
}

View File

@@ -4,6 +4,7 @@ import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.terra.api.registry.Registry;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Type;
import java.util.Collection;
import java.util.Set;
@@ -53,7 +54,7 @@ public class LockedRegistryImpl<T> implements Registry<T> {
}
@Override
public T load(Type t, Object c, ConfigLoader loader) throws LoadException {
public T load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException {
return registry.load(t, c, loader);
}
}

View File

@@ -5,6 +5,7 @@ import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.terra.api.registry.OpenRegistry;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Type;
import java.util.Collection;
import java.util.HashMap;
@@ -33,10 +34,10 @@ public class OpenRegistryImpl<T> implements OpenRegistry<T> {
}
@Override
public T load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
public T load(AnnotatedType type, Object o, ConfigLoader configLoader) throws LoadException {
T obj = get((String) o);
if(obj == null)
throw new LoadException("No such " + type.getTypeName() + " matching \"" + o + "\" was found in this registry.");
throw new LoadException("No such " + type.getType().getTypeName() + " matching \"" + o + "\" was found in this registry.");
return obj;
}

View File

@@ -7,6 +7,7 @@ import com.dfsek.terra.api.registry.OpenRegistry;
import com.dfsek.terra.api.registry.meta.RegistryFactory;
import com.dfsek.terra.api.util.generic.Lazy;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Type;
import java.util.function.Function;
@@ -22,7 +23,7 @@ public class RegistryFactoryImpl implements RegistryFactory {
private final Lazy<TypeLoader<T>> loaderCache = Lazy.of(() -> loader.apply(this));
@Override
public T load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
public T load(AnnotatedType type, Object o, ConfigLoader configLoader) throws LoadException {
return loaderCache.value().load(type, o, configLoader);
}
};