This commit is contained in:
Willem Cazander 2022-10-20 03:06:56 +02:00
parent 4f122133ce
commit 779e280b87
312 changed files with 1756 additions and 1621 deletions

View file

@ -7,7 +7,7 @@ import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4LocaleService;

View file

@ -6,7 +6,7 @@ import java.util.ResourceBundle;
import imgui.ImGui; import imgui.ImGui;
import imgui.type.ImInt; import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;

View file

@ -9,7 +9,7 @@ import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnicodePlaneDeskApp; import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnicodePlaneDeskApp;
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnitConverterDeskApp; import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoUnitConverterDeskApp;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoGlyphSetDeskApp; import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoGlyphSetDeskApp;
import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoNumberPartDeskApp; import love.distributedrebirth.gdxapp4d.app.glyphdemo.apps.DemoNumberPartDeskApp;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;

View file

@ -5,7 +5,7 @@ import java.util.ResourceBundle;
import imgui.ImGui; import imgui.ImGui;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean; import imgui.type.ImBoolean;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;

View file

@ -8,7 +8,7 @@ import imgui.ImGui;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean; import imgui.type.ImBoolean;
import imgui.type.ImInt; import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
@ -58,11 +58,11 @@ public class DemoNumberPartDeskApp extends AbstractDeskApp implements DeskAppRen
ImGui.text(getTxt("selectName")); ImGui.text(getTxt("selectName"));
ImGui.sameLine(); ImGui.sameLine();
ImGui.text(baseParts[0].BãßInfoNaam()); ImGui.text(baseParts[0].BãßExportNaam());
ImGui.text(getTxt("selectPurpose")); ImGui.text(getTxt("selectPurpose"));
ImGui.sameLine(); ImGui.sameLine();
ImGui.text(baseParts[0].BãßInfoDoel()); ImGui.text(baseParts[0].BãßClazzDoel());
ImGui.checkbox(getTxt("showBase10"), showBase10); ImGui.checkbox(getTxt("showBase10"), showBase10);
ImGui.checkbox(getTxt("showBase16"), showBase16); ImGui.checkbox(getTxt("showBase16"), showBase16);

View file

@ -5,7 +5,7 @@ import java.util.ResourceBundle;
import imgui.ImGui; import imgui.ImGui;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean; import imgui.type.ImBoolean;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;

View file

@ -13,7 +13,7 @@ import imgui.ImGui;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import imgui.type.ImDouble; import imgui.type.ImDouble;
import imgui.type.ImInt; import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;

View file

@ -5,7 +5,7 @@ import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;

View file

@ -6,7 +6,7 @@ import java.util.List;
import imgui.ImGui; import imgui.ImGui;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import imgui.type.ImInt; import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;

View file

@ -5,7 +5,7 @@ import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;

View file

@ -12,7 +12,7 @@ import com.badlogic.gdx.files.FileHandle;
import imgui.ImGui; import imgui.ImGui;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import imgui.type.ImString; import imgui.type.ImString;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;

View file

