PendingLoadJavaPlugin class

Пакет: com.hypixel.hytale.server.core.plugin.pending

Файл: com/hypixel/hytale/server/core/plugin/pending/PendingLoadJavaPlugin.java

extends: PendingLoadPlugin

Поля (6)

МодификаторыТипИмя
final HytaleLogger LOGGER
PluginManifest var1
Class var2
Constructor var3
Path var4
JavaPluginInit var5

Методы (2)

МодификаторыВозвратСигнатура
public void setClassLoadervoid setClassLoader(@Nonnull PluginClassLoader var1)
abstract super super(var1, var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.plugin.pending;

class="kw">import com.hypixel.hytale.common.plugin.PluginManifest;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import com.hypixel.hytale.server.core.plugin.PluginClassLoader;
class="kw">import com.hypixel.hytale.server.core.plugin.PluginManager;
class="kw">import java.lang.reflect.Constructor;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class PendingLoadJavaPlugin class="kw">extends PendingLoadPlugin {
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
   @Nonnull
   class="kw">private PluginClassLoader urlClassLoader;

   class="kw">public PendingLoadJavaPlugin(@Nullable Path var1, @Nonnull PluginManifest var2, @Nonnull PluginClassLoader var3) {
      super(var1, var2);
      this.urlClassLoader = var3;
   }

   @Nonnull
   @Override
   class="kw">public PendingLoadPlugin createSubPendingLoadPlugin(@Nonnull PluginManifest var1) {
      class="kw">return new PendingLoadJavaPlugin(this.getPath(), var1, this.urlClassLoader);
   }

   @Override
   class="kw">public boolean isCoreMod() {
      class="kw">return this.urlClassLoader.isInServerClassPath();
   }

   @Nonnull
   class="kw">public PluginClassLoader getClassLoader() {
      class="kw">return this.urlClassLoader;
   }

   class="kw">public void setClassLoader(@Nonnull PluginClassLoader var1) {
      this.urlClassLoader = var1;
   }

   @Nonnull
   class="kw">public JavaPlugin load() class="kw">throws Exception {
      PluginManifest var1 = this.getManifest();
      Class var2 = this.urlClassLoader.loadLocalClass(var1.getMain());
      if (JavaPlugin.class.isAssignableFrom(var2)) {
         Constructor var3 = var2.getConstructor(JavaPluginInit.class);
         Path var4 = PluginManager.MODS_PATH.resolve(var1.getGroup() + "_" + var1.getName());
         JavaPluginInit var5 = new JavaPluginInit(var1, var4, this.getPath(), this.urlClassLoader);
         class="kw">return (JavaPlugin)var3.newInstance(var5);
      } else {
         throw new ClassCastException(var1.getMain() + " does not extend JavaPlugin");
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "PendingLoadJavaPlugin{" + super.toString() + "}";
   }
}