Package net.minestom.server.extras.selfmodification

# Class MinestomExtensionClassLoader

java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
net.minestom.server.extras.selfmodification.HierarchyClassLoader
net.minestom.server.extras.selfmodification.MinestomExtensionClassLoader

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class MinestomExtensionClassLoader extends HierarchyClassLoader

## Field Summary

### Fields inherited from class net.minestom.server.extras.selfmodification.HierarchyClassLoader

`children, parents`

## Constructor Summary

Constructors
Constructor
Description
`MinestomExtensionClassLoader(String name, URL[] urls, MinestomRootClassLoader root)`

## Method Summary

Modifier and Type
Method
Description
`void`
`addURL(URL url)`
`void`
`close()`
`protected void`
`finalize()`
Deprecated.
`String`
`getName()`
`@NotNull Class<?>`
`loadClass(@NotNull String name)`
`protected @NotNull Class<?>`
`loadClass(@NotNull String name, boolean resolve)`
`@NotNull Class<?>`
`loadClassAsChild(String name, boolean resolve)`
Assumes the name is not null, nor it does represent a protected class.
`String`
`toString()`

### Methods inherited from class net.minestom.server.extras.selfmodification.HierarchyClassLoader

`addChild, findLibrary, getResourceAsStreamWithChildren, getResourceAsURLWithChildren, removeChildInHierarchy`

### Methods inherited from class java.net.URLClassLoader

`definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance`

### Methods inherited from class java.security.SecureClassLoader

`defineClass, defineClass`

### Methods inherited from class java.lang.ClassLoader

`clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### MinestomExtensionClassLoader

public MinestomExtensionClassLoader(String name, URL[] urls, MinestomRootClassLoader root)

## Method Details

### addURL

public void addURL(URL url)

Overrides:
  `addURL` in class `URLClassLoader`

### close

public void close() throws IOException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Overrides:
  `close` in class `URLClassLoader`
Throws:
  `IOException`

### loadClass

@NotNull public @NotNull Class<?> loadClass(@NotNull @NotNull String name) throws ClassNotFoundException

Overrides:
  `loadClass` in class `ClassLoader`
Throws:
  `ClassNotFoundException`

### loadClass

@NotNull protected @NotNull Class<?> loadClass(@NotNull @NotNull String name, boolean resolve) throws ClassNotFoundException

Overrides:
  `loadClass` in class `ClassLoader`
Throws:
  `ClassNotFoundException`

### loadClassAsChild

@NotNull public @NotNull Class<?> loadClassAsChild(String name, boolean resolve) throws ClassNotFoundException
Assumes the name is not null, nor it does represent a protected class.

Parameters:
  `name` -
Returns:
  The loaded class
Throws:
  `ClassNotFoundException` - if the class is not found inside this classloader

### finalize

@Deprecated @ScheduledForRemoval protected void finalize() throws Throwable
Deprecated.

Overrides:
  `finalize` in class `Object`
Throws:
  `Throwable`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getName

public String getName()

Overrides:
  `getName` in class `ClassLoader`