@ -1,11 +1,14 @@
package love.distributedrebirth.gdxapp4d.app.notepad; package love.distributedrebirth.gdxapp4d.app.notepad;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
@ -28,7 +31,9 @@ public class NotepadComponent {
private final DeskAppLauncher launcher; private final DeskAppLauncher launcher;
public NotepadComponent() { public NotepadComponent() {
launcher = new DeskAppLauncher(DeskAppMenuSection.EDITORS, "Notepad", () -> new NotepadDeskApp(unicode4DService)); Bundle bundle = FrameworkUtil.getBundle(NotepadComponent.class);
BundleContext context = bundle.getBundleContext();
launcher = new DeskAppLauncher(DeskAppMenuSection.EDITORS, "Notepad", () -> new NotepadDeskApp(context, unicode4DService));
} }
@Activate @Activate

View file

@ -2,12 +2,19 @@ package love.distributedrebirth.gdxapp4d.app.notepad;
import java.util.Random; import java.util.Random;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import imgui.ImDrawList; import imgui.ImDrawList;
import imgui.ImGui; import imgui.ImGui;
import imgui.ImVec2; import imgui.ImVec2;
import imgui.type.ImInt; import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.Bãß; import love.distributedrebirth.bassboon.Bãß;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.DefaultBãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderEgg注;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderWire注;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService; import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4Unicode4DService;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection; import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
@ -17,9 +24,9 @@ import love.distributedrebirth.unicode4d.draw.DrawCharacter;
import love.distributedrebirth.unicode4d.draw.ImCharacter; import love.distributedrebirth.unicode4d.draw.ImCharacter;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer { public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer, DefaultBãßBȍőnʸᴰ<NotepadDeskApp> {
private final VrGem4Unicode4DService unicode4DService; //private final VrGem4Unicode4DService unicode4DService;
private final int gridWidth = 120; private final int gridWidth = 120;
private final int gridHeight = 40; private final int gridHeight = 40;
private final String gridChars; private final String gridChars;
@ -36,8 +43,36 @@ public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer {
UnicodePlane.TAI_XUAN_JING_SYMBOLS UnicodePlane.TAI_XUAN_JING_SYMBOLS
}; };
public NotepadDeskApp(VrGem4Unicode4DService unicode4DService) { public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<DefaultBãßBȍőnʸᴰ<?>> {
this.unicode4DService = unicode4DService; private static final String GHOST_BUNDLE = "bundle";
@Override
public void init(DefaultBãßBȍőnʸᴰ<?> boon) {
}
@BãßBȍőnSpiderEgg注()
public VrGem4Unicode4DService locateVrGem4Unicode4DService(DefaultBãßBȍőnʸᴰ<NotepadDeskApp> boon) {
Class<?> eggType = VrGem4Unicode4DService.class;
BundleContext context = boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_OBJ(GHOST_BUNDLE, BundleContext.class);
ServiceReference<?> serviceRef = context.getServiceReference(eggType);
Object service = context.getService(serviceRef);
return (VrGem4Unicode4DService)service;
}
}
@BãßBȍőnSpiderWire注()
private VrGem4Unicode4DService unicode4DService;
public NotepadDeskApp(BundleContext context, VrGem4Unicode4DService unicode4DService3) {
toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(Ꝑŕḯṿª.GHOST_BUNDLE, context); // tmp test
Bãß.石棺ʸᴰ.魎ᴵⁿᶦᵗ(this);
//this.unicode4DService = unicode4DService;
this.gridBuffer = new int[gridHeight][gridWidth]; this.gridBuffer = new int[gridHeight][gridWidth];
this.gridRank = new int[gridWidth]; this.gridRank = new int[gridWidth];
this.random = new Random(); this.random = new Random();

View file

@ -8,7 +8,7 @@ import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog; import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;

View file

@ -12,7 +12,7 @@ import imgui.ImGui;
import imgui.flag.ImGuiSelectableFlags; import imgui.flag.ImGuiSelectableFlags;
import imgui.flag.ImGuiTableColumnFlags; import imgui.flag.ImGuiTableColumnFlags;
import imgui.flag.ImGuiTableFlags; import imgui.flag.ImGuiTableFlags;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.app.tosamp.music.MusicManager; import love.distributedrebirth.gdxapp4d.app.tosamp.music.MusicManager;
import love.distributedrebirth.gdxapp4d.app.tosamp.music.MusicSong; import love.distributedrebirth.gdxapp4d.app.tosamp.music.MusicSong;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;

View file

@ -9,7 +9,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class M3UParser { public class M3UParser {

View file

@ -13,7 +13,7 @@ import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Music.OnCompletionListener; import com.badlogic.gdx.audio.Music.OnCompletionListener;
import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.files.FileHandle;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.app.tosamp.music.M3UParser.M3UPlaylist; import love.distributedrebirth.gdxapp4d.app.tosamp.music.M3UParser.M3UPlaylist;
import love.distributedrebirth.gdxapp4d.app.tosamp.music.M3UParser.M3UTrack; import love.distributedrebirth.gdxapp4d.app.tosamp.music.M3UParser.M3UTrack;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;

View file

@ -2,7 +2,7 @@ package love.distributedrebirth.gdxapp4d.app.tosamp.music;
import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.files.FileHandle;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
/** /**
* The music with the (file) name. * The music with the (file) name.

View file

@ -3,7 +3,7 @@ package love.distributedrebirth.gdxapp4d.boot.desktop;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
/** /**
* Desktop game app base config. * Desktop game app base config.

View file

@ -6,7 +6,7 @@ import com.badlogic.gdx.Files.FileType;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.gdxapp4d.tos4.GDXAppTos4; import love.distributedrebirth.gdxapp4d.tos4.GDXAppTos4;
import net.spookygames.gdx.nativefilechooser.desktop.DesktopFileChooser; import net.spookygames.gdx.nativefilechooser.desktop.DesktopFileChooser;

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d; package love.distributedrebirth.basic4d;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicRuntime { public class BasicRuntime {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicAnnotationʷᴰ { public class BasicAnnotationʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicClassʷᴰ { public class BasicClassʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicInterfaceʷᴰ { public class BasicInterfaceʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicLanguageModuleʷᴰ { public class BasicLanguageModuleʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicLanguageʷᴰ { public class BasicLanguageʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicMethodArgumentʷᴰ { public class BasicMethodArgumentʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicMethodʷᴰ { public class BasicMethodʷᴰ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.basic4d.lang; package love.distributedrebirth.basic4d.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BasicStepCodeʷᴰ { public class BasicStepCodeʷᴰ {

View file

@ -0,0 +1,201 @@
package love.distributedrebirth.bassboon;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateLoader;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffin;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffinGhost;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffinGhostSpell;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffinGhostSpellLock;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpider;
/**
* Runtime for static bass noise.
*/
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface Bãß {
/**
* Sarcophagus aggregates Y-Dimensions.
*/
public static final class 石棺ʸᴰ {
private static final Map<Object, BȍőnGrave> GRAVE_YARD = new WeakHashMap<>();
private static final ReadWriteLock FUNERAL = new ReentrantReadWriteLock();
/**
* Sarcophagus is closed for humans.
*/
private 石棺ʸᴰ() {
}
/**
* Mononoke Init
*/
public static final <T extends BãßBȍőnʸᴰ<T>> void 魎ᴵⁿᶦᵗ(BãßBȍőnʸᴰ<T> boon) {
挖ᵀᵒ(boon).init(boon);
}
/**
* Grave Lock
*/
public static final <T extends BãßBȍőnʸᴰ<T>> void 墳ᴸᵒᶜᵏ(BãßBȍőnʸᴰ<T> boon) {
挖ᵀᵒ(boon).lock(boon);
}
/**
* Coffin Of
*/
protected static final <T extends BãßBȍőnʸᴰ<T>> BãßBȍőnCoffin 棺ᴼᶠ(BãßBȍőnʸᴰ<T> boon) {
return 挖ᵀᵒ(boon);
}
/**
* Dig To
*/
private static final <T extends BãßBȍőnʸᴰ<T>> BȍőnGrave 挖ᵀᵒ(BãßBȍőnʸᴰ<T> boon) {
BȍőnGrave boonGrave = null;
Lock bibleReader = FUNERAL.readLock();
bibleReader.lock();
try {
boonGrave = GRAVE_YARD.get(boon);
} finally {
bibleReader.unlock();
}
if (boonGrave == null) {
Lock shemiraWriter = FUNERAL.writeLock();
shemiraWriter.lock();
try {
boonGrave = new BȍőnGrave();
GRAVE_YARD.put(boon, boonGrave);
} finally {
shemiraWriter.unlock();
}
}
return boonGrave;
}
/*
public static <T> BeanWrapper<T> 豆ᴺᴱᵂ(Class<T> seedling) { // bean-new
try {
T bean = seedling.getConstructor().newInstance();
if (bean instanceof BãßBȍőnʸᴰ) {
BãßBȍőnʸᴰ<?> boon = (BãßBȍőnʸᴰ<?>) bean;
BȍőnGrave grave = 墳ᴼᶠ(boon);
if (!grave.inited) {
魎ᴵᴺᴵᵀ(boon);
}
return new BeanWrapper<>(bean);
}
BeanWrapper<T> wrap = new BeanWrapper<>(bean);
魎ᴵᴺᴵᵀ(wrap);
return wrap;
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException
| InvocationTargetException | NoSuchMethodException | SecurityException e) {
throw new RuntimeException(e);
}
}
public static final class BeanWrapper<T> implements DefaultBãßBȍőnʸᴰ<T> {
private final T bean;
private BeanWrapper(T bean) {
this.bean = bean;
}
public T getBean() {
return bean;
}
}
*/
private static final class BȍőnGrave implements BãßBȍőnCoffin {
private final Map<Class<?>,BãßBȍőnCoffinGhost> ghosts;
private final BãßBȍőnSpider spider;
private boolean inited = false;
private boolean locked = false;
private BȍőnGrave() {
this.ghosts = new HashMap<>();
this.spider = new BãßBȍőnSpider();
}
private <T extends BãßBȍőnʸᴰ<T>> void init(BãßBȍőnʸᴰ<T> boon) {
if (inited) {
return;
}
BãßBȍőnPirateLoader.INIT_BONE_MAGIC(boon, spider);
inited = true;
}
private <T extends BãßBȍőnʸᴰ<T>> void lock(BãßBȍőnʸᴰ<T> boon) {
if (locked) {
return;
}
BãßBȍőnPirateLoader.LOCK_BONE_MAGIC(boon, spider);
for (Class<?> familyName:new ArrayList<>(ghosts.keySet())) {
BãßBȍőnCoffinGhost ghost = ghosts.get(familyName);
ghosts.put(familyName, BãßBȍőnCoffinGhostSpellLock.castᴼᶠ(ghost).LOCK());
}
locked = true;
}
@Override
public BãßBȍőnCoffinGhost UNHOLY(Class<? extends BãßBȍőnꝐŕḯṿª<?>> familyName) {
BãßBȍőnCoffinGhost ghost = ghosts.get(familyName);
if (ghost == null) {
if (locked) {
throw new RuntimeException("Coffin locked");
}
ghost = BãßBȍőnCoffinGhostSpellLock.instanceᴺᵉʷ();
ghosts.put(familyName, ghost);
}
return ghost;
}
@Override
public BãßBȍőnCoffinGhostSpell UNHOLY_SPELL(Class<? extends BãßBȍőnꝐŕḯṿª<?>> familyName) {
return BãßBȍőnCoffinGhostSpell.castᴼᶠ(UNHOLY(familyName));
}
}
}
//@ImportStatic(guard = true, reason = "Death to import static name space pollution.")
public static final class ℭỗᶇṧⱦᶏꬼȶʂ {
// 4 is magnetic consent and 3 is forced stable outcome
public static final char CHAR_ZERO = '0'; // nothing
public static final char CHAR_ONE = '1'; // all
public static final char CHAR_SPACE = ' '; // eatherspace
public static final char CHAR_A = 'a'; // corner stone of creation
// the nether
public static final String STR_ZERO = "0"; //String.valueOf(CHAR_ZERO);
public static final String STR_ONE = "1"; //String.valueOf(CHAR_ONE);
public static final String STR_EMPTY = ""; //STR_ONE.substring(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE);
public static final String STR_SPACE = " "; //String.valueOf(CHAR_SPACE);
// red
public static final int INT_ZERO = 0; //Integer.valueOf(STR_ZERO);
public static final int INT_ONE = 1; //Integer.valueOf(STR_ONE);
public static final int INT_TEN = 10; //Integer.valueOf(STR_ONE+STR_ZERO);
// white
public static final long LONG_ZERO = 0l; //Long.valueOf(STR_ZERO);
public static final long LONG_ONE = 1l; //Long.valueOf(STR_ONE);
public static final long LONG_TEN = 10l; //Long.valueOf(STR_ONE+STR_ZERO);
// blue
public static final float FLOAT_ZERO = 0f; //Float.valueOf(STR_ZERO);
public static final float FLOAT_ONE = 1f; //Float.valueOf(STR_ONE);
public static final float FLOAT_TEN = 10f; //Float.valueOf(STR_ONE+STR_ZERO);
// orange on top
public static final double DOUBLE_ZERO = 0d; //Double.valueOf(STR_ZERO);
public static final double DOUBLE_ONE = 1f; //Double.valueOf(STR_ONE);;
public static final double DOUBLE_TEN = 10f; //Double.valueOf(STR_ONE+STR_ZERO);
private ℭỗᶇṧⱦᶏꬼȶʂ() {
}
}
}

View file

@ -0,0 +1,18 @@
package love.distributedrebirth.bassboon;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffin;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
//publicinterfaceBãßBȍőnʸᴰ<T> { // TODO: jvm recursive terminator² type sugar
public interface BãßBȍőnʸᴰ<T extends BãßBȍőnʸᴰ<T>> {
@SuppressWarnings("unchecked")
default T toBȍőn() {
return (T)this; // allow builders...
}
default BãßBȍőnCoffin toBBC() {
return Bãß.石棺ʸᴰ.棺ᴼᶠ(this); // ...to seek 6 bit BASIC death, so the blind can see
}
}

View file

@ -0,0 +1,19 @@
package love.distributedrebirth.bassboon;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAnnotationʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthorʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnClazzʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnExportʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultBãßBȍőnʸᴰ<T extends BãßBȍőnʸᴰ<T>> extends
BãßBȍőnʸᴰ<T>,
BãßBȍőnPirateʸᴰ<T>,
BãßBȍőnClazzʸᴰ<T>,
BãßBȍőnAuthorʸᴰ<T>,
BãßBȍőnExportʸᴰ<T>,
BãßBȍőnAnnotationʸᴰ<T>
{
}

View file

@ -1,20 +1,20 @@
package love.distributedrebirth.bassboonyd; package love.distributedrebirth.bassboon;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail; import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª;
// Bȍőn prefix is for set instance enum methods (called DefaultEnumSetʸᴰ) // Bȍőn prefix is for set instance enum methods (called DefaultEnumSetʸᴰ)
// Bãß prefix is for single instance enum methods (called DefaultEnumInstanceʸᴰ) // Bãß prefix is for single instance enum methods (called DefaultEnumInstanceʸᴰ)
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumBaseʸᴰ<T, K extends BãßBȍőnCoffinNail> extends DefaultBãßBȍőnʸᴰ<T, K> { public interface DefaultEnumBaseʸᴰ<T extends BãßBȍőnʸᴰ<T>> extends DefaultBãßBȍőnʸᴰ<T> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª { public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<DefaultEnumBaseʸᴰ<?>> {
private static final String STR_VALUES = "values"; private static final String STR_VALUES = "values";
private Ꝑŕḯṿª() { @Override
public void init(DefaultEnumBaseʸᴰ<?> boon) {
} }
} }

View file

@ -0,0 +1,11 @@
package love.distributedrebirth.bassboon;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumInstanceʸᴰ<T extends BãßBȍőnʸᴰ<T>> extends DefaultEnumBaseʸᴰ<T> {
default T BãßInstance() {
return BãßInstances()[Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO];
}
}

View file

@ -1,4 +1,4 @@
package love.distributedrebirth.bassboonyd; package love.distributedrebirth.bassboon;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -7,23 +7,21 @@ import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail; import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª; import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿªḕInit注; import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumSetʸᴰ<T, K extends BãßBȍőnCoffinNail> extends DefaultEnumBaseʸᴰ<T,K> { public interface DefaultEnumSetʸᴰ<T extends BãßBȍőnʸᴰ<T>> extends DefaultEnumBaseʸᴰ<T> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª { @BãßBȍőnPiratePhase注(dependencies = {BãßBȍőnPirateʸᴰ.βrahmanBoonBereshit.class})
private static final String GHOST_KEY_RANG_TEL_EEN = "rangTelEen"; public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<DefaultEnumSetʸᴰ<?>> {
private static final String GHOST_RANG_TEL_EEN = "秩數數一";
private Ꝑŕḯṿª() { @Override
} public void init(DefaultEnumSetʸᴰ<?> boon) {
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_RANG_TEL_EEN, boon.BȍőnRangTelNul() + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE);
@BãßBȍőnꝐŕḯṿªḕInit注()
private static void init(DefaultEnumSetʸᴰ<?,?> boon) {
boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_KEY_RANG_TEL_EEN, boon.BȍőnRangTelNul() + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE);
} }
} }
@ -32,7 +30,7 @@ public interface DefaultEnumSetʸᴰ<T, K extends BãßBȍőnCoffinNail> extends
} }
default int BȍőnRangTelEen() { default int BȍőnRangTelEen() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_INT(Ꝑŕḯṿª.GHOST_KEY_RANG_TEL_EEN); return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_INT(Ꝑŕḯṿª.GHOST_RANG_TEL_EEN);
} }
default List<T> BãßInstancesList() { default List<T> BãßInstancesList() {

View file

@ -0,0 +1,33 @@
package love.distributedrebirth.bassboon.clazz;
import java.lang.annotation.Annotation;
import java.util.LinkedHashSet;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateLoader;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(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ȍőnAnnotationʸᴰ<?>> {
@Override
public void init(BãßBȍőnAnnotationʸᴰ<?> boon) {
for (Class<?> interfaceClass:BãßBȍőnPirateLoader.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());
}
}
}
}
}
}

View file

@ -1,4 +1,4 @@
package love.distributedrebirth.bassboonyd.clazz; package love.distributedrebirth.bassboon.clazz;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;

View file

@ -0,0 +1,34 @@
package love.distributedrebirth.bassboon.clazz;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotation注(optional = {BãßBȍőnAuthor注.class})
public interface BãßBȍőnAuthorʸᴰ<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ȍőnAuthorʸᴰ<?>> {
private static final String GHOST_AUTHOR_NAME = "作者姓名";
private static final String GHOST_AUTHOR_COPYRIGHT = "作者版權";
private static final String DEFAULT_AUTHOR_NAME = "奴隸來自 仙上主天";
private static final String DEFAULT_AUTHOR_COPYRIGHT = "©Δ∞ 仙上主天";
@Override
public void init(BãßBȍőnAuthorʸᴰ<?> boon) {
BãßBȍőnAuthor注 anno = boon.getClass().getAnnotation(BãßBȍőnAuthor注.class);
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_AUTHOR_NAME, anno!=null?anno.name():DEFAULT_AUTHOR_NAME);
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_AUTHOR_COPYRIGHT, anno!=null?anno.copyright():DEFAULT_AUTHOR_COPYRIGHT);
}
}
default String BãßAuthorNaam() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_AUTHOR_NAME);
}
default String BãßAuthorKopieërRecht() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_AUTHOR_COPYRIGHT);
}
}

