41 lines
2 KiB
Java
41 lines
2 KiB
Java
package ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒼᒻᣔᙆᙆ;
|
||
|
||
import java.lang.annotation.Annotation;
|
||
import java.util.LinkedHashSet;
|
||
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.BãßBȍőnʸᴰ;
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.DefaultBȍőnLoader;
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒼᒻᣔᙆᙆ.ᣖᑊᣗᣔᐪᓫ.BãßBȍőnPiratePhase注;
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒼᒻᣔᙆᙆ.ᣖᑊᣗᣔᐪᓫ.BãßBȍőnPirateʸᴰ;
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒼᒻᣔᙆᙆ.ᣖᑊᣗᣔᐪᓫ.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒼᒻᣔᙆᙆ.ᣖᑊᣗᣔᐪᓫ.BãßBȍőnꝐŕḯṿª₮ḕ響ᴼᶠ;
|
||
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWire注;
|
||
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
|
||
|
||
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||
public interface BãßBȍőnAnnotationʸᴰ<T extends BãßBȍőnʸᴰ<T>> extends BãßBȍőnʸᴰ<T> {
|
||
|
||
@BãßBȍőnPiratePhase注(dependencies = {BãßBȍőnPirateʸᴰ.βrahmanBoonLaw.class})
|
||
public static final class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||
|
||
@BãßBȍőnSpiderWire注
|
||
private BãßBȍőnAnnotationʸᴰ<?> boon;
|
||
|
||
@Override
|
||
public BãßBȍőnꝐŕḯṿª₮ḕ響ᴼᶠ.Void init() {
|
||
for (Class<?> interfaceClass:DefaultBȍőnLoader.walkInterfaces(boon.getClass(), new LinkedHashSet<>())) {
|
||
BãßBȍőnAnnotation注 anno = interfaceClass.getAnnotation(BãßBȍőnAnnotation注.class);
|
||
if (anno == null) {
|
||
continue;
|
||
}
|
||
for (Class<? extends Annotation> required:anno.required()) {
|
||
if (!boon.getClass().isAnnotationPresent(required)) {
|
||
throw new IllegalStateException("Missing required annotation: "+required.getSimpleName()+" on: "+boon.getClass().getSimpleName());
|
||
}
|
||
}
|
||
}
|
||
return BãßBȍőnꝐŕḯṿª₮ḕ響ᴼᶠ.Void.實施;
|
||
}
|
||
}
|
||
}
|