gdxapp4d/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboonyd/clazz/BãßBȍőnInfoʸᴰ.java
2022-10-17 17:55:32 +02:00

41 lines
1.9 KiB
Java

package love.distributedrebirth.bassboonyd.clazz;
import love.distributedrebirth.bassboonyd.BãßBȍőn;
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinNailʸᴰ;
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ȍőnInfo注.class})
public interface BãßBȍőnInfoʸᴰ<T, K extends BãßBȍőnCoffinNailʸᴰ> extends BãßBȍőn<T, K> {
public static class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private static final String GHOST_KEY_BEAN_NAME = "beanName";
private static final String GHOST_KEY_BEAN_PURPOSE = "beanPurpose";
private static final String DEFAULT_BEAN_PURPOSE = "Undefined";
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonLaw.class})
private static void init(BãßBȍőn<?,?> boon) {
BãßBȍőnInfo注 anno = boon.getClass().getAnnotation(BãßBȍőnInfo注.class);
String beanName = boon.getClass().getSimpleName();
String beanPurpose = DEFAULT_BEAN_PURPOSE;
if (anno != null && !anno.name().isBlank()) {
beanName = anno.name();
}
if (anno != null && !anno.purpose().isBlank()) {
beanPurpose = anno.purpose();
}
boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_KEY_BEAN_NAME, beanName);
boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_KEY_BEAN_PURPOSE, beanPurpose);
}
}
default String BãßInfoNaam() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_KEY_BEAN_NAME);
}
default String BãßInfoDoel() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_KEY_BEAN_PURPOSE);
}
}