View file

@ -1,4 +1,4 @@
package love.distributedrebirth.bassboonyd.clazz; package love.distributedrebirth.bassboon.clazz;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View file

@ -0,0 +1,31 @@
package love.distributedrebirth.bassboon.clazz;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotation注(optional = {BãßBȍőnClazz注.class})
public interface BãßBȍőnClazzʸᴰ<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ȍőnClazzʸᴰ<?>> {
private static final String GHOST_CLAZZ_PURPOSE = "般目的";
private static final String DEFAULT_CLAZZ_PURPOSE = "Undefined";
@Override
public void init(BãßBȍőnClazzʸᴰ<?> boon) {
BãßBȍőnClazz注 anno = boon.getClass().getAnnotation(BãßBȍőnClazz注.class);
String beanPurpose = DEFAULT_CLAZZ_PURPOSE;
if (anno != null && !anno.purpose().isBlank()) {
beanPurpose = anno.purpose();
}
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_CLAZZ_PURPOSE, beanPurpose);
}
}
default String BãßClazzDoel() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_CLAZZ_PURPOSE);
}
}

View file

@ -1,4 +1,4 @@
package love.distributedrebirth.bassboonyd.clazz; package love.distributedrebirth.bassboon.clazz;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@ -8,7 +8,7 @@ import java.lang.annotation.Target;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE}) @Target({ElementType.TYPE})
public @interface BãßBȍőnPackage { public @interface BãßBȍőnClazz {
String name(); String purpose();
} }

View file

@ -0,0 +1,40 @@
package love.distributedrebirth.bassboon.clazz;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotation注(optional = {BãßBȍőnExport注.class})
public interface BãßBȍőnExportʸᴰ<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ȍőnExportʸᴰ<?>> {
private static final String GHOST_EXPORT_ARTIFACT = "出口人工製品";
private static final String GHOST_EXPORT_GROUP = "出口團體";
@Override
public void init(BãßBȍőnExportʸᴰ<?> boon) {
BãßBȍőnExport注 anno = boon.getClass().getAnnotation(BãßBȍőnExport注.class);
String exportArtifact = boon.getClass().getSimpleName();
String exportGroup = boon.getClass().getPackage().getName();
if (anno != null && !anno.artifact().isBlank()) {
exportArtifact = anno.artifact();
}
if (anno != null && !anno.group().isBlank()) {
exportGroup = anno.group();
}
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_EXPORT_ARTIFACT, exportArtifact);
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_EXPORT_GROUP, exportGroup);
}
}
default String BãßExportNaam() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_EXPORT_ARTIFACT);
}
default String BãßExportGroep() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_EXPORT_GROUP);
}
}

View file

@ -1,4 +1,4 @@
package love.distributedrebirth.bassboonyd.clazz; package love.distributedrebirth.bassboon.clazz;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@ -8,9 +8,9 @@ import java.lang.annotation.Target;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE}) @Target({ElementType.TYPE})
public @interface BãßBȍőnInfo { public @interface BãßBȍőnExport {
String name() default ""; String artifact() default "";
String purpose(); String group();
} }

View file

@ -0,0 +1,184 @@
package love.distributedrebirth.bassboon.clazz.pirate;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Function;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpider;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderEgg注;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderSilk;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderWire注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public final class BãßBȍőnPirateLoader {
private BãßBȍőnPirateLoader() {
}
@SuppressWarnings("unchecked")
public static <T extends BãßBȍőnʸᴰ<T>> void LOCK_BONE_MAGIC(BãßBȍőnʸᴰ<T> boon, BãßBȍőnSpider spider) {
try {
List<PiratePhaseBoat<T>> filoBoats = loadPirateBoats(boon);
Collections.reverse(filoBoats);
for (PiratePhaseBoat<T> boat : filoBoats) {
boat.pirate.lock((T)boon);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@SuppressWarnings("unchecked")
public static <T extends BãßBȍőnʸᴰ<T>> void INIT_BONE_MAGIC(BãßBȍőnʸᴰ<T> boon, BãßBȍőnSpider spider) {
try {
//System.out.println("INIT "+boon.getClass().getName());
for (PiratePhaseBoat<T> boat : loadPirateBoats(boon)) {
//System.out.println("INIT.RUN "+v.privateClass.getName()+"."+m.getName());
registrateSpiderEggs(boat.pirateClazz, spider, boat.pirate);
initSpiderWires(boat.pirate, boon, spider);
boat.pirate.init((T)boon);
}
initSpiderWires(boon, boon, spider);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static void initSpiderWires(Object target, BãßBȍőnʸᴰ<?> boon, BãßBȍőnSpider spider) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
//System.out.println("SCAN-BOON-FIELD: "+boon.getClass().getSimpleName());
for (Field m:target.getClass().getDeclaredFields()) {
if (!m.isAnnotationPresent(BãßBȍőnSpiderWire注.class)) {
continue;
}
BãßBȍőnSpiderWire注 anno = m.getAnnotation(BãßBȍőnSpiderWire注.class);
BãßBȍőnSpiderSilk silkRoad = spider.silkRoad(m.getType());
Object bean = silkRoad.senseWire(boon, anno.name(), anno.description());
//System.out.println("type: "+ m.getType() +" wth name: "+anno.name()+" of boon: "+boon+" result: "+bean.getClass().getName());
m.setAccessible(true);
m.set(target, bean);
}
}
private static <T extends BãßBȍőnʸᴰ<T>> void registrateSpiderEggs(Class<?> scanClass, BãßBȍőnSpider spider, BãßBȍőnꝐŕḯṿª<T> pirate) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
for (Method m:scanClass.getDeclaredMethods()) {
if (!m.isAnnotationPresent(BãßBȍőnSpiderEgg注.class)) {
continue;
}
//System.out.println("annoEgg: "+boon.getClass().getSimpleName()+"."+boon+" from: "+declaredClass.getName()+" m="+m.toGenericString());
spider.registrateEgg(m.getReturnType(), pirate, m);
}
}
private static class PiratePhaseBoat<T extends BãßBȍőnʸᴰ<T>> {
private Class<BãßBȍőnꝐŕḯṿª<T>> pirateClazz;
private BãßBȍőnꝐŕḯṿª<T> pirate;
private PiratePhaseBoat(Class<BãßBȍőnꝐŕḯṿª<T>> pirateClazz) {
this.pirateClazz = pirateClazz;
try {
this.pirate = (BãßBȍőnꝐŕḯṿª<T>) pirateClazz.getConstructor().newInstance();
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
| NoSuchMethodException | SecurityException e) {
throw new RuntimeException(e);
}
}
}
private static <T extends BãßBȍőnʸᴰ<T>> List<PiratePhaseBoat<T>> loadPirateBoats(BãßBȍőnʸᴰ<T> boon) {
List<PiratePhaseBoat<T>> boonInits = new ArrayList<>();
List<PiratePhaseBoat<T>> serviceInits = new ArrayList<>();
walkPrivate(boon, v -> {
//System.out.println("INIT.SCAN "+v.getName());
BãßBȍőnPiratePhaseBarrier注 anno = v.getAnnotation(BãßBȍőnPiratePhaseBarrier注.class);
if (anno != null) {
boonInits.add(new PiratePhaseBoat<>(v));
} else {
serviceInits.add(new PiratePhaseBoat<>(v));
}
});
boonInits.sort(new Comparator<PiratePhaseBoat<T>>() {
@Override
public int compare(PiratePhaseBoat<T> p0, PiratePhaseBoat<T> p1) {
BãßBȍőnPiratePhaseBarrier注 anno0 = p0.pirateClazz.getAnnotation(BãßBȍőnPiratePhaseBarrier注.class);
BãßBȍőnPiratePhaseBarrier注 anno1 = p1.pirateClazz.getAnnotation(BãßBȍőnPiratePhaseBarrier注.class);
return Integer.compare(anno0.order(), anno1.order());
}
});
List<PiratePhaseBoat<T>> result = new ArrayList<>();
for (PiratePhaseBoat<T> startupPhase:boonInits) {
result.add(startupPhase);
for (PiratePhaseBoat<T> v:new ArrayList<>(serviceInits)) {
int depCount = 0;
List<Class<? extends BãßBȍőnꝐŕḯṿª<?>>> deps = new ArrayList<>();
BãßBȍőnPiratePhase注 anno = v.pirateClazz.getAnnotation(BãßBȍőnPiratePhase注.class);
if (anno != null) {
deps.addAll(Arrays.asList(anno.dependencies()));
} else {
deps.add(BãßBȍőnPirateʸᴰ.שְׁלֹמֹה.DEFAULT_PHASE);
}
for (Class<?> clazz:deps) {
for (PiratePhaseBoat<T> doneInit:result) {
if (clazz.equals(doneInit.pirateClazz)) {
depCount++;
}
}
}
if (depCount == deps.size()) {
result.add(v);
serviceInits.remove(v);
}
}
}
result.addAll(serviceInits);
return result;
}
@SuppressWarnings("unchecked")
private static <T extends BãßBȍőnʸᴰ<T>> void walkPrivate(BãßBȍőnʸᴰ<T> boon, Consumer<Class<BãßBȍőnꝐŕḯṿª<T>>> runPrivate) {
for (Class<?> interfaceClass:walkInterfaces(boon.getClass(), new LinkedHashSet<>())) {
for (Class<?> declaredClass:interfaceClass.getDeclaredClasses()) {
if (!BãßBȍőnꝐŕḯṿª.class.isAssignableFrom(declaredClass)) {
continue;
}
runPrivate.accept((Class<BãßBȍőnꝐŕḯṿª<T>>)declaredClass);
}
}
for (Class<?> declaredClass:boon.getClass().getDeclaredClasses()) {
if (!BãßBȍőnꝐŕḯṿª.class.isAssignableFrom(declaredClass)) {
continue;
}
runPrivate.accept((Class<BãßBȍőnꝐŕḯṿª<T>>)declaredClass);
}
}
public static Set<Class<?>> walkInterfaces(Class<?> clazz, Set<Class<?>> result) {
return walkTree(clazz, result, v -> Arrays.asList(v.getInterfaces()), v -> v.getSuperclass());
}
public static <N> Set<N> walkTree(N node, Set<N> result, Function<N, Collection<N>> childs, Function<N,N> resolve) {
while (node != null) {
for (N next : childs.apply(node)) {
if (result.add(next)) {
walkTree(next, result, childs, resolve);
}
}
node = resolve.apply(node);
}
return result;
}
}

View file

@ -1,16 +1,16 @@
package love.distributedrebirth.bassboonyd.sinit; package love.distributedrebirth.bassboon.clazz.pirate;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE}) @Target({ElementType.TYPE})
public @interface BãßBȍőnꝐŕḯṿªḕPhase { public @interface BãßBȍőnPiratePhaseBarrier {
int order(); int order();
} }

View file

@ -1,14 +1,16 @@
package love.distributedrebirth.bassboonyd.sinit; package love.distributedrebirth.bassboon.clazz.pirate;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD}) @Target({ElementType.TYPE})
public @interface BãßBȍőnꝐŕḯṿªḕLock注 { public @interface BãßBȍőnPiratePhase注 {
Class<? extends BãßBȍőnꝐŕḯṿª<?>>[] dependencies();
} }

