73 lines
3.5 KiB
Java
73 lines
3.5 KiB
Java
package love.distributedrebirth.bassboonyd.jmx;
|
||
|
||
import java.util.HashMap;
|
||
import java.util.Map;
|
||
|
||
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
|
||
import love.distributedrebirth.bassboonyd.DefaultEnumBaseʸᴰ;
|
||
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAnnotation注;
|
||
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
|
||
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnInfo注;
|
||
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffin;
|
||
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
|
||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕ;
|
||
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª₮ḕInit注;
|
||
import love.distributedrebirth.bassboonyd.spider.BãßBȍőnSpiderEgg注;
|
||
|
||
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
|
||
@BãßBȍőnAnnotation注(required = {BãßBȍőnInfo注.class})
|
||
public interface DefaultEnumBaseᴶᴹˣ<T,K extends BãßBȍőnCoffinNail> extends DefaultEnumBaseʸᴰ<T,K> {
|
||
|
||
public static final class Ꝑŕḯṿª₮ḕ implements BãßBȍőnꝐŕḯṿª₮ḕ {
|
||
protected static final String STR_NAME = "name";
|
||
protected static final String STR_TYPE = "type";
|
||
protected static final String STR_DOT = ".";
|
||
protected static final String STR_COLON = ":";
|
||
protected static final String STR_IS = "=";
|
||
protected static final String STR_COMMA = ",";
|
||
private static final String GHOST_KEY_JMX = "JMX";
|
||
|
||
private Ꝑŕḯṿª₮ḕ() {
|
||
}
|
||
|
||
@BãßBȍőnꝐŕḯṿª₮ḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonBereshit.class})
|
||
private static void init(DefaultEnumBaseᴶᴹˣ<?,?> boon) {
|
||
boon.toBBC().UNHOLY(Ꝑŕḯṿª₮ḕ.class).PUT_GHOST(Ꝑŕḯṿª₮ḕ.GHOST_KEY_JMX, new HashMap<>());
|
||
}
|
||
|
||
private static <X> X buildJmxGhost(DefaultEnumBaseᴶᴹˣ<?,?> boon, String name, X result) {
|
||
boon.toBBC().UNHOLY(Ꝑŕḯṿª₮ḕ.class).GHOST_MAP_OBJ(Ꝑŕḯṿª₮ḕ.GHOST_KEY_JMX).put(name, result);
|
||
return result;
|
||
}
|
||
|
||
@BãßBȍőnSpiderEgg注()
|
||
private static CounterGuageᴶᴹˣ buildGuageCounter(DefaultEnumBaseᴶᴹˣ<?,?> boon, String name, String description) {
|
||
return buildJmxGhost(boon, name, new CounterGuageᴶᴹˣ(name, description));
|
||
}
|
||
|
||
@BãßBȍőnSpiderEgg注()
|
||
private static AttributeStringᴶᴹˣ buildStringAttribute(DefaultEnumBaseᴶᴹˣ<?,?> boon, String name, String description) {
|
||
return buildJmxGhost(boon, name, new AttributeStringᴶᴹˣ(name, description));
|
||
}
|
||
|
||
@BãßBȍőnSpiderEgg注()
|
||
private static AttributeBooleanᴶᴹˣ buildBooleanAttribute(DefaultEnumBaseᴶᴹˣ<?,?> boon, String name, String description) {
|
||
return buildJmxGhost(boon, name, new AttributeBooleanᴶᴹˣ(name, description));
|
||
}
|
||
|
||
@BãßBȍőnSpiderEgg注()
|
||
private static AttributeIntegerᴶᴹˣ buildIntegerAttribute(DefaultEnumBaseᴶᴹˣ<?,?> boon, String name, String description) {
|
||
return buildJmxGhost(boon, name, new AttributeIntegerᴶᴹˣ(name, description));
|
||
}
|
||
|
||
@BãßBȍőnSpiderEgg注()
|
||
private static AttributeLongᴶᴹˣ buildLongAttribute(DefaultEnumBaseᴶᴹˣ<?,?> boon, String name, String description) {
|
||
return buildJmxGhost(boon, name, new AttributeLongᴶᴹˣ(name, description));
|
||
}
|
||
}
|
||
|
||
public static Map<String, Object> jmxGhosts(BãßBȍőnCoffin<?> BBC) {
|
||
return BBC.UNHOLY(Ꝑŕḯṿª₮ḕ.class).GHOST_MAP_OBJ(Ꝑŕḯṿª₮ḕ.GHOST_KEY_JMX);
|
||
}
|
||
}
|