dynamic phase barriers
This commit is contained in:
parent
4a140b3459
commit
645cce1d13
|
@ -27,7 +27,7 @@ public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer
|
|||
getContours().registrateContour(DeskAppContourSection.MAIN, this);
|
||||
|
||||
String[] walletDataExample = {
|
||||
"יהוה","יְסוֺד","ה","מ","מָ","ח","חֱ","חֱמָא",
|
||||
"יהוה","יְסוֺד","שְׁלֹמֹה","ה","מ","מָ","ח","חֱ","חֱמָא",
|
||||
"א","בד","ב","ד","ץףן",
|
||||
"הזפץ","מספר","צצצצ","ץאאא","ץאא","דואר"
|
||||
};
|
||||
|
|
|
@ -8,6 +8,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface BãßBȍőn<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> {
|
||||
|
@ -26,7 +27,7 @@ public interface BãßBȍőn<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> {
|
|||
if (!(coffin instanceof BãßBȍőnCoffinOpenʸᴰ)) {
|
||||
return; // already closed
|
||||
}
|
||||
Lock graveDigger = Ꝑŕḯṿª₮ḕ.FUNERAL.writeLock();
|
||||
Lock graveDigger = FUNERAL.writeLock();
|
||||
graveDigger.lock();
|
||||
try {
|
||||
GRAVE_YARD.remove(boon.toBBCHeadStoneʸᴰ());
|
||||
|
@ -35,6 +36,18 @@ public interface BãßBȍőn<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> {
|
|||
graveDigger.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
//TODO
|
||||
// public static <T> T 豆ᴺᴱᵂ(Class<T> seedling) {
|
||||
// try {
|
||||
// T boon = seedling.getConstructor().newInstance();
|
||||
// BãßBȍőnLoad殭屍.CAST_BONE_MAGIC(boon);
|
||||
// return boon;
|
||||
// } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
|
||||
// | InvocationTargetException | NoSuchMethodException | SecurityException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface BãßBȍőnCoffinOpenʸᴰ<T extends BãßBȍőnCoffinStoreKeyʸᴰ> extends BãßBȍőnCoffinʸᴰ<T> {
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface BãßBȍőnCoffinʸᴰ<T extends BãßBȍőnCoffinStoreKeyʸᴰ> {
|
||||
|
|
|
@ -26,4 +26,6 @@ public class BãßBȍőnConstantsʸᴰ {
|
|||
public static final int INT_ZERO = 0;
|
||||
|
||||
public static final int INT_ONE = 1;
|
||||
|
||||
public static final int INT_TEN = 10;
|
||||
}
|
||||
|
|
|
@ -3,12 +3,18 @@ package love.distributedrebirth.bassboonyd;
|
|||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnSpiderʸᴰ.SpiderSilk;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕPhase注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public final class BãßBȍőnLoad殭屍 {
|
||||
|
@ -23,9 +29,7 @@ public final class BãßBȍőnLoad殭屍 {
|
|||
for (Consumer<BãßBȍőnCoffinOpenʸᴰ<K>> embalmFactory:coffinFillers) {
|
||||
embalmFactory.accept(bbc);
|
||||
}
|
||||
for (BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ phase:BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.values()) {
|
||||
initPrivate(phase, boon);
|
||||
}
|
||||
initPrivate(boon);
|
||||
initSpiderEggs(boon);
|
||||
initSpiderWires(boon);
|
||||
} catch (Exception e) {
|
||||
|
@ -79,42 +83,97 @@ public final class BãßBȍőnLoad殭屍 {
|
|||
}
|
||||
}
|
||||
|
||||
private static <T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> void initPrivate(BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ phase, BãßBȍőn<T,K> boon) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
for (Class<?> interfaceClass:walkInterfaces(boon.getClass(), new LinkedHashSet<>())) {
|
||||
for (Class<?> declaredClass:((Class<?>) interfaceClass).getDeclaredClasses()) {
|
||||
initPrivateInvoke(phase, boon, declaredClass);
|
||||
}
|
||||
}
|
||||
for (Class<?> declaredClass:boon.getClass().getDeclaredClasses()) {
|
||||
initPrivateInvoke(phase, boon, declaredClass);
|
||||
private static class InitPhase {
|
||||
private Class<?> privateClass;
|
||||
private Method initMethod;
|
||||
|
||||
private InitPhase(Class<?> privateClass, Method initMethod) {
|
||||
this.privateClass = privateClass;
|
||||
this.initMethod = initMethod;
|
||||
}
|
||||
}
|
||||
|
||||
private static <T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> void initPrivateInvoke(BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ phase, BãßBȍőn<T,K> boon, Class<?> declaredClass) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
if (!BãßBȍőnꝐŕḯṿª₮ḕ.class.isAssignableFrom(declaredClass)) {
|
||||
return;
|
||||
private static <T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> void initPrivate(BãßBȍőn<T,K> boon) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
|
||||
//System.out.println("INIT "+boon.getClass().getName());
|
||||
List<InitPhase> boonInits = new ArrayList<>();
|
||||
List<InitPhase> serviceInits = new ArrayList<>();
|
||||
walkPrivate(boon, v -> {
|
||||
//System.out.println("INIT.SCAN "+v.getName());
|
||||
BãßBȍőnꝐŕḯṿª₮ḕPhase注 anno = v.getAnnotation(BãßBȍőnꝐŕḯṿª₮ḕPhase注.class);
|
||||
for (Method m:v.getDeclaredMethods()) {
|
||||
if (m.isAnnotationPresent(BãßBȍőnꝐŕḯṿª₮ḕInit注.class)) {
|
||||
if (anno != null) {
|
||||
boonInits.add(new InitPhase(v, m));
|
||||
} else {
|
||||
serviceInits.add(new InitPhase(v, m));
|
||||
}
|
||||
//System.out.println("INIT.ADD "+v.getName()+"."+m.getName());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
boonInits.sort(new Comparator<InitPhase>() {
|
||||
@Override
|
||||
public int compare(InitPhase p0, InitPhase p1) {
|
||||
BãßBȍőnꝐŕḯṿª₮ḕPhase注 anno0 = p0.privateClass.getAnnotation(BãßBȍőnꝐŕḯṿª₮ḕPhase注.class);
|
||||
BãßBȍőnꝐŕḯṿª₮ḕPhase注 anno1 = p1.privateClass.getAnnotation(BãßBȍőnꝐŕḯṿª₮ḕPhase注.class);
|
||||
return Integer.compare(anno0.order(), anno1.order());
|
||||
}
|
||||
});
|
||||
|
||||
List<InitPhase> orderedInits = new ArrayList<>();
|
||||
for (InitPhase startupPhase:boonInits) {
|
||||
orderedInits.add(startupPhase);
|
||||
for (InitPhase v:new ArrayList<>(serviceInits)) {
|
||||
int deps = 0;
|
||||
BãßBȍőnꝐŕḯṿª₮ḕInit注 anno = v.initMethod.getAnnotation(BãßBȍőnꝐŕḯṿª₮ḕInit注.class);
|
||||
for (Class<?> clazz:anno.dependencies()) {
|
||||
for (InitPhase doneInit:orderedInits) {
|
||||
if (clazz.equals(doneInit.privateClass)) {
|
||||
deps++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (deps == anno.dependencies().length) {
|
||||
orderedInits.add(v);
|
||||
serviceInits.remove(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (Method m:declaredClass.getDeclaredMethods()) {
|
||||
if (!m.isAnnotationPresent(BãßBȍőnꝐŕḯṿª₮ḕInit注.class)) {
|
||||
continue;
|
||||
}
|
||||
BãßBȍőnꝐŕḯṿª₮ḕInit注 anno = m.getAnnotation(BãßBȍőnꝐŕḯṿª₮ḕInit注.class);
|
||||
if (phase != anno.phase()) {
|
||||
continue; // TODO: redo to fast code path
|
||||
}
|
||||
//System.out.println("annoInvoke: req="+phase+" of "+boon.getClass().getSimpleName()+"."+boon+" from: "+declaredClass.getName());
|
||||
|
||||
orderedInits.addAll(serviceInits); // left over ?
|
||||
|
||||
for (InitPhase v:orderedInits) {
|
||||
Method m = v.initMethod;
|
||||
//System.out.println("INIT.RUN "+v.privateClass.getName()+"."+m.getName());
|
||||
m.setAccessible(true);
|
||||
Class<?>[] para = m.getParameterTypes();
|
||||
if (para.length == 0) {
|
||||
m.invoke(null);
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
if (para.length == 1 && BãßBȍőn.class.isAssignableFrom(para[0])) {
|
||||
m.invoke(null, boon);
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
throw new IllegalStateException("Unknown method parameters on: "+declaredClass.getSimpleName()+"."+m.toGenericString());
|
||||
throw new IllegalStateException("Unknown method parameters on: "+v.privateClass.getSimpleName()+"."+m.toGenericString());
|
||||
}
|
||||
}
|
||||
|
||||
private static <T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> void walkPrivate(BãßBȍőn<T,K> boon, Consumer<Class<?>> runPrivate) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
for (Class<?> interfaceClass:walkInterfaces(boon.getClass(), new LinkedHashSet<>())) {
|
||||
for (Class<?> declaredClass:interfaceClass.getDeclaredClasses()) {
|
||||
if (!BãßBȍőnꝐŕḯṿª₮ḕ.class.isAssignableFrom(declaredClass)) {
|
||||
continue;
|
||||
}
|
||||
runPrivate.accept(declaredClass);
|
||||
}
|
||||
}
|
||||
for (Class<?> declaredClass:boon.getClass().getDeclaredClasses()) {
|
||||
if (!BãßBȍőnꝐŕḯṿª₮ḕ.class.isAssignableFrom(declaredClass)) {
|
||||
continue;
|
||||
}
|
||||
runPrivate.accept(declaredClass);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
package love.distributedrebirth.bassboonyd;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnName注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕPhase注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnName注(purpose = "phase barriers are just scanned markers thus extensible by injection of an order number")
|
||||
public interface BãßBȍőnPhaseBarrierʸᴰ<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> extends BãßBȍőn<T, K> {
|
||||
|
||||
public static class שְׁלֹמֹה {
|
||||
// default internal framework boon phases
|
||||
protected static final int BOON_VOID = BãßBȍőnConstantsʸᴰ.INT_ZERO;
|
||||
protected static final int BOON_BERESHIT = BOON_VOID + BãßBȍőnConstantsʸᴰ.INT_ONE;
|
||||
protected static final int BOON_LAW = BOON_BERESHIT * BãßBȍőnConstantsʸᴰ.INT_TEN;
|
||||
protected static final int BOON_MARRIAGE = BOON_LAW + BãßBȍőnConstantsʸᴰ.INT_ONE;
|
||||
// default external implementation boon phases
|
||||
protected static final int LIFE_QUADRANT_仙 = 00+00+00+1+2+3+4+5+6+7+8+9;
|
||||
protected static final int LIFE_QUADRANT_上 = 10+11+12+13+14+15+16+17+18;
|
||||
protected static final int LIFE_QUADRANT_主 = 19+20+21+22+23+24+25+26+27;
|
||||
protected static final int LIFE_QUADRANT_天 = 28+29+30+31+32+33+34+35+36;
|
||||
protected static final int LIFE_INIT = LIFE_QUADRANT_仙 + LIFE_QUADRANT_上 + LIFE_QUADRANT_主 + LIFE_QUADRANT_天;
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.BOON_VOID)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseBoonVoid implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.BOON_BERESHIT)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseBoonBereshit implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.BOON_LAW)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseBoonLaw implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.BOON_MARRIAGE)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseBoonMarriage implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.LIFE_QUADRANT_仙)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseLifeQuadrant仙 implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.LIFE_QUADRANT_上)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseLifeQuadrant上 implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.LIFE_QUADRANT_主)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseLifeQuadrant主 implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.LIFE_QUADRANT_天)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseLifeQuadrant天 implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.LIFE_INIT)
|
||||
public static class Ꝑŕḯṿª₮ḕPhaseLifeInit implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {})
|
||||
private static void initPhase(BãßBȍőn<?,?> boon) {
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
package love.distributedrebirth.bassboonyd;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public enum BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ {
|
||||
|
||||
BOON_PRE_BOOT,
|
||||
BOON_PRE_SERVICE,
|
||||
SERVICE_PRE,
|
||||
SERVICE,
|
||||
SERVICE_POST,
|
||||
BOON_POST_SERVICE,
|
||||
BOON_POST_DONE,
|
||||
}
|
|
@ -7,8 +7,10 @@ import love.distributedrebirth.bassboonyd.info.BãßBȍőnPackageʸᴰ;
|
|||
|
||||
public interface DefaultBãßBȍőn<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> extends
|
||||
BãßBȍőn<T,K>,
|
||||
BãßBȍőnPhaseBarrierʸᴰ<T,K>,
|
||||
BãßBȍőnNameʸᴰ<T,K>,
|
||||
BãßBȍőnAuthorʸᴰ<T,K>,
|
||||
BãßBȍőnPackageʸᴰ<T,K>,
|
||||
BãßBȍőnAnnotationʸᴰ<T,K> {
|
||||
BãßBȍőnAnnotationʸᴰ<T,K>
|
||||
{
|
||||
}
|
||||
|
|
|
@ -8,6 +8,8 @@ import java.util.function.Function;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface DefaultEnumSetʸᴰ<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> extends DefaultEnumBaseʸᴰ<T,K> {
|
||||
|
|
|
@ -6,16 +6,16 @@ import java.util.LinkedHashSet;
|
|||
import love.distributedrebirth.bassboonyd.BãßBȍőn;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnLoad殭屍;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface BãßBȍőnAnnotationʸᴰ<T, K extends BãßBȍőnCoffinStoreKeyʸᴰ> extends BãßBȍőn<T, K> {
|
||||
|
||||
public static class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_BOOT)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonLaw.class})
|
||||
private static void init(BãßBȍőn<?,?> boon) {
|
||||
for (Class<?> interfaceClass:BãßBȍőnLoad殭屍.walkInterfaces(boon.getClass(), new LinkedHashSet<>())) {
|
||||
BãßBȍőnAnnotation注 anno = interfaceClass.getAnnotation(BãßBȍőnAnnotation注.class);
|
||||
|
|
|
@ -2,9 +2,9 @@ package love.distributedrebirth.bassboonyd.info;
|
|||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőn;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(optional = {BãßBȍőnAuthor注.class})
|
||||
|
@ -16,7 +16,7 @@ public interface BãßBȍőnAuthorʸᴰ<T, K extends BãßBȍőnCoffinStoreKeyʸ
|
|||
private static final String DEFAULT_AUTHOR_NAME = "奴隸來自 仙上主天";
|
||||
private static final String DEFAULT_AUTHOR_COPYRIGHT = "©Δ∞ 仙上主天";
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_BOOT)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonLaw.class})
|
||||
private static void init(BãßBȍőn<?,?> boon) {
|
||||
BãßBȍőnAuthor注 anno = boon.getClass().getAnnotation(BãßBȍőnAuthor注.class);
|
||||
boon.toBBC().UNHOLY(Ꝑŕḯṿª₮ḕ.class).PUT_GHOST(GHOST_KEY_AUTHOR_NAME, anno!=null?anno.name():DEFAULT_AUTHOR_NAME);
|
||||
|
|
|
@ -2,9 +2,9 @@ package love.distributedrebirth.bassboonyd.info;
|
|||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőn;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(optional = {BãßBȍőnName注.class})
|
||||
|
@ -15,7 +15,7 @@ public interface BãßBȍőnNameʸᴰ<T, K extends BãßBȍőnCoffinStoreKeyʸ
|
|||
private static final String GHOST_KEY_BEAN_PURPOSE = "beanPurpose";
|
||||
private static final String DEFAULT_BEAN_PURPOSE = "Undefined";
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_BOOT)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonLaw.class})
|
||||
private static void init(BãßBȍőn<?,?> boon) {
|
||||
BãßBȍőnName注 anno = boon.getClass().getAnnotation(BãßBȍőnName注.class);
|
||||
String beanName = boon.getClass().getSimpleName();
|
||||
|
|
|
@ -2,9 +2,9 @@ package love.distributedrebirth.bassboonyd.info;
|
|||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőn;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(optional = {BãßBȍőnPackage注.class})
|
||||
|
@ -13,7 +13,7 @@ public interface BãßBȍőnPackageʸᴰ<T, K extends BãßBȍőnCoffinStoreKey
|
|||
public static class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
private static final String GHOST_KEY_PACKAGE_NAME = "packageName";
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_BOOT)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonLaw.class})
|
||||
private static void init(BãßBȍőn<?,?> boon) {
|
||||
BãßBȍőnPackage注 anno = boon.getClass().getAnnotation(BãßBȍőnPackage注.class);
|
||||
boon.toBBC().UNHOLY(Ꝑŕḯṿª₮ḕ.class).PUT_GHOST(GHOST_KEY_PACKAGE_NAME, anno!=null?anno.name():boon.getClass().getPackage().getName());
|
||||
|
|
|
@ -5,14 +5,14 @@ import java.util.Map;
|
|||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnSpiderEgg注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.DefaultEnumBaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAnnotation注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnName注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(required = {BãßBȍőnName注.class})
|
||||
|
@ -21,7 +21,7 @@ public interface DefaultEnumBaseᴶᴹˣ<T,K extends BãßBȍőnCoffinStoreKeyʸ
|
|||
public static class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
private static final String GHOST_KEY_JMX = "JMX";
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_BOOT)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonBereshit.class})
|
||||
private static void init(DefaultEnumBaseᴶᴹˣ<?,?> boon) {
|
||||
boon.toBBC().UNHOLY(Ꝑŕḯṿª₮ḕ.class).PUT_GHOST(Ꝑŕḯṿª₮ḕ.GHOST_KEY_JMX, new HashMap<>());
|
||||
}
|
||||
|
|
|
@ -7,18 +7,18 @@ import javax.management.ObjectName;
|
|||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnConstantsʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.DefaultEnumInstanceʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface DefaultEnumInstanceᴶᴹˣ<T,K extends BãßBȍőnCoffinStoreKeyʸᴰ> extends DefaultEnumBaseᴶᴹˣ<T,K>,DefaultEnumInstanceʸᴰ<T,K> {
|
||||
|
||||
public static class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_SERVICE)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonMarriage.class})
|
||||
private static void init(DefaultEnumBaseᴶᴹˣ<?,?> boon) {
|
||||
try {
|
||||
StringBuilder name = new StringBuilder();
|
||||
|
|
|
@ -7,18 +7,18 @@ import javax.management.ObjectName;
|
|||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreKeyʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnConstantsʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.DefaultEnumSetʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
public interface DefaultEnumSetᴶᴹˣ<T,K extends BãßBȍőnCoffinStoreKeyʸᴰ> extends DefaultEnumBaseᴶᴹˣ<T,K>,DefaultEnumSetʸᴰ<T,K> {
|
||||
|
||||
public static class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||||
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(phase = BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.BOON_PRE_SERVICE)
|
||||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseBoonMarriage.class})
|
||||
private static void init(DefaultEnumBaseᴶᴹˣ<?,?> boon) {
|
||||
try {
|
||||
StringBuilder name = new StringBuilder();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package love.distributedrebirth.bassboonyd;
|
||||
package love.distributedrebirth.bassboonyd.sinit;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package love.distributedrebirth.bassboonyd.sinit;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.METHOD})
|
||||
public @interface BãßBȍőnꝐŕḯṿª₮ḕInit注 {
|
||||
|
||||
Class<? extends BãßBȍőnꝐŕḯṿª₮ḕ>[] dependencies() default {BãßBȍőnPhaseBarrierʸᴰ.Ꝑŕḯṿª₮ḕPhaseLifeInit.class};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package love.distributedrebirth.bassboonyd;
|
||||
package love.distributedrebirth.bassboonyd.sinit;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
|
@ -10,7 +10,5 @@ import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
|||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.METHOD})
|
||||
public @interface BãßBȍőnꝐŕḯṿª₮ḕInit注 {
|
||||
|
||||
BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ phase() default BãßBȍőnꝐŕḯṿª₮ḕInitPhaseʸᴰ.SERVICE;
|
||||
public @interface BãßBȍőnꝐŕḯṿª₮ḕLock注 {
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package love.distributedrebirth.bassboonyd.sinit;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.TYPE})
|
||||
public @interface BãßBȍőnꝐŕḯṿª₮ḕPhase注 {
|
||||
|
||||
int order();
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
package love.distributedrebirth.numberxd.base2t.part;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAnnotation注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(required = {BãßBȍőnPartAlt1注.class})
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package love.distributedrebirth.numberxd.base2t.part;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAnnotation注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(required = {BãßBȍőnPartAlt2注.class})
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package love.distributedrebirth.numberxd.base2t.part;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAnnotation注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(required = {BãßBȍőnPartAlt3注.class})
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package love.distributedrebirth.numberxd.base2t.part;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAnnotation注;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnAnnotation注(required = {BãßBȍőnPartAlt4注.class})
|
||||
|
|
|
@ -5,8 +5,8 @@ import java.util.Map;
|
|||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.DefaultEnumSetʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.info.BãßBȍőnAuthor注;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||||
|
||||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")//
|
||||
public interface BãßBȍőnPartʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends DefaultEnumSetʸᴰ<T, BãßBȍőnPartKeyʸᴰ> {
|
||||
|
|
Loading…
Reference in a new issue