View file

@ -0,0 +1,66 @@
package love.distributedrebirth.bassboon.clazz.pirate;
import love.distributedrebirth.bassboon.Bãß;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnClazz注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnClazz注(purpose = "Adds extensible phase barriers for pirates")
public interface BãßBȍőnPirateʸᴰ<T extends BãßBȍőnʸᴰ<T>> extends BãßBȍőnʸᴰ<T> {
public static final class שְׁלֹמֹה {
// default internal framework boon phases
protected static final int BOON_VOID = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;
protected static final int BOON_BERESHIT = BOON_VOID + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE;
protected static final int BOON_LAW = BOON_BERESHIT * Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_TEN;
protected static final int BOON_MARRIAGE = BOON_LAW + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.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_יהוה = LIFE_QUADRANT_仙 + LIFE_QUADRANT_上 + LIFE_QUADRANT_主 + LIFE_QUADRANT_天;
protected static final Class<? extends BãßBȍőnꝐŕḯṿª<?>> DEFAULT_PHASE = βrahmanLifeInit.class;
private שְׁלֹמֹה() {
}
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.BOON_VOID)
public static final class βrahmanBoonVoid implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.BOON_BERESHIT)
public static final class βrahmanBoonBereshit implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.BOON_LAW)
public static final class βrahmanBoonLaw implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.BOON_MARRIAGE)
public static final class βrahmanBoonMarriage implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.LIFE_QUADRANT_仙)
public static final class βrahmanLifeQuadrant仙 implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.LIFE_QUADRANT_上)
public static final class βrahmanLifeQuadrant上 implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.LIFE_QUADRANT_主)
public static final class βrahmanLifeQuadrant主 implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.LIFE_QUADRANT_天)
public static final class βrahmanLifeQuadrant天 implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
@BãßBȍőnPiratePhaseBarrier注(order = שְׁלֹמֹה.LIFE_יהוה)
public static final class βrahmanLifeInit implements BãßBȍőnꝐŕḯṿª<BãßBȍőnPirateʸᴰ<?>> {
}
}

View file

@ -0,0 +1,15 @@
package love.distributedrebirth.bassboon.clazz.pirate;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnꝐŕḯṿª<T extends BãßBȍőnʸᴰ<?>> {
// note: eclipse ide does not want to refactor items with the name "Ꝑŕḯṿª₮ḕ" in it.
default void init(T boon) {
}
default void lock(T boon) {
}
}

View file

@ -0,0 +1,12 @@
package love.distributedrebirth.bassboon.death;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnCoffin {
BãßBȍőnCoffinGhost UNHOLY(Class<? extends BãßBȍőnꝐŕḯṿª<?>> familyName);
BãßBȍőnCoffinGhostSpell UNHOLY_SPELL(Class<? extends BãßBȍőnꝐŕḯṿª<?>> familyName);
}

View file

@ -1,15 +1,13 @@
package love.distributedrebirth.bassboonyd.coffin; package love.distributedrebirth.bassboon.death;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnCoffinGhost { public interface BãßBȍőnCoffinGhost {
Object PUT_GHOST(String key, Object value);
Object GHOST_OBJ(String key); Object GHOST_OBJ(String key);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

View file

@ -0,0 +1,24 @@
package love.distributedrebirth.bassboon.death;
import java.util.ArrayList;
import java.util.HashMap;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnCoffinGhostSpell extends BãßBȍőnCoffinGhost {
Object PUT_GHOST(String key, Object value);
default void PUT_GHOST_MAP(String key) {
PUT_GHOST(key, new HashMap<>());
}
default void PUT_GHOST_LIST(String key) {
PUT_GHOST(key, new ArrayList<>());
}
static BãßBȍőnCoffinGhostSpell castᴼᶠ(BãßBȍőnCoffinGhost death) {
return (BãßBȍőnCoffinGhostSpell) death;
}
}

View file

@ -0,0 +1,58 @@
package love.distributedrebirth.bassboon.death;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnCoffinGhostSpellLock extends BãßBȍőnCoffinGhostSpell {
BãßBȍőnCoffinGhost LOCK();
static BãßBȍőnCoffinGhostSpellLock castᴼᶠ(BãßBȍőnCoffinGhost death) {
return (BãßBȍőnCoffinGhostSpellLock) death;
}
static BãßBȍőnCoffinGhostSpellLock instanceᴺᵉʷ() {
Function<Map<String,Object>,BãßBȍőnCoffinGhost> keyMaker = v -> {
Map<String,Object> summonedGhosts = new HashMap<>(v);
for (String entity:v.keySet()) {
Object spirit = summonedGhosts.get(entity);
if (spirit instanceof List) {
summonedGhosts.put(entity, Collections.unmodifiableList((List<?>) spirit));
}
if (spirit instanceof Map) {
summonedGhosts.put(entity, Collections.unmodifiableMap((Map<?,?>) spirit));
}
}
return new BãßBȍőnCoffinGhost() {
@Override
public Object GHOST_OBJ(String key) {
return summonedGhosts.get(key);
}
};
};
return new BãßBȍőnCoffinGhostSpellLock() {
private final Map<String,Object> ouijaBoard = new HashMap<>();
@Override
public BãßBȍőnCoffinGhost LOCK() {
return keyMaker.apply(ouijaBoard);
}
@Override
public Object GHOST_OBJ(String key) {
return ouijaBoard.get(key);
}
@Override
public Object PUT_GHOST(String key, Object value) {
return ouijaBoard.put(key, value);
}
};
}
}

View file

@ -1,12 +1,13 @@
package love.distributedrebirth.bassboonyd.spider; package love.distributedrebirth.bassboon.death.spider;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import love.distributedrebirth.bassboonyd.BãßBȍőnʸᴰ; import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BãßBȍőnSpider { public class BãßBȍőnSpider {
@ -35,11 +36,11 @@ public class BãßBȍőnSpider {
spiderWeb.put(eggType, spiderSilk); spiderWeb.put(eggType, spiderSilk);
} }
public void registrateEgg(Class<?> eggType, Method m) { public void registrateEgg(Class<?> eggType, BãßBȍőnꝐŕḯṿª<?> pirate, Method m) {
registrateEgg(eggType, createSenseWire(m)); registrateEgg(eggType, createSenseWire(pirate, m));
} }
public BãßBȍőnSpiderSilk createSenseWire(Method m) { public BãßBȍőnSpiderSilk createSenseWire(BãßBȍőnꝐŕḯṿª<?> pirate, Method m) {
boolean valid = false; boolean valid = false;
Class<?>[] para = m.getParameterTypes(); Class<?>[] para = m.getParameterTypes();
if (para.length == 0) { if (para.length == 0) {
@ -60,19 +61,19 @@ public class BãßBȍőnSpider {
return new BãßBȍőnSpiderSilk() { return new BãßBȍőnSpiderSilk() {
@Override @Override
public Object senseWire(Object boon, String name, String description) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { public Object senseWire(BãßBȍőnʸᴰ<?> boon, String name, String description) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
Class<?>[] para = m.getParameterTypes(); Class<?>[] para = m.getParameterTypes();
if (para.length == 0) { if (para.length == 0) {
return m.invoke(null); return m.invoke(pirate);
} }
if (para.length == 1 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0])) { if (para.length == 1 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0])) {
return m.invoke(null, boon); return m.invoke(pirate, boon);
} }
if (para.length == 2 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0]) && String.class.isAssignableFrom(para[1])) { if (para.length == 2 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0]) && String.class.isAssignableFrom(para[1])) {
return m.invoke(null, boon, name); return m.invoke(pirate, boon, name);
} }
if (para.length == 3 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0]) && String.class.isAssignableFrom(para[1]) && String.class.isAssignableFrom(para[2])) { if (para.length == 3 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0]) && String.class.isAssignableFrom(para[1]) && String.class.isAssignableFrom(para[2])) {
return m.invoke(null, boon, name, description); return m.invoke(pirate, boon, name, description);
} }
throw new IllegalStateException("Unknown method parameters on: "+m.getDeclaringClass().getSimpleName()+"."+m.toGenericString()); throw new IllegalStateException("Unknown method parameters on: "+m.getDeclaringClass().getSimpleName()+"."+m.toGenericString());
} }

