mirror of
https://github.com/dmulloy2/ProtocolLib.git
synced 2025-02-20 06:22:18 +01:00
parent
18c2b389a4
commit
7217b11ba7
@ -75,12 +75,6 @@ final class CachedPackage {
|
|||||||
return source.loadClass(combine(packageName, className));
|
return source.loadClass(combine(packageName, className));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Class<?> requireClass(String className) throws ClassNotFoundException {
|
|
||||||
String canonicalName = combine(packageName, className);
|
|
||||||
return source.loadClass(canonicalName)
|
|
||||||
.orElseThrow(() -> new ClassNotFoundException(className));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the class object of a specific class in the current package.
|
* Retrieve the class object of a specific class in the current package.
|
||||||
*
|
*
|
||||||
@ -96,7 +90,7 @@ final class CachedPackage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (String alias : aliases) {
|
for (String alias : aliases) {
|
||||||
clazz = resolveClass(className);
|
clazz = resolveClass(alias);
|
||||||
if (clazz.isPresent()) {
|
if (clazz.isPresent()) {
|
||||||
return clazz;
|
return clazz;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
package com.comphenix.protocol.utility;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
public class CachedPackageTest {
|
||||||
|
private CachedPackage pack;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void prepare() {
|
||||||
|
ClassSource source = ClassSource.fromClassLoader();
|
||||||
|
this.pack = new CachedPackage("java.lang", source);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetPackageClass() {
|
||||||
|
Optional<Class<?>> result = pack.getPackageClass("Object");
|
||||||
|
assertTrue(result.isPresent());
|
||||||
|
assertEquals(result.get(), Object.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUsingAliases() {
|
||||||
|
Optional<Class<?>> result = pack.getPackageClass("NOT_A_CLASS", "Object");
|
||||||
|
assertTrue(result.isPresent());
|
||||||
|
assertEquals(result.get(), Object.class);
|
||||||
|
|
||||||
|
result = pack.getPackageClass("NOT_A_CLASS", "STILL_NOT_A_CLASS", "Object");
|
||||||
|
assertTrue(result.isPresent());
|
||||||
|
assertEquals(result.get(), Object.class);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user