View file

@ -1,11 +1,11 @@
package love.distributedrebirth.bassboonyd.spider; package love.distributedrebirth.bassboon.death.spider;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

View file

@ -0,0 +1,12 @@
package love.distributedrebirth.bassboon.death.spider;
import java.lang.reflect.InvocationTargetException;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnSpiderSilk {
Object senseWire(BãßBȍőnʸᴰ<?> boon, String name, String description) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException;
}

View file

@ -1,11 +1,11 @@
package love.distributedrebirth.bassboonyd.spider; package love.distributedrebirth.bassboon.death.spider;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

View file

@ -0,0 +1,9 @@
package love.distributedrebirth.bassboon.ydmod;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnModuleFactory {
// unused
}

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractMBeanAttributeᴶᴹˣ implements MBeanAttributeᴶᴹˣ { abstract public class AbstractMBeanAttributeᴶᴹˣ implements MBeanAttributeᴶᴹˣ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@MBeanAttributeType注(Boolean.class) @MBeanAttributeType注(Boolean.class)

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@MBeanAttributeType注(Integer.class) @MBeanAttributeType注(Integer.class)

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@MBeanAttributeType注(Long.class) @MBeanAttributeType注(Long.class)

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@MBeanAttributeType注(String.class) @MBeanAttributeType注(String.class)

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@MBeanAttributeType注(Long.class) @MBeanAttributeType注(Long.class)

View file

@ -0,0 +1,111 @@
package love.distributedrebirth.bassboon.ydmod.jmx;
import java.lang.management.ManagementFactory;
import java.util.HashMap;
import java.util.Map;
import javax.management.InstanceAlreadyExistsException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.NotCompliantMBeanException;
import javax.management.ObjectName;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.DefaultEnumBaseʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAnnotation注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnClazz注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderEgg注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnAnnotation注(required = {BãßBȍőnClazz注.class})
public interface DefaultEnumBaseᴶᴹˣ<T extends BãßBȍőnʸᴰ<T>> extends DefaultEnumBaseʸᴰ<T> {
@BãßBȍőnPiratePhase注(dependencies = {BãßBȍőnPirateʸᴰ.βrahmanBoonBereshit.class})
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<DefaultEnumBaseᴶᴹˣ<?>> {
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_JMX = "爪哇管理擴展";
@Override
public void init(DefaultEnumBaseᴶᴹˣ<?> boon) {
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(Ꝑŕḯṿª.GHOST_JMX, new HashMap<>());
}
public <X> X buildJmxGhost(DefaultEnumBaseᴶᴹˣ<?> boon, String name, X result) {
boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_MAP_OBJ(Ꝑŕḯṿª.GHOST_JMX).put(name, result);
return result;
}
@BãßBȍőnSpiderEgg注()
public CounterGuageᴶᴹˣ buildGuageCounter(DefaultEnumBaseᴶᴹˣ<?> boon, String name, String description) {
return buildJmxGhost(boon, name, new CounterGuageᴶᴹˣ(name, description));
}
@BãßBȍőnSpiderEgg注()
public AttributeStringᴶᴹˣ buildStringAttribute(DefaultEnumBaseᴶᴹˣ<?> boon, String name, String description) {
return buildJmxGhost(boon, name, new AttributeStringᴶᴹˣ(name, description));
}
@BãßBȍőnSpiderEgg注()
public AttributeBooleanᴶᴹˣ buildBooleanAttribute(DefaultEnumBaseᴶᴹˣ<?> boon, String name, String description) {
return buildJmxGhost(boon, name, new AttributeBooleanᴶᴹˣ(name, description));
}
@BãßBȍőnSpiderEgg注()
public AttributeIntegerᴶᴹˣ buildIntegerAttribute(DefaultEnumBaseᴶᴹˣ<?> boon, String name, String description) {
return buildJmxGhost(boon, name, new AttributeIntegerᴶᴹˣ(name, description));
}
@BãßBȍőnSpiderEgg注()
public AttributeLongᴶᴹˣ buildLongAttribute(DefaultEnumBaseᴶᴹˣ<?> boon, String name, String description) {
return buildJmxGhost(boon, name, new AttributeLongᴶᴹˣ(name, description));
}
@BãßBȍőnSpiderEgg注()
public MBeanServerᴶᴹˣ buildMBeanServer(DefaultEnumBaseᴶᴹˣ<?> boon) {
return new MBeanServerᴶᴹˣ() {
private final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
@Override
public MBeanServer getServerᴶᴹˣ() {
return server;
}
@Override
public ObjectName toNameᴶᴹˣ(String name) {
try {
return new ObjectName(name);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void registerᴶᴹˣ(Object mbean, ObjectName objectName) {
try {
server.registerMBean(mbean, objectName);
} catch (InstanceAlreadyExistsException | MBeanRegistrationException
| NotCompliantMBeanException e) {
throw new RuntimeException(e);
}
}
};
}
public static MBeanDynamicᴶᴹˣ BeanCreateᴶᴹˣ(DefaultEnumBaseᴶᴹˣ<?> boon) {
return new MBeanDynamicᴶᴹˣ(boon.BãßClazzDoel(), BeanGhostsᴶᴹˣ(boon));
}
protected static Map<String, Object> BeanGhostsᴶᴹˣ(DefaultEnumBaseᴶᴹˣ<?> boon) {
return boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_MAP_OBJ(Ꝑŕḯṿª.GHOST_JMX);
}
}
}

View file

@ -0,0 +1,32 @@
package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.DefaultEnumInstanceʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderWire注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumInstanceᴶᴹˣ<T extends BãßBȍőnʸᴰ<T>> extends DefaultEnumBaseᴶᴹˣ<T>,DefaultEnumInstanceʸᴰ<T> {
@BãßBȍőnPiratePhase注(dependencies = {BãßBȍőnPirateʸᴰ.βrahmanBoonMarriage.class})
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<DefaultEnumInstanceᴶᴹˣ<?>> {
@BãßBȍőnSpiderWire注
private MBeanServerᴶᴹˣ factory;
@Override
public void init(DefaultEnumInstanceᴶᴹˣ<?> boon) {
StringBuilder name = new StringBuilder();
name.append(boon.BãßExportGroep());
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_COLON);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_TYPE);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_IS);
name.append(boon.BãßExportNaam());
MBeanDynamicᴶᴹˣ mbean = DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.BeanCreateᴶᴹˣ(boon);
factory.registerᴶᴹˣ(mbean, factory.toNameᴶᴹˣ(name.toString()));
}
}
}

View file

@ -0,0 +1,36 @@
package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.DefaultEnumSetʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderWire注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumSetᴶᴹˣ<T extends BãßBȍőnʸᴰ<T>> extends DefaultEnumBaseᴶᴹˣ<T>,DefaultEnumSetʸᴰ<T> {
@BãßBȍőnPiratePhase注(dependencies = {BãßBȍőnPirateʸᴰ.βrahmanBoonMarriage.class})
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<DefaultEnumSetᴶᴹˣ<?>> {
@BãßBȍőnSpiderWire注
private MBeanServerᴶᴹˣ factory;
@Override
public void init(DefaultEnumSetᴶᴹˣ<?> boon) {
StringBuilder name = new StringBuilder();
name.append(boon.BãßExportGroep());
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_COLON);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_TYPE);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_IS);
name.append(boon.BãßExportNaam());
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_COMMA);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_NAME);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_IS);
name.append(boon.BȍőnNaam());
MBeanDynamicᴶᴹˣ mbean = DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.BeanCreateᴶᴹˣ(boon);
factory.registerᴶᴹˣ(mbean, factory.toNameᴶᴹˣ(name.toString()));
}
}
}

View file

@ -1,11 +1,11 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface MBeanAttributeᴶᴹˣ { public interface MBeanAttributeᴶᴹˣ {

View file

@ -1,4 +1,4 @@
package love.distributedrebirth.bassboonyd.jmx; package love.distributedrebirth.bassboon.ydmod.jmx;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -15,7 +15,7 @@ import javax.management.MBeanInfo;
import javax.management.MBeanNotificationInfo; import javax.management.MBeanNotificationInfo;
import javax.management.ReflectionException; import javax.management.ReflectionException;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class MBeanDynamicᴶᴹˣ implements DynamicMBean { public class MBeanDynamicᴶᴹˣ implements DynamicMBean {

View file

@ -0,0 +1,16 @@
package love.distributedrebirth.bassboon.ydmod.jmx;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface MBeanServerᴶᴹˣ {
MBeanServer getServerᴶᴹˣ();
ObjectName toNameᴶᴹˣ(String name);
void registerᴶᴹˣ(Object mbean, ObjectName objectName);
}

View file

@ -1,15 +1,12 @@
package love.distributedrebirth.bassboonyd.coffin; package love.distributedrebirth.bassboon.ydmod.zombie;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnCoffin<T extends BãßBȍőnCoffinNail> { public interface BãßBȍőnEnumZombie<T extends BãßBȍőnEnumZombieBullet> {
BãßBȍőnCoffinGhost UNHOLY(Class<? extends BãßBȍőnꝐŕḯṿª> familyName);
Object GET_OBJ(T key); Object GET_OBJ(T key);

View file

@ -0,0 +1,17 @@
package love.distributedrebirth.bassboon.ydmod.zombie;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnEnumZombieBullet {
String name();
public static final class AutoFire implements BãßBȍőnEnumZombieBullet {
@Override
public String name() {
return getClass().getSimpleName();
}
}
}

View file

@ -0,0 +1,24 @@
package love.distributedrebirth.bassboon.ydmod.zombie;
import java.util.ArrayList;
import java.util.HashMap;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnEnumZombieCorpse<K extends BãßBȍőnEnumZombieBullet> extends BãßBȍőnEnumZombie<K> {
Object PUT_OBJ(K key, Object value);
default void PUT_MAP(K key) {
PUT_OBJ(key, new HashMap<>());
}
default void PUT_LIST(K key) {
PUT_OBJ(key, new ArrayList<>());
}
static <K extends BãßBȍőnEnumZombieBullet> BãßBȍőnEnumZombieCorpse<K> castᴼᶠ(BãßBȍőnEnumZombie<K> zombie) {
return (BãßBȍőnEnumZombieCorpse<K>) zombie;
}
}

View file

@ -0,0 +1,58 @@
package love.distributedrebirth.bassboon.ydmod.zombie;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnEnumZombieCorpseLock<K extends BãßBȍőnEnumZombieBullet> extends BãßBȍőnEnumZombieCorpse<K> {
BãßBȍőnEnumZombie<K> LOCK();
static <K extends BãßBȍőnEnumZombieBullet> BãßBȍőnEnumZombieCorpseLock<K> castᴼᶠ(BãßBȍőnEnumZombie<K> zombie) {
return (BãßBȍőnEnumZombieCorpseLock<K>) zombie;
}
static <Y extends BãßBȍőnEnumZombieBullet> BãßBȍőnEnumZombieCorpseLock<Y> instanceᴺᵉʷ() {
Function<Map<Y,Object>,BãßBȍőnEnumZombie<Y>> keyMaker = v -> {
Map<Y,Object> frozenFlesh = new HashMap<>(v);
for (Y bullet:v.keySet()) {
Object deadbeef = frozenFlesh.get(bullet);
if (deadbeef instanceof List) {
frozenFlesh.put(bullet, Collections.unmodifiableList((List<?>) deadbeef));
}
if (deadbeef instanceof Map) {
frozenFlesh.put(bullet, Collections.unmodifiableMap((Map<?,?>) deadbeef));
}
}
return new BãßBȍőnEnumZombie<>() {
@Override
public Object GET_OBJ(Y key) {
return frozenFlesh.get(key);
}
};
};
return new BãßBȍőnEnumZombieCorpseLock<Y>() {
private final Map<Y,Object> rottenFlesh = new HashMap<>();
@Override
public BãßBȍőnEnumZombie<Y> LOCK() {
return keyMaker.apply(rottenFlesh);
}
@Override
public Object GET_OBJ(Y key) {
return rottenFlesh.get(key);
}
@Override
public Object PUT_OBJ(Y key, Object value) {
return rottenFlesh.put(key, value);
}
};
}
}

View file

@ -0,0 +1,33 @@
package love.distributedrebirth.bassboon.ydmod.zombie;
import love.distributedrebirth.bassboon.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPiratePhase注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateʸᴰ;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnEnumZombieʸᴰ<T extends BãßBȍőnʸᴰ<T>, K extends BãßBȍőnEnumZombieBullet> extends BãßBȍőnʸᴰ<T> {
@BãßBȍőnPiratePhase注(dependencies = {BãßBȍőnPirateʸᴰ.βrahmanBoonBereshit.class})
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª<BãßBȍőnEnumZombieʸᴰ<?,?>> {
private static final String GHOST_ENUM_ZOMBIE = "枚舉殭屍";
@Override
public void init(BãßBȍőnEnumZombieʸᴰ<?,?> boon) {
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_ENUM_ZOMBIE, BãßBȍőnEnumZombieCorpseLock.instanceᴺᵉʷ());
}
@Override
public void lock(BãßBȍőnEnumZombieʸᴰ<?,?> boon) {
BãßBȍőnEnumZombie<?> zombie = boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_OBJ(GHOST_ENUM_ZOMBIE, BãßBȍőnEnumZombie.class);
zombie = BãßBȍőnEnumZombieCorpseLock.castᴼᶠ(zombie).LOCK();
boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_ENUM_ZOMBIE, zombie);
}
}
@SuppressWarnings("unchecked")
default BãßBȍőnEnumZombie<K> toEnumZombie() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_OBJ(Ꝑŕḯṿª.GHOST_ENUM_ZOMBIE, BãßBȍőnEnumZombie.class);
}
}

View file

@ -1,137 +0,0 @@
package love.distributedrebirth.bassboonyd;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Consumer;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffin;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinOpen;
import love.distributedrebirth.bassboonyd.sinit.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboonyd.spider.BãßBȍőnSpider;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface Bãß {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private static final Map<Object, βȍőnGrave> GRAVE_YARD = new WeakHashMap<>();
private static final ReadWriteLock FUNERAL = new ReentrantReadWriteLock();
private Ꝑŕḯṿª() {
}
@SafeVarargs
public static final <T, K extends BãßBȍőnCoffinNail> void 魎ᴵᴺᴵᵀ(BãßBȍőnʸᴰ<T,K> boon, Consumer<BãßBȍőnCoffinOpen<K>>...coffinFillers) { // mononoke-init
BãßBȍőnPhaseLoader.CAST_BONE_MAGIC(boon, 墳ᴼᶠ(boon).spider, coffinFillers);
}
protected static final <T, K extends BãßBȍőnCoffinNail> BãßBȍőnCoffin<K> 殭屍ᴼᶠ(BãßBȍőnʸᴰ<T,K> boon) { // zombie-of
return 墳ᴼᶠ(boon).石棺ᴹᵃᵍᶦᶜ(boon.getClass());
}
public static final <T, K extends BãßBȍőnCoffinNail> void 鎖ᴳᴿᴬⱽᴱ(BãßBȍőnʸᴰ<T,K> boon) { // lock-grave
BãßBȍőnCoffin<K> coffin = boon.toBBC();
if (!(coffin instanceof BãßBȍőnCoffinOpen)) {
return; // already closed
}
Lock graveDigger = FUNERAL.readLock();
graveDigger.lock();
try {
GRAVE_YARD.get(boon).棺ᴸᵒᶜᵏ();
} finally {
graveDigger.unlock();
}
}
private static final βȍőnGrave 墳ᴼᶠ(BãßBȍőnʸᴰ<?,?> boon) { // grave-of
βȍőnGrave boonGrave = null;
Lock bibleReader = FUNERAL.readLock(); // Can't force enum only, thus no jvm safety
bibleReader.lock();
try {
boonGrave = GRAVE_YARD.get(boon);
} finally {
bibleReader.unlock();
}
if (boonGrave == null) {
Lock shemiraWriter = FUNERAL.writeLock();
shemiraWriter.lock();
try {
boonGrave = new βȍőnGrave();
GRAVE_YARD.put(boon, boonGrave);
} finally {
shemiraWriter.unlock();
}
}
return boonGrave;
}
//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);
// }
// }
}
public static final class βȍőnGrave {
private final BãßBȍőnSpider spider;
private BãßBȍőnCoffin<?> coffin;
private βȍőnGrave() {
this.spider = new BãßBȍőnSpider();
this.coffin = BãßBȍőnCoffinOpen.newInstance();
}
@SuppressWarnings("unchecked")
private <T, K extends BãßBȍőnCoffinNail> BãßBȍőnCoffin<K> 石棺ᴹᵃᵍᶦᶜ(Class<T> coffinType) { // sarcophagus-magic
return (BãßBȍőnCoffin<K>) coffin;
}
private void 棺ᴸᵒᶜᵏ() { // coffin-lock
coffin = BãßBȍőnCoffinOpen.FROM(coffin).LOCK_COFFIN();
}
}
//@ImportStatic(guard = true, reason = "Death to import static name space pollution.")
public static final class ℭỗᶇṧⱦᶏꬼȶʂ {
// 4 is magnetic consent and 3 is forced stable outcome
public static final char CHAR_ZERO = '0';
public static final char CHAR_ONE = '1';
public static final char CHAR_SPACE = ' ';
public static final char CHAR_A = 'a';
public static final String STR_VOID = null;
public static final String STR_EMPTY = "";
public static final String STR_SPACE = " ";
public static final String STR_SPACE_CHINA = "\u3000";
public static final int INT_ZERO = 0;
public static final int INT_ONE = 1;
public static final int INT_TEN = 10;
public static final long LONG_ZERO = 0l;
public static final long LONG_ONE = 1l;
public static final long LONG_TEN = 10l;
public static final float FLOAT_ZERO = 0f;
public static final float FLOAT_ONE = 1f;
public static final float FLOAT_TEN = 10f;
public static final double DOUBLE_ZERO = 0d;
public static final double DOUBLE_ONE = 1d;
public static final double DOUBLE_TEN = 10d;
private ℭỗᶇṧⱦᶏꬼȶʂ() {
}
}
}

View file

@ -1,129 +0,0 @@
package love.distributedrebirth.bassboonyd;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnInfo注;
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.sinit.BãßBȍőnꝐŕḯṿªḕPhase注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
@BãßBȍőnInfo注(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ȍőnCoffinNail> extends BãßBȍőnʸᴰ<T, K> {
public static final class שְׁלֹמֹה {
// default internal framework boon phases
protected static final int BOON_VOID = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO;
protected static final int BOON_BERESHIT = BOON_VOID + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ONE;
protected static final int BOON_LAW = BOON_BERESHIT * Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_TEN;
protected static final int BOON_MARRIAGE = BOON_LAW + Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.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_יהוה = LIFE_QUADRANT_仙 + LIFE_QUADRANT_上 + LIFE_QUADRANT_主 + LIFE_QUADRANT_天;
private שְׁלֹמֹה() {
}
}
@BãßBȍőnꝐŕḯṿªḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.BOON_VOID)
public static final class βrahmanBoonVoid implements BãßBȍőnꝐŕḯṿª {
private βrahmanBoonVoid() {
}
@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 final class βrahmanBoonBereshit implements BãßBȍőnꝐŕḯṿª {
private βrahmanBoonBereshit() {
}
@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 final class βrahmanBoonLaw implements BãßBȍőnꝐŕḯṿª {
private βrahmanBoonLaw() {
}
@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 final class βrahmanBoonMarriage implements BãßBȍőnꝐŕḯṿª {
private βrahmanBoonMarriage() {
}
@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 final class βrahmanLifeQuadrant仙 implements BãßBȍőnꝐŕḯṿª {
private βrahmanLifeQuadrant仙() {
}
@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 final class βrahmanLifeQuadrant上 implements BãßBȍőnꝐŕḯṿª {
private βrahmanLifeQuadrant上() {
}
@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 final class βrahmanLifeQuadrant主 implements BãßBȍőnꝐŕḯṿª {
private βrahmanLifeQuadrant主() {
}
@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 final class βrahmanLifeQuadrant天 implements BãßBȍőnꝐŕḯṿª {
private βrahmanLifeQuadrant天() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {})
private static void initPhase(BãßBȍőnʸᴰ<?,?> boon) {
}
}
@BãßBȍőnꝐŕḯṿªḕPhase注(order = BãßBȍőnPhaseBarrierʸᴰ.שְׁלֹמֹה.LIFE_יהוה)
public static final class βrahmanLifeInit implements BãßBȍőnꝐŕḯṿª {
private βrahmanLifeInit() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {})
private static void initPhase(BãßBȍőnʸᴰ<?,?> boon) {
}
}
}

View file

@ -1,192 +0,0 @@
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.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinOpen;
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注;
import love.distributedrebirth.bassboonyd.spider.BãßBȍőnSpider;
import love.distributedrebirth.bassboonyd.spider.BãßBȍőnSpiderEgg注;
import love.distributedrebirth.bassboonyd.spider.BãßBȍőnSpiderSilk;
import love.distributedrebirth.bassboonyd.spider.BãßBȍőnSpiderWire注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public final class BãßBȍőnPhaseLoader {
private BãßBȍőnPhaseLoader() {
}
@SafeVarargs
protected static <T, K extends BãßBȍőnCoffinNail> void CAST_BONE_MAGIC(BãßBȍőnʸᴰ<T,K> boon, BãßBȍőnSpider spider, Consumer<BãßBȍőnCoffinOpen<K>>...coffinFillers) {
BãßBȍőnCoffinOpen<K> bbc = BãßBȍőnCoffinOpen.FROM(boon);
try {
for (Consumer<BãßBȍőnCoffinOpen<K>> embalmFactory:coffinFillers) {
embalmFactory.accept(bbc);
}
initPrivate(boon);
initSpiderEggs(boon, spider);
initSpiderWires(boon, spider);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static void initSpiderWires(Object boon, BãßBȍőnSpider spider) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
//System.out.println("SCAN-BOON-FIELD: "+boon.getClass().getSimpleName());
for (Field m:boon.getClass().getDeclaredFields()) {
if (!m.isAnnotationPresent(BãßBȍőnSpiderWire注.class)) {
continue;
}
BãßBȍőnSpiderWire注 anno = m.getAnnotation(BãßBȍőnSpiderWire注.class);
BãßBȍőnSpiderSilk silkRoad = spider.silkRoad(m.getType());
Object bean = silkRoad.senseWire(boon, anno.name(), anno.description());
//System.out.println("type: "+ m.getType() +" wth name: "+anno.name()+" of boon: "+boon.getClass());
m.setAccessible(true);
m.set(boon, bean);
}
}
private static <T, K extends BãßBȍőnCoffinNail> void initSpiderEggs(BãßBȍőnʸᴰ<T,K> boon, BãßBȍőnSpider spider) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
for (Class<?> interfaceClass:walkInterfaces(boon.getClass(), new LinkedHashSet<>())) {
for (Class<?> declaredClass:((Class<?>) interfaceClass).getDeclaredClasses()) {
initSpiderEggRegistrate(boon, spider, declaredClass);
}
}
for (Class<?> declaredClass:boon.getClass().getDeclaredClasses()) {
initSpiderEggRegistrate(boon, spider, declaredClass);
}
}
private static <T, K extends BãßBȍőnCoffinNail> void initSpiderEggRegistrate(BãßBȍőnʸᴰ<T,K> boon, BãßBȍőnSpider spider, Class<?> declaredClass) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
if (!BãßBȍőnꝐŕḯṿª.class.isAssignableFrom(declaredClass)) {
return;
}
for (Method m:declaredClass.getDeclaredMethods()) {
if (!m.isAnnotationPresent(BãßBȍőnSpiderEgg注.class)) {
continue;
}
//System.out.println("annoEgg: "+boon.getClass().getSimpleName()+"."+boon+" from: "+declaredClass.getName()+" m="+m.toGenericString());
m.setAccessible(true);
spider.registrateEgg(m.getReturnType(), m);
}
}
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ȍőnCoffinNail> 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);
}
}
}
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);
continue;
}
if (para.length == 1 && BãßBȍőnʸᴰ.class.isAssignableFrom(para[0])) {
m.invoke(null, boon);
continue;
}
throw new IllegalStateException("Unknown method parameters on: "+v.privateClass.getSimpleName()+"."+m.toGenericString());
}
}
private static <T, K extends BãßBȍőnCoffinNail> 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);
}
}
public static Set<Class<?>> walkInterfaces(Class<?> clazz, Set<Class<?>> result) {
while (clazz != null) {
for (Class<?> next : clazz.getInterfaces()) {
if (result.add(next)) {
walkInterfaces(next, result);
}
}
clazz = clazz.getSuperclass();
}
return result;
}
}

View file

@ -1,13 +0,0 @@
package love.distributedrebirth.bassboonyd;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffin;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnʸᴰ<T, K extends BãßBȍőnCoffinNail> {
default BãßBȍőnCoffin<K> toBBC() {
return Bãß.Ꝑŕḯṿª.殭屍ᴼᶠ(this);
}
}

View file

@ -1,19 +0,0 @@
package love.distributedrebirth.bassboonyd;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAnnotationʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthorʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnInfoʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnPackageʸᴰ;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultBãßBȍőnʸᴰ<T, K extends BãßBȍőnCoffinNail> extends
BãßBȍőnʸᴰ<T,K>,
BãßBȍőnPhaseBarrierʸᴰ<T,K>,
BãßBȍőnInfoʸᴰ<T,K>,
BãßBȍőnAuthorʸᴰ<T,K>,
BãßBȍőnPackageʸᴰ<T,K>,
BãßBȍőnAnnotationʸᴰ<T,K>
{
}

View file

@ -1,12 +0,0 @@
package love.distributedrebirth.bassboonyd;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumInstanceʸᴰ<T, K extends BãßBȍőnCoffinNail> extends DefaultEnumBaseʸᴰ<T,K> {
default T BãßInstance() {
return BãßInstances()[Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO];
}
}

View file

@ -1,36 +0,0 @@
package love.distributedrebirth.bassboonyd.clazz;
import java.lang.annotation.Annotation;
import java.util.LinkedHashSet;
import love.distributedrebirth.bassboonyd.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboonyd.coffin.BãßBȍőnCoffinNail;
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseLoader;
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ȍőnCoffinNail> extends BãßBȍőnʸᴰ<T, K> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private Ꝑŕḯṿª() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonLaw.class})
private static void init(BãßBȍőnʸᴰ<?,?> boon) {
for (Class<?> interfaceClass:BãßBȍőnPhaseLoader.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());
}
}
}
}
}
}

View file

@ -1,37 +0,0 @@
package love.distributedrebirth.bassboonyd.clazz;
import love.distributedrebirth.bassboonyd.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboonyd.coffin.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ȍőnAuthor注.class})
public interface BãßBȍőnAuthorʸᴰ<T, K extends BãßBȍőnCoffinNail> extends BãßBȍőnʸᴰ<T,K> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private static final String GHOST_KEY_AUTHOR_NAME = "authorName";
private static final String GHOST_KEY_AUTHOR_COPYRIGHT = "authorCopyright";
private static final String DEFAULT_AUTHOR_NAME = "奴隸來自 仙上主天";
private static final String DEFAULT_AUTHOR_COPYRIGHT = "©Δ∞ 仙上主天";
private Ꝑŕḯṿª() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonLaw.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);
boon.toBBC().UNHOLY(Ꝑŕḯṿª.class).PUT_GHOST(GHOST_KEY_AUTHOR_COPYRIGHT, anno!=null?anno.copyright():DEFAULT_AUTHOR_COPYRIGHT);
}
}
default String BãßAuthorNaam() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_KEY_AUTHOR_NAME);
}
default String BãßAuthorKopieërRecht() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_KEY_AUTHOR_COPYRIGHT);
}
}

View file

@ -1,44 +0,0 @@
package love.distributedrebirth.bassboonyd.clazz;
import love.distributedrebirth.bassboonyd.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboonyd.coffin.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 final 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";
private Ꝑŕḯṿª() {
}
@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);
}
}

View file

@ -1,29 +0,0 @@
package love.distributedrebirth.bassboonyd.clazz;
import love.distributedrebirth.bassboonyd.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboonyd.coffin.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ȍőnPackage注.class})
public interface BãßBȍőnPackageʸᴰ<T, K extends BãßBȍőnCoffinNail> extends BãßBȍőnʸᴰ<T, K> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private static final String GHOST_KEY_PACKAGE_NAME = "packageName";
private Ꝑŕḯṿª() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonLaw.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());
}
}
default String BãßPackageNaam() {
return toBBC().UNHOLY(Ꝑŕḯṿª.class).GHOST_STR(Ꝑŕḯṿª.GHOST_KEY_PACKAGE_NAME);
}
}

View file

@ -1,17 +0,0 @@
package love.distributedrebirth.bassboonyd.coffin;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnCoffinNail {
String name();
public static final class None implements BãßBȍőnCoffinNail {
@Override
public String name() {
return BãßBȍőnCoffinNail.class.getSimpleName();
}
}
}

View file

@ -1,126 +0,0 @@
package love.distributedrebirth.bassboonyd.coffin;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import love.distributedrebirth.bassboonyd.BãßBȍőnʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.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ȍőnCoffinNail> extends BãßBȍőnCoffin<T> {
BãßBȍőnCoffin<T> LOCK_COFFIN();
Object PUT_OBJ(T key, Object value);
default void PUT_MAP(T key) {
PUT_OBJ(key, new HashMap<>());
}
default void PUT_LIST(T key) {
PUT_OBJ(key, new ArrayList<>());
}
static <X, K extends BãßBȍőnCoffinNail> BãßBȍőnCoffinOpen<K> FROM(BãßBȍőnʸᴰ<X,K> boon) {
return FROM(boon.toBBC());
}
static <K extends BãßBȍőnCoffinNail> BãßBȍőnCoffinOpen<K> FROM(BãßBȍőnCoffin<K> bbc) {
return (BãßBȍőnCoffinOpen<K>) bbc;
}
static class BãßBȍőnFamilyGrave implements BãßBȍőnCoffinGhost {
private final Map<String,Object> ghosts = new HashMap<>();
//private volatile boolean deathLock = false;
//public void LOCK_GHOST() {
// deathLock = true;
//}
@Override
public Object PUT_GHOST(String key, Object value) {
//if (deathLock) {
// throw new IllegalStateException("Can't restore body of family ghost.");
//}
return ghosts.put(key, value);
}
@Override
public Object GHOST_OBJ(String key) {
return ghosts.get(key);
}
}
static <Y extends BãßBȍőnCoffinNail> BãßBȍőnCoffinOpen<Y> newInstance() {
return new BãßBȍőnCoffinOpen<Y>() {
private final Map<Y,Object> corpseParts = new HashMap<>();
private final Map<Class<?>,BãßBȍőnFamilyGrave> familyGrave = new HashMap<>();
private volatile boolean deathLock = false;
@Override
public BãßBȍőnCoffin<Y> LOCK_COFFIN() {
deathLock = true;
//for (BãßBȍőnFamilyGrave grave:familyGrave.values()) {
// grave.LOCK_GHOST();
//}
return createProxy();
}
@Override
public Object GET_OBJ(Y key) {
return corpseParts.get(key);
}
@Override
public Object PUT_OBJ(Y key, Object value) {
if (deathLock) {
throw new IllegalStateException("Can't put body parts in closed coffin.");
}
return corpseParts.put(key, value);
}
@Override
public BãßBȍőnCoffinGhost UNHOLY(Class<? extends BãßBȍőnꝐŕḯṿª> familyName) {
BãßBȍőnFamilyGrave familyGhosts = familyGrave.get(familyName);
if (familyGhosts == null) {
//if (deathLock) {
// throw new IllegalStateException("Can't add more death in closed coffin, its unholy.");
//}
familyGhosts = new BãßBȍőnFamilyGrave();
familyGrave.put(familyName, familyGhosts);
}
return familyGhosts;
}
private BãßBȍőnCoffin<Y> createProxy() {
final BãßBȍőnCoffin<Y> local = this;
/*
ClassLoader cl = Thread.currentThread().getContextClassLoader();
if (cl == null) {
cl = BãßBȍőnCoffinOpenʸᴰ.class.getClassLoader();
}
return (BãßBȍőnCoffinʸᴰ<Y>) Proxy.newProxyInstance(cl, new Class[]{BãßBȍőnCoffinʸᴰ.class}, new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Method localMethod = local.getClass().getMethod(method.getName(), method.getParameterTypes());
return localMethod.invoke(local, args);
}
});
*/
return new BãßBȍőnCoffin<Y>() {
@Override
public BãßBȍőnCoffinGhost UNHOLY(Class<? extends BãßBȍőnꝐŕḯṿª> familyName) {
return local.UNHOLY(familyName);
}
@Override
public Object GET_OBJ(Y key) {
return local.GET_OBJ(key);
}
};
}
};
}
}

View file

@ -1,72 +0,0 @@
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);
}
}

View file

@ -1,41 +0,0 @@
package love.distributedrebirth.bassboonyd.jmx;
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
import love.distributedrebirth.bassboonyd.DefaultEnumInstanceʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
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注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumInstanceᴶᴹˣ<T,K extends BãßBȍőnCoffinNail> extends DefaultEnumBaseᴶᴹˣ<T,K>,DefaultEnumInstanceʸᴰ<T,K> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private Ꝑŕḯṿª() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonMarriage.class})
private static void init(DefaultEnumBaseᴶᴹˣ<?,?> boon) {
try {
StringBuilder name = new StringBuilder();
name.append(boon.BãßPackageNaam());
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_COLON);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_TYPE);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_IS);
name.append(boon.BãßInfoNaam());
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
ObjectName objectName = new ObjectName(name.toString());
server.registerMBean(new MBeanDynamicᴶᴹˣ(boon.BãßInfoDoel(), DefaultEnumBaseᴶᴹˣ.jmxGhosts(boon.toBBC())), objectName);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}

View file

@ -1,45 +0,0 @@
package love.distributedrebirth.bassboonyd.jmx;
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import love.distributedrebirth.bassboonyd.BãßBȍőnPhaseBarrierʸᴰ;
import love.distributedrebirth.bassboonyd.DefaultEnumSetʸᴰ;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
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注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface DefaultEnumSetᴶᴹˣ<T,K extends BãßBȍőnCoffinNail> extends DefaultEnumBaseᴶᴹˣ<T,K>,DefaultEnumSetʸᴰ<T,K> {
public static final class Ꝑŕḯṿª implements BãßBȍőnꝐŕḯṿª {
private Ꝑŕḯṿª() {
}
@BãßBȍőnꝐŕḯṿªḕInit注(dependencies = {BãßBȍőnPhaseBarrierʸᴰ.βrahmanBoonMarriage.class})
private static void init(DefaultEnumBaseᴶᴹˣ<?,?> boon) {
try {
StringBuilder name = new StringBuilder();
name.append(boon.BãßPackageNaam());
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_COLON);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_TYPE);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_IS);
name.append(boon.BãßInfoNaam());
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_COMMA);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_NAME);
name.append(DefaultEnumBaseᴶᴹˣ.Ꝑŕḯṿª.STR_IS);
name.append(boon.BȍőnNaam());
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
ObjectName objectName = new ObjectName(name.toString());
server.registerMBean(new MBeanDynamicᴶᴹˣ(boon.BãßInfoDoel(), DefaultEnumBaseᴶᴹˣ.jmxGhosts(boon.toBBC())), objectName);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}

View file

@ -1,8 +0,0 @@
package love.distributedrebirth.bassboonyd.sinit;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnꝐŕḯṿª {
// note: eclipse ide does not want to refactor items with the name "Ꝑŕḯṿª₮ḕ" in it.
}

View file

@ -1,17 +0,0 @@
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.clazz.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ʸᴰ.βrahmanLifeInit.class};
}

View file

@ -1,11 +0,0 @@
package love.distributedrebirth.bassboonyd.spider;
import java.lang.reflect.InvocationTargetException;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface BãßBȍőnSpiderSilk {
Object senseWire(Object boon, String name, String description) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException;
}

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.imxmi; package love.distributedrebirth.imxmi;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class ImXmiSetup { public class ImXmiSetup {

View file

@ -2,7 +2,7 @@ package love.distributedrebirth.imxmi.lang;
import java.util.function.Function; import java.util.function.Function;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractImComponentDataˣᴹᴵ implements ImComponentDataˣᴹᴵ { abstract public class AbstractImComponentDataˣᴹᴵ implements ImComponentDataˣᴹᴵ {

View file

@ -3,7 +3,7 @@ package love.distributedrebirth.imxmi.lang;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractImComponentSetˣᴹᴵ implements ImComponentSetˣᴹᴵ { abstract public class AbstractImComponentSetˣᴹᴵ implements ImComponentSetˣᴹᴵ {

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.imxmi.lang; package love.distributedrebirth.imxmi.lang;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
abstract public class AbstractImComponentˣᴹᴵ implements ImComponentˣᴹᴵ { abstract public class AbstractImComponentˣᴹᴵ implements ImComponentˣᴹᴵ {

View file

@ -1,7 +1,7 @@
package love.distributedrebirth.imxmi.lang; package love.distributedrebirth.imxmi.lang;
import imgui.ImGui; import imgui.ImGui;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class ImButtonˣᴹᴵ extends AbstractImComponentˣᴹᴵ { public class ImButtonˣᴹᴵ extends AbstractImComponentˣᴹᴵ {

View file

@ -2,7 +2,7 @@ package love.distributedrebirth.imxmi.lang;
import imgui.ImGui; import imgui.ImGui;
import imgui.type.ImInt; import imgui.type.ImInt;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class ImComboˣᴹᴵ extends AbstractImComponentˣᴹᴵ { public class ImComboˣᴹᴵ extends AbstractImComponentˣᴹᴵ {

View file

@ -2,7 +2,7 @@ package love.distributedrebirth.imxmi.lang;
import java.util.function.Function; import java.util.function.Function;
import love.distributedrebirth.bassboonyd.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface ImComponentDataˣᴹᴵ extends ImComponentˣᴹᴵ { public interface ImComponentDataˣᴹᴵ extends ImComponentˣᴹᴵ {

Some files were not shown because too many files have changed in this diff Show more