diff --git a/README.md b/README.md index 0be22d15..0c566c2e 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,8 @@ When hyperdrive is running just start the jar file with; ### Project Launch IDE -Run "mvn package" after every git pull. +Run "mvn package" after every git pull. +(note: bassbone may fail sometimes, just run maven again and it works.....) Run the main class from gdxapp4d-boot-desktop; love.distributedrebirth.gdxapp4d.boot.desktop.GDXAppDesktopLauncher diff --git a/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java b/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java index f62734b4..b63d46fb 100644 --- a/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java +++ b/gdxapp4d-app-notepad/src/main/java/love/distributedrebirth/gdxapp4d/app/notepad/NotepadDeskApp.java @@ -66,7 +66,7 @@ public class NotepadDeskApp extends AbstractDeskApp implements DeskAppRenderer, public NotepadDeskApp(BundleContext context, VrGem4Unicode4DService unicode4DService3) { toBBC().UNHOLY_SPELL(Ꝑŕḯṿª₮ḕ.class).PUT_GHOST(Ꝑŕḯṿª₮ḕ.GHOST_BUNDLE, context); // tmp test - Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.𓂀ױןייזדזיודזיןןזזזןױ𓉢(this); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.𓂀ױןייזדזיודזיןןזזזןױ𓉢(this); //this.unicode4DService = unicode4DService; this.gridBuffer = new int[gridHeight][gridWidth]; diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/Bãß.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/Bãß.java index 197624e3..cf3e6a49 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/Bãß.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/Bãß.java @@ -1,5 +1,6 @@ package love.distributedrebirth.bassboon; +import java.lang.instrument.Instrumentation; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Collections; @@ -12,6 +13,8 @@ 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.BãßBȍőnDuytsFlüstern注; +import love.distributedrebirth.bassboon.clazz.BãßBȍőnExport注; import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª₮ḕ; import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª₮ḕ響ᴼᶠ; import love.distributedrebirth.bassboon.death.BãßBȍőnCoffin; @@ -21,10 +24,16 @@ 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; import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderSperm; +import love.distributedrebirth.bassboon.death.spider.BãßBȍőnSpiderWire注; +import love.distributedrebirth.bassboon.jpp.lang.ObjectScopeLimitΔ邪ᙾ; +import love.distributedrebirth.bassboon.jpp.lang.Runnableբ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer邪ᙾ; import love.distributedrebirth.bassboon.jpp.util.concurrent.locks.DummyReadWriteLock; +import love.distributedrebirth.bassboon.yd.abacus.BãßBȍőnAbacusInstanceMBeanʸᴰ; +import love.distributedrebirth.bassboon.yd.jmx.CounterGuageᴶᴹˣ; /** - * Runtime for static bass noise. + * Runtime for static bass noise ௸. */ @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") public interface Bãß { @@ -32,14 +41,33 @@ public interface Bãß { /** * Sarcophagus aggregates Y-Dimensions. */ - static enum 石棺ʸᴰ { - ײاللهזأَكْبَرײ; - private final Map יְרוּשָׁלַיִם = new WeakHashMap<>(); - private final List സ്പൈഡർബീജം = Collections.synchronizedList(new ArrayList<>()); + @BãßBȍőnDuytsFlüstern注(purpose = "Framework startup.") + @BãßBȍőnExport注(group = "love.distributedrebirth.bassboon") + static enum 石棺ʸᴰ implements BãßBȍőnAbacusInstanceMBeanʸᴰ<石棺ʸᴰ> { + أَكْبَرײꣻײالله; + private final Map יְרוּשָׁלַיִםᵗʷᵒ = new WeakHashMap<>(); + private final List സ്പൈഡർബീജം = Bãß.характеристики.熱蘭遮城.ןװיזױזזךזדןװיױןױדודו(); private final 𝔅𝔬𝔫𝔢𝔏𝔬𝔞𝔡𝔢𝔯ʸᴰ 𝔪𝔬𝔬𝔫𝔖𝔭𝔢𝔩𝔩𝔚𝔬𝔯𝔨 = Bãß.характеристики.熱蘭遮城.ןיװיזױױדודזיןןןזךױזזז(); - private final ReadWriteLock 魎 = Bãß.характеристики.熱蘭遮城.ןיװיןזךױזױדזיןןזזזױדו(); // Mononoke Lock - private final Lock 魎_BIBLE = 魎.readLock(); - private final Lock 魎_SHEMIRA = 魎.writeLock(); + private final ReadWriteLock 魎 = Bãß.характеристики.熱蘭遮城.ןיװיןזךױזױדזיןןזזזױדו(); + private final Lock 魎_いい人生 = 魎.readLock(); // mononoke good life + private final Lock 魎_שמירה = 魎.writeLock(); // mononoke death guard + @BãßBȍőnSpiderWire注(name = "boonCntInit") + private CounterGuageᴶᴹˣ boonCntInit = new CounterGuageᴶᴹˣ("init", "only"); // TODO: fix to protected so this is not possible... + @BãßBȍőnSpiderWire注(name = "boonCntInit") + private CounterGuageᴶᴹˣ boonCntLock = new CounterGuageᴶᴹˣ("init", "only"); + @BãßBȍőnSpiderWire注(name = "bassCntSpiderEmbryos") + private CounterGuageᴶᴹˣ bassCntSpiderEmbryos = new CounterGuageᴶᴹˣ("init", "only"); + @BãßBȍőnSpiderWire注(name = "bassCntCoffinToGrave") + private CounterGuageᴶᴹˣ bassCntCoffinToGrave = new CounterGuageᴶᴹˣ("init", "only"); + @BãßBȍőnSpiderWire注(name = "bassCntDigToGrave") + private CounterGuageᴶᴹˣ bassCntDigToGrave = new CounterGuageᴶᴹˣ("init", "only"); + @BãßBȍőnSpiderWire注(name = "bassCntCoffinBurried") + private CounterGuageᴶᴹˣ bassCntCoffinBurried = new CounterGuageᴶᴹˣ("init", "only"); + private Runnableբ.जंगम Г̄Ѫӏ = () -> { + // self first boot, one time only without if statements... + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.挖ᵀᵒ(Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله).init(Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.Г̄Ѫӏ = () -> boonCntInit.increment(); + }; /** * Sarcophagus is closed for humans. @@ -52,6 +80,8 @@ public interface Bãß { * RÅ...........Init */ public > void 𓂀ױןייזדזיודזיןןזזזןױ𓉢(BãßBȍőnʸᴰ derKnochen) { + //boonCntInit.increment(); + Г̄Ѫӏ.दौड़ना(); 挖ᵀᵒ(derKnochen).init(derKnochen); } @@ -59,6 +89,7 @@ public interface Bãß { * Grave Lock */ public > void 墳ᴸᵒᶜᵏ(BãßBȍőnʸᴰ derKnochen) { + boonCntLock.increment(); 挖ᵀᵒ(derKnochen).lock(derKnochen); } @@ -66,6 +97,7 @@ public interface Bãß { * Spider Embryo Add */ public void 蜘蛛胚ᴬᵈᵈ(BãßBȍőnSpiderSperm spinneSperma) { + bassCntSpiderEmbryos.increment(); സ്പൈഡർബീജം.add(spinneSperma); } @@ -73,9 +105,11 @@ public interface Bãß { * Coffin Of */ protected > BãßBȍőnCoffin 棺ᴼᶠ(BãßBȍőnʸᴰ derKnochen) { + bassCntCoffinToGrave.increment(); return 挖ᵀᵒ(derKnochen); } protected , G extends BãßBȍőnCoffinDuytschenᵗˣᵗ> G 棺ᴼᶠ(BãßBȍőnʸᴰ derKnochen, Class duytschen) { + bassCntCoffinToGrave.increment(); return 挖ᵀᵒ(derKnochen).ₜₒI18Nᵗˣᵗ(duytschen); } @@ -83,21 +117,23 @@ public interface Bãß { * Dig To */ private > BȍőnGrave 挖ᵀᵒ(BãßBȍőnʸᴰ derKnochen) { + bassCntDigToGrave.increment(); BȍőnGrave 𓁀 = null; - 魎_BIBLE.lock(); + 魎_いい人生.lock(); try { - 𓁀 = יְרוּשָׁלַיִם.get(derKnochen); + 𓁀 = יְרוּשָׁלַיִםᵗʷᵒ.get(derKnochen); } finally { - 魎_BIBLE.unlock(); + 魎_いい人生.unlock(); } if (𓁀 == null) { - 魎_SHEMIRA.lock(); + 魎_שמירה.lock(); try { 𓁀 = new BȍőnGrave(𝔪𝔬𝔬𝔫𝔖𝔭𝔢𝔩𝔩𝔚𝔬𝔯𝔨, സ്പൈഡർബീജം); - יְרוּשָׁלַיִם.put(derKnochen, 𓁀); + יְרוּשָׁלַיִםᵗʷᵒ.put(derKnochen, 𓁀); } finally { - 魎_SHEMIRA.unlock(); + 魎_שמירה.unlock(); } + bassCntCoffinBurried.increment(); } return 𓁀; } @@ -294,15 +330,28 @@ public interface Bãß { protected ReadWriteLock ןיװיןזךױזױדזיןןזזזױדו() { ױזדיןזךזןיןױז(); if (יזױזװיךןךױזױ) { - //System.out.println("LOCK: ReentrantReadWriteLock"); return new ReentrantReadWriteLock(); - } else { - //System.out.println("LOCK: DummyReadWriteLock"); - return new DummyReadWriteLock(); } + return new DummyReadWriteLock(); } - protected class װошибкаיзапускаיракетыװ extends RuntimeException { + protected Map ןיזזױזזךױװיןװיןױדזיװיךזדודו() { + ױזדיןזךזןיןױז(); + if (יזױזװיךןךױזױ) { + return Collections.synchronizedMap(new HashMap<>()); + } + return new HashMap<>(); + } + + protected List ןװיזױזזךזדןװיױןױדודו() { + ױזדיןזךזןיןױז(); + if (יזױזװיךןךױזױ) { + return Collections.synchronizedList(new ArrayList<>()); + } + return new ArrayList<>(); + } + + protected static class װошибкаיзапускаיракетыװ extends RuntimeException { private static final long serialVersionUID = Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.LONG_ONE; protected װошибкаיзапускаיракетыװ(Exception err) { super(err); @@ -310,6 +359,13 @@ public interface Bãß { protected װошибкаיзапускаיракетыװ(String msg) { super(msg); } + enum 邪ᙾ { + ; + public static void agentmain(String agentArgs, Instrumentation inst) {// test + inst.addTransformer(new BabelLocalizer邪ᙾ(), true); + inst.addTransformer(new ObjectScopeLimitΔ邪ᙾ(), true); + } + } } } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/BãßBȍőnʸᴰ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/BãßBȍőnʸᴰ.java index 71d5644a..26c6d789 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/BãßBȍőnʸᴰ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/BãßBȍőnʸᴰ.java @@ -21,6 +21,10 @@ public interface BãßBȍőnʸᴰ> { // } default BãßBȍőnCoffin toBBC() { - return Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.棺ᴼᶠ(this); // ...to seek 6 bit BASIC death, so the blind can see + return Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.棺ᴼᶠ(this); // ...to seek 6 bit BASIC death, so the blind can see } + +// static BãßBȍőnCoffin coffinOf(BãßBȍőnʸᴰ boon) { +// return Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.棺ᴼᶠ(boon); +// } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/DefaultBȍőnLoader.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/DefaultBȍőnLoader.java index 895970d8..8313d478 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/DefaultBȍőnLoader.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/DefaultBȍőnLoader.java @@ -1,5 +1,6 @@ package love.distributedrebirth.bassboon; +import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -65,7 +66,7 @@ public final class DefaultBȍőnLoader implements Bãß.𝔅𝔬𝔫𝔢𝔏𝔬 for (Class duytschenType:duytschenCoffins.keySet()) { BãßBȍőnCoffinDuytschenᵗˣᵗ duytschenCoffin = duytschenCoffins.get(duytschenType); - //System.out.println("INIT.REG "+duytschenType+" senseResult="+duytschenCoffin); + //System.out.println("INIT.REG_TXT "+duytschenType+" senseResult="+duytschenCoffin); spider.registrateEgg(duytschenType, new BãßBȍőnSpiderSilk() { @Override public Object senseWire(BãßBȍőnʸᴰ boonTmp, String name, String description) @@ -74,12 +75,24 @@ public final class DefaultBȍőnLoader implements Bãß.𝔅𝔬𝔫𝔢𝔏𝔬 } }); } + for (Annotation anno:boon.getClass().getDeclaredAnnotations()) { + //System.out.println("INIT.REG_ANNO "+anno.annotationType()); + spider.registrateEgg(anno.annotationType(), new BãßBȍőnSpiderSilk() { + @Override + public Object senseWire(BãßBȍőnʸᴰ boonTmp, String name, String description) + throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { + return anno; + } + }); + } + Set> ydmods = new HashSet<>(); for (PiratePhaseBoat boat : loadPirateBoats(boon)) { //System.out.println("INIT.RUN "+boat.pirateClazz.getName()); if (ydmods.add(boat.pirateClazz.getDeclaringClass())) { + //System.out.println("INIT.REG_MOD "+boat.pirateClazz.getDeclaringClass()); spider.registrateEgg(boat.pirateClazz.getDeclaringClass(), new BãßBȍőnSpiderSilk() { @Override public Object senseWire(BãßBȍőnʸᴰ boonTmp, String name, String description) @@ -93,7 +106,7 @@ public final class DefaultBȍőnLoader implements Bãß.𝔅𝔬𝔫𝔢𝔏𝔬 BãßBȍőnꝐŕḯṿª₮ḕ響ᴼᶠ soundOf = boat.pirate.init(); Class soundOfType = soundOf.getClass().getInterfaces()[0]; // TOOD .... if (ydmods.add(soundOfType)) { - //System.out.println("INIT.SOUND "+soundOfType); + //System.out.println("INIT.REG_SND "+soundOfType); spider.registrateEgg(soundOfType, new BãßBȍőnSpiderSilk() { @Override public Object senseWire(BãßBȍőnʸᴰ boonTmp, String name, String description) @@ -222,6 +235,10 @@ public final class DefaultBȍőnLoader implements Bãß.𝔅𝔬𝔫𝔢𝔏𝔬 } } + public static Class findInterfaceByAnnotation(Class clazz, Class annoType) { + return walkInterfaces(clazz, new LinkedHashSet<>()).stream().filter(v -> v.isAnnotationPresent(annoType)).findFirst().get(); + } + public static Set> walkInterfaces(Class clazz, Set> result) { return walkTree(clazz, result, v -> Arrays.asList(v.getInterfaces()), v -> v.getSuperclass()); } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthorʸᴰ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthorʸᴰ.java index 3cc99259..b69e4eec 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthorʸᴰ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthorʸᴰ.java @@ -21,6 +21,9 @@ public interface BãßBȍőnAuthorʸᴰ> extends B @BãßBȍőnSpiderWire注 private BãßBȍőnAuthorʸᴰ boon; + +// @BãßBȍőnSpiderWire注 +// private BãßBȍőnAuthor注 anno; @Override public BãßBȍőnAuthor響ᴼᶠ init() { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthor響ᴼᶠ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthor響ᴼᶠ.java index 02087cd3..0cd47a81 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthor響ᴼᶠ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnAuthor響ᴼᶠ.java @@ -13,4 +13,32 @@ public interface BãßBȍőnAuthor響ᴼᶠ extends BãßBȍőnꝐŕḯṿª₮ @BãßBȍőnDuytschen注(中國 = "版權", BASIC = "COPYRIGHT", 𓃬𓍄𓋹𓀭 = "𓎡𓊝𓇋𓇋𓂏𓇋𓇋𓈏") StringUnicode kopieërRecht(); + + /* + @BãßBȍőnDuytsFlüstern注(purpose = "低音 骨 作者 噪音 的") + class 中國 extends BãßBȍőnAuthor響ᴬᵖᶦ { + public StringUnicode 姓名() { return ᵃpᵢ.naam(); } + public StringUnicode 版權() { return ᵃpᵢ.kopieërRecht(); } + + public BãßBȍőnAuthor響ᴬᵖᶦ test() { + BãßBȍőnAuthor響ᴼᶠ res = null; + + ᵃpᵢ.test().toApi(null); + + return res.toApi(getClass()); + } + } + + @BãßBȍőnDuytsFlüstern注(purpose = "BASS_BONE_AUTHOR_NOISE_OF") + class BASIC extends BãßBȍőnAuthor響ᴬᵖᶦ { + public StringUnicode NAME() { return ᵃpᵢ.naam(); } + public StringUnicode COPYRIGHT() { return ᵃpᵢ.kopieërRecht(); } + } + + @BãßBȍőnDuytsFlüstern注(purpose = "𓃀𓅂𓋴 𓂿𓌇 𓅃𓅱𓋊𓌟𓁹 𓈖𓇋𓌗𓌇 𓅂𓏲𓆑") + class 𓃬𓍄𓋹𓀭 extends BãßBȍőnAuthor響ᴬᵖᶦ { + public StringUnicode 𓈖𓅂𓅓() { return ᵃpᵢ.naam(); } + public StringUnicode 𓎡𓊝𓇋𓇋𓂏𓇋𓇋𓈏() { return ᵃpᵢ.kopieërRecht(); } + } + */ } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnExportʸᴰ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnExportʸᴰ.java index 637ec129..2b09982b 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnExportʸᴰ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/BãßBȍőnExportʸᴰ.java @@ -21,6 +21,9 @@ public interface BãßBȍőnExportʸᴰ> extends B @BãßBȍőnSpiderWire注 private BãßBȍőnExportʸᴰ boon; + @BãßBȍőnSpiderWire注 + private BãßBȍőnAuthor響ᴼᶠ frw; + @BãßBȍőnSpiderWire注 private BãßBȍőnCoffinDuytschenᵗˣᵗ.𓃬𓍄𓋹𓀭 𓁀; diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/pirate/BãßBȍőnꝐŕḯṿª₮ḕ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/pirate/BãßBȍőnꝐŕḯṿª₮ḕ.java index fea9edf7..2fea1a80 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/pirate/BãßBȍőnꝐŕḯṿª₮ḕ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/clazz/pirate/BãßBȍőnꝐŕḯṿª₮ḕ.java @@ -1,9 +1,10 @@ package love.distributedrebirth.bassboon.clazz.pirate; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.ObjectScopeLimitΔ; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -public interface BãßBȍőnꝐŕḯṿª₮ḕ { +public interface BãßBȍőnꝐŕḯṿª₮ḕ extends ObjectScopeLimitΔ.ƉěꬵḭȵᶒModifier.Ꝑŕḯṿª₮ḕ { // note: eclipse ide does not want to refactor items with the name "Ꝑŕḯṿª₮ḕ" in it. default BãßBȍőnꝐŕḯṿª₮ḕ響ᴼᶠ init() { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/death/BãßBȍőnCoffinDuytschenᵗˣᵗ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/death/BãßBȍőnCoffinDuytschenᵗˣᵗ.java index c6751471..549f336f 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/death/BãßBȍőnCoffinDuytschenᵗˣᵗ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/death/BãßBȍőnCoffinDuytschenᵗˣᵗ.java @@ -10,60 +10,38 @@ import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª₮ public interface BãßBȍőnCoffinDuytschenᵗˣᵗ { static void ײₚᵤₜI18Nᵗˣᵗײ(Map,BãßBȍőnCoffinDuytschenᵗˣᵗ> map, BãßBȍőnCoffin wrap) { + BASIC tank1 = new BASIC(); + tank1.init(wrap); + map.put(BASIC.class, tank1); - //BASIC basic2 = new BASIC(); - //basic2.ײₐₚᵢI18Nᵗˣᵗײ(wrap); + ױןיװיזױױודזיןןזזזןױ tank2 = new ױןיװיזױױודזיןןזזזןױ(); + tank2.init(wrap); + map.put(ױןיװיזױױודזיןןזזזןױ.class, tank2); - //ױןיװיזױױודזיןןזזזןױ tone = new ױןיװיזױױודזיןןזזזןױ(); - //tone.ײₐₚᵢI18Nᵗˣᵗײ(wrap); + 中國 tank3 = new 中國(); + tank3.init(wrap); + map.put(中國.class, tank3); - map.put(BASIC.class, new BASIC().ײₐₚᵢI18Nᵗˣᵗײ(wrap)); - map.put(ױןיװיזױױודזיןןזזזןױ.class, new ױןיװיזױױודזיןןזזזןױ().ײₐₚᵢI18Nᵗˣᵗײ(wrap)); - map.put(中國.class, new 中國().ײₐₚᵢI18Nᵗˣᵗײ(wrap)); - map.put(𓃬𓍄𓋹𓀭.class, new 𓃬𓍄𓋹𓀭().ײₐₚᵢI18Nᵗˣᵗײ(wrap)); - map.put(عربى.class, new عربى().ײₐₚᵢI18Nᵗˣᵗײ(wrap)); - map.put(עִברִית.class, new עִברִית().ײₐₚᵢI18Nᵗˣᵗײ(wrap)); + 𓃬𓍄𓋹𓀭 tank4 = new 𓃬𓍄𓋹𓀭(); + tank4.init(wrap); + map.put(𓃬𓍄𓋹𓀭.class, tank4); - //map.put(BASIC.class, ₜₒBASICᵗˣᵗ(wrap)); - //map.put(ױןיװיזױױודזיןןזזזןױ.class, tone); - //map.put(中國.class, ₜₒ中國ᵗˣᵗ(wrap)); - //map.put(𓃬𓍄𓋹𓀭.class, ₜₒ𓃬𓍄𓋹𓀭ᵗˣᵗ(wrap)); - //map.put(عربى.class, ₜₒعربىᵗˣᵗ(wrap)); - //map.put(עִברִית.class, ₜₒעִברִיתᵗˣᵗ(wrap)); + عربى tank5 = new عربى(); + tank5.init(wrap); + map.put(عربى.class, tank5); + + עִברִית tank6 = new עִברִית(); + tank6.init(wrap); + map.put(עִברִית.class, tank6); } - interface BãßBȍőnDuytschenApiᴺᵉᵘ { - } - - abstract class BãßBȍőnDuytschenBaseᴬᵖᶦ implements BãßBȍőnDuytschenApiᴺᵉᵘ { - - abstract protected Y ײₐₚᵢI18Nᵗˣᵗײ(T api); - } - - class BãßBȍőnDuytschenI18Nᴬᵖᶦ extends BãßBȍőnDuytschenBaseᴬᵖᶦ { - - protected T ᵃpᵢ; - - @SuppressWarnings("unchecked") - @Override - protected Y ײₐₚᵢI18Nᵗˣᵗײ(T api) { - this.ᵃpᵢ = api; - return (Y) this; + class BãßBȍőnCoffinDuytschenᴬᵖᶦ implements BãßBȍőnCoffinDuytschenᵗˣᵗ { + BãßBȍőnCoffin ᵃpᵢ; + void init(BãßBȍőnCoffin wrap) { + this.ᵃpᵢ = wrap; } } - - class BãßBȍőnCoffinDuytschenᴬᵖᶦ extends BãßBȍőnDuytschenI18Nᴬᵖᶦ implements BãßBȍőnCoffinDuytschenᵗˣᵗ { - - } - // opt1 = "ײ" - // opt2 = "ױ" - // opt6 = "ו" - // opt5 = "י" - // opt4 = "ז" - // opt7 = "ד" - // opt3 = "ן" - // opt8 = "ך" class ױןיװיזױױודזיןןזזזןױ extends BãßBȍőnCoffinDuytschenᴬᵖᶦ { public BãßBȍőnCoffinGhost ײןןזזײ(Class ײןןךז) { return ᵃpᵢ.UNHOLY(ײןןךז); } public BãßBȍőnCoffinGhostSpell ײזזןןײןןךזזײ(Class ײןןךז) { return ᵃpᵢ.UNHOLY_SPELL(ײןןךז); } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Comparableբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Comparableբ.java new file mode 100644 index 00000000..e40682a3 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Comparableբ.java @@ -0,0 +1,53 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Comparableբ extends Comparable,Babelizeբᴬᵖᶦ { + + @FunctionalInterface + interface זױזזױזזזז<יזזױזזז> extends Comparableբ<יזזױזזז>, BabelLocalizer.Hinarī { + + @Override + default int compareTo(יזזױזזז יזזי) { + return יזזיױזזזױזזזזז(יזזי); + } + + int יזזיױזזזױזזזזז(יזזױזזז יזזי); + } + + @FunctionalInterface + interface 可比<仿製藥> extends Comparableբ<仿製藥>, BabelLocalizer.Mandarin { + + @Override + default int compareTo(仿製藥 物) { + return 相比龸至(物); + } + + int 相比龸至(仿製藥 物); + } + + @FunctionalInterface + interface तुलनीय<जेनरिक> extends Comparableբ<जेनरिक>, BabelLocalizer.Hindi { + + @Override + default int compareTo(जेनरिक चीज़) { + return तुलनाꣻप्रति(चीज़); + } + + int तुलनाꣻप्रति(जेनरिक चीज़); + } + + @FunctionalInterface + interface 𓌭𓍝<𓉢> extends Comparableբ<𓉢>, BabelLocalizer.Hiero { + + @Override + default int compareTo(𓉢 𓐠) { + return 𓍝(𓐠); + } + + int 𓍝(𓉢 𓐠); + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectScopeLimitΔ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectScopeLimitΔ.java new file mode 100644 index 00000000..61287753 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectScopeLimitΔ.java @@ -0,0 +1,65 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©⍙ ∞ 仙上主天") +public enum ObjectScopeLimitΔ { + ; // Empty scopes is a human thing + + enum Ꝑŕḯṿª₮ḕ { + ; + + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE}) + @interface DeathMatchPrefix注 { + String match(); + String lastBreath(); + } + + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE}) + @interface DeathMatchName注 { + String match(); + String lastBreath(); + } + + interface ꞱDentalClickNoise抽 extends Objectᴶᐩᐩ { // Africa type elevator smoke(abstract) + } + interface ꞱClassNameType抽 extends ꞱDentalClickNoise抽 { + } + interface ꞱClassScopeType抽 extends ꞱDentalClickNoise抽 { + } + } + + public enum ƉěꬵḭȵᶒClazzName { + ; + @Ꝑŕḯṿª₮ḕ.DeathMatchPrefix注(match = "Ʇ", lastBreath = "A african type elevator must start with: ") + public interface ꞱPrefix extends Ꝑŕḯṿª₮ḕ.ꞱClassNameType抽 { + } + @Ꝑŕḯṿª₮ḕ.DeathMatchPrefix注(match = "ß", lastBreath = "A duytschen class must start with: ") + public interface ßPrefix extends Ꝑŕḯṿª₮ḕ.ꞱClassNameType抽 { + } + @Ꝑŕḯṿª₮ḕ.DeathMatchPrefix注(match = "Ɖěꬵḭȵᶒ", lastBreath = "A embedded definition class must start with: ") + public interface ƉěꬵḭȵᶒPrefix extends Ꝑŕḯṿª₮ḕ.ꞱClassNameType抽 { + } + @Ꝑŕḯṿª₮ḕ.DeathMatchName注(match = "Ꝑŕḯṿª₮ḕ", lastBreath = "Inner class must be named private exactly: ") + public interface Ꝑŕḯṿª₮ḕName extends Ꝑŕḯṿª₮ḕ.ꞱClassNameType抽 { + } + @Ꝑŕḯṿª₮ḕ.DeathMatchName注(match = "Ꝑŕᱜṫèƈ₮ࠄ₫", lastBreath = "Inner class must be named protected exactly: ") + public interface Ꝑŕᱜṫèƈ₮ࠄ₫Name extends Ꝑŕḯṿª₮ḕ.ꞱClassNameType抽 { + } + } + + public enum ƉěꬵḭȵᶒModifier { + ; + public interface Ꝑŕḯṿª₮ḕ extends ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.ꞱClassScopeType抽, ObjectScopeLimitΔ.ƉěꬵḭȵᶒClazzName.Ꝑŕḯṿª₮ḕName { + } + public interface Ꝑŕᱜṫèƈ₮ࠄ₫ extends ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.ꞱClassScopeType抽, ObjectScopeLimitΔ.ƉěꬵḭȵᶒClazzName.Ꝑŕᱜṫèƈ₮ࠄ₫Name { + } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectScopeLimitΔ邪ᙾ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectScopeLimitΔ邪ᙾ.java new file mode 100644 index 00000000..eb862b17 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectScopeLimitΔ邪ᙾ.java @@ -0,0 +1,40 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import java.lang.instrument.ClassFileTransformer; +import java.lang.instrument.IllegalClassFormatException; +import java.security.ProtectionDomain; + +import love.distributedrebirth.bassboon.DefaultBȍőnLoader; +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©⍙ ∞ 仙上主天") +public class ObjectScopeLimitΔ邪ᙾ implements ClassFileTransformer { + + // not tested + @Override + public byte[] transform(Module module, ClassLoader loader, String className, + Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) + throws IllegalClassFormatException { + if (!ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.ꞱClassNameType抽.class.isAssignableFrom(classBeingRedefined)) { + return null; + } + if (classBeingRedefined.getDeclaringClass() == null) { + return null; + } + Class checkPrefixInterface = DefaultBȍőnLoader.findInterfaceByAnnotation(classBeingRedefined, ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.DeathMatchPrefix注.class); + ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.DeathMatchPrefix注 checkPrefix = checkPrefixInterface.getAnnotation(ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.DeathMatchPrefix注.class); + if (checkPrefix != null) { + if (!classBeingRedefined.getName().startsWith(checkPrefix.match())) { + throw new IllegalClassFormatException(checkPrefix.lastBreath()+checkPrefix.match()); + } + } + Class checkNameInterface = DefaultBȍőnLoader.findInterfaceByAnnotation(classBeingRedefined, ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.DeathMatchName注.class); + ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.DeathMatchName注 checkName = checkNameInterface.getAnnotation(ObjectScopeLimitΔ.Ꝑŕḯṿª₮ḕ.DeathMatchName注.class); + if (checkName != null) { + if (!classBeingRedefined.getName().equals(checkName.match())) { + throw new IllegalClassFormatException(checkName.lastBreath()+checkName.match()); + } + } + return null; + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectSneeze.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectSneeze.java new file mode 100644 index 00000000..348a20d2 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/ObjectSneeze.java @@ -0,0 +1,51 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import java.util.Comparator; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface ObjectSneeze { + + // hatsjie = hashCode + compareTo + equals + // hatsjie = dutch language of the sound of a sneeze + default long hatsjie(long sneezeSoundOther) { + // the caller handles obj null and thus zero is its own hashCode + long sneezeSound = hatsjieGodBlessYou(this); + if (sneezeSoundOther == 0) { + return sneezeSound; + } + return Long.compare(sneezeSound, sneezeSoundOther); + } + + public static long hatsjieGodBlessYou(Object soundSource) { + // default hashCode order is undefined normally. + // and is only required to be unique within a hash set. + String bassTone = soundSource.getClass().getName(); + int overtones = bassTone.charAt(0); + if (bassTone.length() > 1) { + overtones += bassTone.charAt(1) << 8; + } + if (bassTone.length() > 2) { + overtones += bassTone.charAt(2) << 16; + } + if (bassTone.length() > 3) { + overtones += bassTone.charAt(3) << 24; + } + if (soundSource.getClass().isEnum()) { + //todo: check if jvm sys hash is already ordered for enum, else use this; + return (overtones << 32) + ((Enum)soundSource).ordinal(); + } + return (overtones << 32) + System.identityHashCode(soundSource); + // ^^ Default global ordering of all objects by ~name + } + + public static Comparator soundComparator() { + return new Comparator() { + @Override + public int compare(ObjectSneeze arg0, ObjectSneeze arg1) { + return (int) arg0.hatsjie(arg1.hatsjie(0)); + } + }; + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Objectᴶᐩᐩ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Objectᴶᐩᐩ.java new file mode 100644 index 00000000..f846458e --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Objectᴶᐩᐩ.java @@ -0,0 +1,14 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Objectᴶᐩᐩ extends ObjectSneeze { + + // humans are not allowed to code, who creates what ? + default Class fromClass() { + // getters are for children of a bean + // not to return the mother of a bean + return getClass(); + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Object抽.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Object抽.java new file mode 100644 index 00000000..cd6f9d4e --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Object抽.java @@ -0,0 +1,72 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +abstract public class Object抽 implements Objectᴶᐩᐩ { + + @Deprecated + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + long compareSneeze = 0; + if (obj instanceof ObjectSneeze) { + compareSneeze = ObjectSneeze.class.cast(obj).hatsjie(0); + } else { + compareSneeze = ObjectSneeze.hatsjieGodBlessYou(obj); + } + return 0 == hatsjie(compareSneeze); + } + + @Deprecated + @Override + public int hashCode() { + return (int) hatsjie(0); + } + + @Deprecated + @Override + protected final Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + @Deprecated + @Override + protected final void finalize() throws Throwable { + super.finalize(); + } + + @Deprecated + @Override + public String toString() { + return super.toString(); + } + +// @Deprecated +// @Override +// public final void notify() throws IllegalMonitorStateException { +// super.notify(); +// } +// @Deprecated +// @Override +// public final void notifyAll() throws IllegalMonitorStateException { +// super.notifyAll(); +// } +// @Deprecated +// @Override +// public final void wait() throws InterruptedException { +// super.wait(); +// } +// @Deprecated +// @Override +// public final void wait(long timeout) throws InterruptedException { +// super.wait(timeout); +// } +// @Deprecated +// @Override +// public final void wait(long timeout, int nanos) throws InterruptedException { +// super.wait(timeout, nanos); +// } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Runnableբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Runnableբ.java new file mode 100644 index 00000000..1d45f827 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/Runnableբ.java @@ -0,0 +1,64 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Runnableբ extends Runnable, Babelizeբᴬᵖᶦ { + + @FunctionalInterface + interface זךזךזדןװ extends Runnableբ, BabelLocalizer.Hinarī { + + @Override + default void run() { + יזױזזךזדןװיױ(); + } + + void יזױזזךזדןװיױ(); + } + + @FunctionalInterface + interface 可運行 extends Runnableբ, BabelLocalizer.Mandarin { + + @Override + default void run() { + 賽跑者(); + } + + void 賽跑者(); + } + + @FunctionalInterface + interface जंगम extends Runnableբ, BabelLocalizer.Hindi { + + @Override + default void run() { + दौड़ना(); + } + + void दौड़ना(); + } + + @FunctionalInterface + interface 𓌭𓀟 extends Runnableբ, BabelLocalizer.Hiero { + + @Override + default void run() { + 𓀟(); + } + + void 𓀟(); + } + + @FunctionalInterface + interface русский extends Runnableբ, BabelLocalizer.Russian { + + @Override + default void run() { + убегать(); + } + + void убегать(); + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderWrapper.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderWrapper.java new file mode 100644 index 00000000..03aa7d80 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderWrapper.java @@ -0,0 +1,134 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public final class StringBuilderWrapper implements StringBuilderբ { + + private final StringBuilder data; + + protected StringBuilderWrapper(StringBuilder data) { + this.data = data; + } + + protected StringBuilder unwrap() { + return data; + } + + @Override + public StringBuilderբ toBabel() { + return this; + } + + @Override + public String toString() { + return data.toString(); + } + + // ---------- interface + + @Override + public StringBuilderբ toefügenᕀᕀ(boolean o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(char o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(char[] o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(char[] o, int off, int len) { + data.append(o, off, len); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(CharSequence o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(CharSequence o, int start, int end) { + data.append(o, start, end); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(double o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(float o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(int o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(long o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(Object o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(String o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(StringUnicode o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenᕀᕀ(StringBuffer o) { + data.append(o); + return this; + } + + @Override + public StringBuilderբ toefügenCodePunktᕀᕀ(int o) { + data.appendCodePoint(o); + return this; + } + + @Override + public int kapazität() { + return data.capacity(); + } + + @Override + public char zeichenBei(int o) { + return data.charAt(o); + } + + @Override + public int codePunktOpf(int o) { + return data.codePointAt(o); + } +} \ No newline at end of file diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderբ.java new file mode 100644 index 00000000..f51288e9 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderբ.java @@ -0,0 +1,146 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface StringBuilderբ extends Babelizeբᴬᵖᶦ, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendBoolean.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendChar.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArray.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArrayOffset.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequence.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequenceOffset.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendDouble.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendFloat.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendInt.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendLong.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendObject.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendString.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringUnicode.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringBuffer.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCodePoint.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCapacity.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCharAt.ßabel, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCodePointAt.ßabel + { + interface ßabelAscii extends + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendBoolean.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendChar.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArray.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArrayOffset.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequence.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequenceOffset.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendDouble.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendFloat.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendInt.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendLong.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendObject.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendString.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringUnicode.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringBuffer.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCodePoint.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCapacity.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCharAt.ßabelAscii, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCodePointAt.ßabelAscii + { + } + interface ßabelMandarin extends + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendBoolean.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendChar.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArray.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArrayOffset.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequence.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequenceOffset.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendDouble.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendFloat.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendInt.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendLong.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendObject.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendString.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringUnicode.ßabelMandarin, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringBuffer.ßabelMandarin + { + } + interface ßabelHindi extends + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendBoolean.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendChar.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArray.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArrayOffset.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequence.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequenceOffset.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendDouble.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendFloat.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendInt.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendLong.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendObject.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendString.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringUnicode.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringBuffer.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCodePoint.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCapacity.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCharAt.ßabelHindi, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCodePointAt.ßabelHindi + { + } + interface ßabelHiero extends + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendBoolean.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendChar.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArray.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArrayOffset.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequence.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequenceOffset.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendDouble.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendFloat.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendInt.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendLong.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendObject.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendString.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringUnicode.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringBuffer.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCodePoint.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCapacity.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCharAt.ßabelHiero, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCodePointAt.ßabelHiero + { + } + interface ßabelHinarī extends + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendBoolean.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendChar.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArray.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharArrayOffset.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequence.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCharSequenceOffset.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendDouble.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendFloat.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendInt.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendLong.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendObject.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendString.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringUnicode.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendStringBuffer.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒAppendCodePoint.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCapacity.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCharAt.ßabelHinarī, + StringBuilderᴬᵖᶦ.ƉěꬵḭȵᶒCodePointAt.ßabelHinarī + { + } + + default ßabelAscii toBabelAscii() { return new ßabelAscii() { @Override public StringBuilderբ toBabel() { return StringBuilderբ.this; } @Override public String toString() { return toBabel().toString(); } };} + default ßabelMandarin toBabelMandarin() { return new ßabelMandarin() { @Override public StringBuilderբ toBabel() { return StringBuilderբ.this; } @Override public String toString() { return toBabel().toString(); } };} + default ßabelHindi toBabelHindi() { return new ßabelHindi() { @Override public StringBuilderբ toBabel() { return StringBuilderբ.this; } @Override public String toString() { return toBabel().toString(); } };} + default ßabelHiero toBabelHiero() { return new ßabelHiero() { @Override public StringBuilderբ toBabel() { return StringBuilderբ.this; } @Override public String toString() { return toBabel().toString(); } };} + default ßabelHinarī toBabelHinarī() { return new ßabelHinarī() { @Override public StringBuilderբ toBabel() { return StringBuilderբ.this; } @Override public String toString() { return toBabel().toString(); } };} + + public static StringBuilderբ instanceᴺᵉʷ() { + return wrapᴼᶠ(new StringBuilder()); + } + + public static StringBuilderբ wrapᴼᶠ(StringBuilder buf) { + return new StringBuilderWrapper(buf); + } + + public static StringBuilder wrapᴼᶠ(StringBuilderWrapper buf) { + return buf.unwrap(); + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderᴬᵖᶦ.java new file mode 100644 index 00000000..b1f9b106 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringBuilderᴬᵖᶦ.java @@ -0,0 +1,193 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import java.util.function.Consumer; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelMethodƉěꬵḭȵᶒᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelTypeTowerßբᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public enum StringBuilderᴬᵖᶦ implements Babelizeբᴬᵖᶦ { + ; + enum Ꝑŕḯṿª₮ḕ implements BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ { + ; + interface ꞱBuilder

extends BabelTypeTowerßբᴬᵖᶦ { + @SuppressWarnings("unchecked") + default P make(Consumer build) { + build.accept(toBabel()); + return (P) this; + } + } + interface ꞱElevator extends ꞱBuilder,BabelLocalizer.Ascii {} + interface ꞱAscii extends ꞱBuilder,BabelLocalizer.Ascii {} + interface ꞱMandarin extends ꞱBuilder,BabelLocalizer.Mandarin {} + interface ꞱHindi extends ꞱBuilder,BabelLocalizer.Hindi {} + interface ꞱHiero extends ꞱBuilder,BabelLocalizer.Hiero {} + interface ꞱHinarī extends ꞱBuilder,BabelLocalizer.Hinarī {} + } + enum ƉěꬵḭȵᶒAppendBoolean implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(boolean o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(boolean o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(boolean o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(boolean o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(boolean o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(boolean o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendChar implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(char o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(char o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(char o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(char o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(char o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(char o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendCharArray implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(char[] o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(char[] o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(char[] o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(char[] o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(char[] o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(char[] o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendCharArrayOffset implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(char[] o, int off, int len); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(char[] o, int off, int len) { return make(v -> v.toefügenᕀᕀ(o,off,len)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(char[] o, int off, int len) { return make(v -> v.toefügenᕀᕀ(o,off,len)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(char[] o, int off, int len) { return make(v -> v.toefügenᕀᕀ(o,off,len)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(char[] o, int off, int len) { return make(v -> v.toefügenᕀᕀ(o,off,len)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(char[] o, int off, int len) { return make(v -> v.toefügenᕀᕀ(o,off,len)); } } + } + enum ƉěꬵḭȵᶒAppendCharSequence implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(CharSequence o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(CharSequence o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(CharSequence o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(CharSequence o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(CharSequence o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(CharSequence o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendCharSequenceOffset implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(CharSequence o, int start, int end); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(CharSequence o, int start, int end) { return make(v -> v.toefügenᕀᕀ(o,start,end)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(CharSequence o, int start, int end) { return make(v -> v.toefügenᕀᕀ(o,start,end)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(CharSequence o, int start, int end) { return make(v -> v.toefügenᕀᕀ(o,start,end)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(CharSequence o, int start, int end) { return make(v -> v.toefügenᕀᕀ(o,start,end)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(CharSequence o, int start, int end) { return make(v -> v.toefügenᕀᕀ(o,start,end)); } } + } + enum ƉěꬵḭȵᶒAppendDouble implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(double o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(double o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(double o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(double o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(double o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(double o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendFloat implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(float o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(float o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(float o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(float o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(float o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(float o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendInt implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(int o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(int o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(int o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(int o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(int o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(int o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendLong implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(long o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(long o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(long o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(long o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(long o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(long o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendObject implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(Object o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(Object o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(Object o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(Object o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(Object o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(Object o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendString implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(String o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(String o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(String o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(String o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(String o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(String o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendStringUnicode implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(StringUnicode o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(StringUnicode o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(StringUnicode o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(StringUnicode o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(StringUnicode o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(StringUnicode o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendStringBuffer implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenᕀᕀ(StringBuffer o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii append(StringBuffer o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加(StringBuffer o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़ना(StringBuffer o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜(StringBuffer o) { return make(v -> v.toefügenᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזזז(StringBuffer o) { return make(v -> v.toefügenᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒAppendCodePoint implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { StringBuilderբ toefügenCodePunktᕀᕀ(int o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default StringBuilderբ.ßabelAscii appendCodePoint(int o) { return make(v -> v.toefügenCodePunktᕀᕀ(o)); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default StringBuilderբ.ßabelMandarin 附加龸代碼龸觀點(int o) { return make(v -> v.toefügenCodePunktᕀᕀ(o)); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default StringBuilderբ.ßabelHindi जोड़नाꣻकोडꣻबिंदु(int o) { return make(v -> v.toefügenCodePunktᕀᕀ(o)); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default StringBuilderբ.ßabelHiero 𓆒𓀜𓐗𓊏𓀄(int o) { return make(v -> v.toefügenCodePunktᕀᕀ(o)); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default StringBuilderբ.ßabelHinarī ךױזױזזזױזזז(int o) { return make(v -> v.toefügenCodePunktᕀᕀ(o)); } } + } + enum ƉěꬵḭȵᶒCapacity implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { int kapazität(); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default int capacity() { return toBabel().kapazität(); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default int 容量() { return toBabel().kapazität(); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default int क्षमता() { return toBabel().kapazität(); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default int 𓆣𓆥() { return toBabel().kapazität(); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default int ךױזױזזךױזז() { return toBabel().kapazität(); } } + } + enum ƉěꬵḭȵᶒCharAt implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { char zeichenBei(int o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default char charAt(int o) { return toBabel().zeichenBei(o); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default char 信龸存在(int o) { return toBabel().zeichenBei(o); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default char पत्रꣻमौजूद(int o) { return toBabel().zeichenBei(o); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default char 𓂁𓂃𓂄𓐗𓃣(int o) { return toBabel().zeichenBei(o); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default char ךױזױזזךױזז(int o) { return toBabel().zeichenBei(o); } } + } + enum ƉěꬵḭȵᶒCodePointAt implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevator { int codePunktOpf(int o); } + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAscii { default int codePointAt(int o) { return toBabel().codePunktOpf(o); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarin { default int 代碼龸觀點龸存在(int o) { return toBabel().codePunktOpf(o); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindi { default int कोडꣻबिंदुꣻमौजूद(int o) { return toBabel().codePunktOpf(o); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHiero { default int 𓊏𓀄𓐗𓃣(int o) { return toBabel().codePunktOpf(o); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarī { default int ךױזױזזךױזזזךױזױז(int o) { return toBabel().codePunktOpf(o); } } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringUnicode.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringUnicode.java index eea4f637..c59e2869 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringUnicode.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/StringUnicode.java @@ -21,7 +21,7 @@ public final class StringUnicode implements StringType { return valueOf(str); } - public static StringUnicode valueOf(String str) { - return new StringUnicode(str); + public static StringUnicode valueOf(CharSequence str) { + return new StringUnicode(str.toString()); } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizer.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizer.java new file mode 100644 index 00000000..ced459d7 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizer.java @@ -0,0 +1,101 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.Locale; + +import love.distributedrebirth.bassboon.DefaultBȍőnLoader; +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.ObjectScopeLimitΔ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface /* childface */ BabelLocalizer { // JVM: only allow direct child members of this to use this interface + + enum Ꝑŕḯṿª₮ḕ implements ObjectScopeLimitΔ.ƉěꬵḭȵᶒModifier.Ꝑŕḯṿª₮ḕ { + ; + + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE}) + @interface BabelLocalizer注 { + String name(); + String locale(); + String target(); + } + + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE}) + @interface BabelMethodNameEnforcer注 { + BabelMethodNameRange注[] ranges(); + } + + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE}) + @interface BabelMethodNameRange注 { + int start(); + int stop(); + String name(); + } + } + + default BabelLocalizerᴬᵖᶦ toBabelLocalizerᴬᵖᶦ() { + Class loc = DefaultBȍőnLoader.findInterfaceByAnnotation(getClass(), Ꝑŕḯṿª₮ḕ.BabelLocalizer注.class); + Ꝑŕḯṿª₮ḕ.BabelLocalizer注 anno = loc.getAnnotation(Ꝑŕḯṿª₮ḕ.BabelLocalizer注.class); + return BabelLocalizerᴬᵖᶦ.Ꝑŕᱜṫèƈ₮ࠄ₫.instanceᴺᵉʷ(anno.name(), new Locale(anno.locale()), anno.target()); + } + + @Ꝑŕḯṿª₮ḕ.BabelLocalizer注(name = "Ascii", locale = "en", target = "Normalized boring company language") + interface Ascii extends BabelLocalizer { + } + + @Ꝑŕḯṿª₮ḕ.BabelLocalizer注(name = "普通話", locale = "zh", target = "Dragon's nest has 2234 million bass noise ears") + interface Mandarin extends BabelLocalizer { + } + + @Ꝑŕḯṿª₮ḕ.BabelLocalizer注(name = "हिन्दी", locale = "hi", target = "Seaking God with 1230 million eyes") + @Ꝑŕḯṿª₮ḕ.BabelMethodNameEnforcer注(ranges = { + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 0x0900, stop = 0x097F, name = "Devanagari"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 0xA8E0, stop = 0xA8FF, name = "Devanagari Extended"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 0x11B00, stop = 0x11B09, name = "Devanagari Extended-A"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 0x1CD0, stop = 0x1CFA, name = "Vedic Extensions") + }) + interface Hindi extends BabelLocalizer { + } + + @Ꝑŕḯṿª₮ḕ.BabelLocalizer注(name = "𓂀", locale = "en", target = "Orange Catholic Church pastors") + @Ꝑŕḯṿª₮ḕ.BabelMethodNameEnforcer注(ranges = { + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 0x13000, stop = 0x1342F, name = "Egyptian Hieroglyphs") + }) + interface Hiero extends BabelLocalizer { + } + + @Ꝑŕḯṿª₮ḕ.BabelLocalizer注(name = "русский", locale = "ru", target = "Bãß rocket boot process and ヒナリー test case") + interface Russian extends BabelLocalizer { + } + + @Ꝑŕḯṿª₮ḕ.BabelLocalizer注(name = "ヒナリー", locale = "ie", target = "Hardcore language for real hinarī coders") + @Ꝑŕḯṿª₮ḕ.BabelMethodNameEnforcer注(ranges = { + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ײ', stop = 'ײ', name = "Hebrew octal #1"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ױ', stop = 'ױ', name = "Hebrew octal #2"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ו', stop = 'ו', name = "Hebrew octal #3"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'י', stop = 'י', name = "Hebrew octal #4"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ז', stop = 'ז', name = "Hebrew octal #5"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ד', stop = 'ד', name = "Hebrew octal #6"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ן', stop = 'ן', name = "Hebrew octal #7"), + @Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注(start = 'ך', stop = 'ך', name = "Hebrew octal #8") + }) + interface Hinarī extends BabelLocalizer { + // Patre nor, qui es in li cieles, + // mey tui nómine esser sanctificat, + // mey tui regnia venir, + // mey tui vole esser fat, + // qualmen in li cieles talmen anc sur li terre. + // Da nos hodie nor pan omnidial, + // e pardona nor débites, + // qualmen anc noi pardona nor debitores. + // E ne inducte nos in tentation, + // ma libera nos de lu mal. + // Amen. + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizerᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizerᴬᵖᶦ.java new file mode 100644 index 00000000..34d2346a --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizerᴬᵖᶦ.java @@ -0,0 +1,36 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import java.util.Locale; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.ObjectScopeLimitΔ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BabelLocalizerᴬᵖᶦ { + + String getName(); + + Locale getLocale(); + + String getTarget(); + + enum Ꝑŕᱜṫèƈ₮ࠄ₫ implements ObjectScopeLimitΔ.ƉěꬵḭȵᶒModifier.Ꝑŕᱜṫèƈ₮ࠄ₫ { + ; + protected static BabelLocalizerᴬᵖᶦ instanceᴺᵉʷ(String name, Locale locale, String target) { + return new BabelLocalizerᴬᵖᶦ() { + @Override + public String getName() { + return name; + } + @Override + public Locale getLocale() { + return locale; + } + @Override + public String getTarget() { + return target; + } + }; + } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizer邪ᙾ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizer邪ᙾ.java new file mode 100644 index 00000000..4657d2ee --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelLocalizer邪ᙾ.java @@ -0,0 +1,70 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import java.lang.instrument.ClassFileTransformer; +import java.lang.instrument.IllegalClassFormatException; +import java.lang.reflect.Method; +import java.security.ProtectionDomain; + +import love.distributedrebirth.bassboon.DefaultBȍőnLoader; +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public class BabelLocalizer邪ᙾ implements ClassFileTransformer { + + // not tested + @Override + public byte[] transform(Module module, ClassLoader loader, String className, + Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) + throws IllegalClassFormatException { + if (!BabelLocalizer.class.isAssignableFrom(classBeingRedefined)) { + return null; + } + + // xxxᴬᵖᶦ objects + for (Class embeddedClass:classBeingRedefined.getDeclaredClasses()) { + + // todo: check declared class, like this ? + if (Babelizeբᴬᵖᶦ.class.isAssignableFrom(classBeingRedefined) && BabelMethodƉěꬵḭȵᶒᴬᵖᶦ.class.isAssignableFrom(embeddedClass)) { + // check B + } + if (BabelMethodƉěꬵḭȵᶒᴬᵖᶦ.class.isAssignableFrom(classBeingRedefined) && BabelTypeTower抽.class.isAssignableFrom(embeddedClass)) { + // check T + } + } + + // babel translated object interfaces + Class checkMethodNameInterface = DefaultBȍőnLoader.findInterfaceByAnnotation(classBeingRedefined, BabelLocalizer.Ꝑŕḯṿª₮ḕ.BabelMethodNameEnforcer注.class); + BabelLocalizer.Ꝑŕḯṿª₮ḕ.BabelMethodNameEnforcer注 checkMethodName = checkMethodNameInterface.getAnnotation(BabelLocalizer.Ꝑŕḯṿª₮ḕ.BabelMethodNameEnforcer注.class); + if (checkMethodName == null) { + return classfileBuffer; + } + for (Method m:classBeingRedefined.getMethods()) { + if (m.getName().startsWith("toBabel")) { + continue; + } + boolean def = false; + for (Method mo:Object.class.getMethods()) { // java is evil, junk default methods.... + if (m.getName().equals(mo.getName())) { + def = true; + break; + } + } + if (def) { + continue; + } + for (int c:m.getName().codePoints().toArray()) { + boolean allow = false; + for (BabelLocalizer.Ꝑŕḯṿª₮ḕ.BabelMethodNameRange注 range:checkMethodName.ranges()) { + if (c >= range.start() || c <= range.stop()) { + allow = true; + break; + } + } + if (!allow) { + throw new IllegalClassFormatException("Illegal unicode char in method name: "+m); + } + } + } + return null; + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelMethodƉěꬵḭȵᶒᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelMethodƉěꬵḭȵᶒᴬᵖᶦ.java new file mode 100644 index 00000000..f2b6f07d --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelMethodƉěꬵḭȵᶒᴬᵖᶦ.java @@ -0,0 +1,40 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BabelMethodƉěꬵḭȵᶒᴬᵖᶦ extends BabelTypeTower抽 { + + //define interface Y[]; // jvm: force child member definition of one-or-more + //inner interface Y; // jvm: force child member definition of one + //inner enum Y; + //inner class Y; + + // Export to force api definitions in 3 languages + //define interfaces > Y; + //define interfaces > Y; + //define interfaces > Y; + // ^^^ for none duyts speakers get plain Ascii + + + // Force down a define result... + //abstract public BabelTypeTowerGuard export(); + + public static + < + T1 extends BabelLocalizer.Ascii, + T2 extends BabelLocalizer.Mandarin, + T3 extends BabelLocalizer.Hindi, + T4 extends BabelLocalizer.Hiero, + T5 extends BabelLocalizer.Hinarī + > + void + define5( + Class t1, + Class t2, + Class t3, + Class t4, + Class t5 + ) { + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerReadßբᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerReadßբᴬᵖᶦ.java new file mode 100644 index 00000000..6e7789a1 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerReadßբᴬᵖᶦ.java @@ -0,0 +1,10 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BabelTypeTowerReadßբᴬᵖᶦ> extends BabelTypeTower抽 { +//public interface BabelTypeTowerReadբᴬᵖᶦ> { + + /* protected */ Q toBabelᴿᵈ(); +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerWriteßբᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerWriteßբᴬᵖᶦ.java new file mode 100644 index 00000000..750dd224 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerWriteßբᴬᵖᶦ.java @@ -0,0 +1,15 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BabelTypeTowerWriteßբᴬᵖᶦ & BabelTypeTowerReadßբᴬᵖᶦ, Q extends BabelTypeTowerReadßբᴬᵖᶦ> extends BabelTypeTowerReadßբᴬᵖᶦ { +//public interface BabelTypeTowerWriteբᴬᵖᶦ & BabelTypeTowerReadբᴬᵖᶦ, Q extends BabelTypeTowerReadբᴬᵖᶦ> extends BabelTypeTowerReadբᴬᵖᶦ { + + @SuppressWarnings("unchecked") + /* protected */ default Q toBabelᴿᵈ() { + return (Q) toBabelᵂʳ(); + } + + /* protected */ W toBabelᵂʳ(); +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerßբᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerßբᴬᵖᶦ.java new file mode 100644 index 00000000..9570e1f4 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTowerßբᴬᵖᶦ.java @@ -0,0 +1,9 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BabelTypeTowerßբᴬᵖᶦ> extends BabelTypeTower抽 { + + /* protected */ Q toBabel(); +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTower抽.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTower抽.java new file mode 100644 index 00000000..b99bc5ba --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeTower抽.java @@ -0,0 +1,13 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.ObjectScopeLimitΔ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BabelTypeTower抽 extends + ObjectScopeLimitΔ.ƉěꬵḭȵᶒClazzName.ꞱPrefix, + ObjectScopeLimitΔ.ƉěꬵḭȵᶒClazzName.ßPrefix, + ObjectScopeLimitΔ.ƉěꬵḭȵᶒClazzName.ƉěꬵḭȵᶒPrefix { + + // note: naming scope is defined by parent interface +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ.java new file mode 100644 index 00000000..42c731c5 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ.java @@ -0,0 +1,7 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.jpp.lang.ObjectScopeLimitΔ; + +public interface BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ extends BabelTypeTower抽, ObjectScopeLimitΔ.ƉěꬵḭȵᶒModifier.Ꝑŕḯṿª₮ḕ { + // build (naming) structure helper marker +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/Babelizeբᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/Babelizeբᴬᵖᶦ.java new file mode 100644 index 00000000..db9fb52c --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/babel/Babelizeբᴬᵖᶦ.java @@ -0,0 +1,13 @@ +package love.distributedrebirth.bassboon.jpp.lang.babel; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface /* bassface */ Babelizeբᴬᵖᶦ { + + // note: used in functional interfaces thus only defaults +// default boolean toBassFaceᴬᵖᶦ() { +// // jvm: add support for bassface, to force default methods only. +// return getClass().getAnnotation(FunctionalInterface.class) != null; +// } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumber.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumber.java new file mode 100644 index 00000000..fd00b0e2 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumber.java @@ -0,0 +1,12 @@ +package love.distributedrebirth.bassboon.jpp.lang.number; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.util.PrimitiveBooleanIterator; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BaseNumber { + + PrimitiveBooleanIterator toIteratorBoolean(); + + //NumberStepIterator toIteratorNumberStep(NumberValue stepSize); +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/NumberValue.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumberBlob.java similarity index 69% rename from gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/NumberValue.java rename to gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumberBlob.java index a82f32e4..4b4e437e 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/NumberValue.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumberBlob.java @@ -8,30 +8,21 @@ import java.util.function.Consumer; import love.distributedrebirth.bassboon.Bãß; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; -import love.distributedrebirth.bassboon.jpp.util.PrimitiveByteIterator; +import love.distributedrebirth.bassboon.jpp.lang.number.matrix.M02MatrixBinary; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -public interface NumberValue extends Iterable { +public interface BaseNumberBlob extends BaseNumber /*extends Iterable*/ { - //String toString(); - - //NumberValueMeta meta(); - - //String toString(... - - PrimitiveByteIterator iteratorBytes(); - - - default Iterator iteratorAsBigInteger() { + default Iterator toBlobIterator(M02MatrixBinary order) { List bytes = new ArrayList<>(); - iteratorBytes().forEachRemaining((Consumer)v -> { + toIteratorBoolean().toByteIterator(order).forEachRemaining((Consumer)v -> { bytes.add(v); }); byte[] byteArray = new byte[bytes.size()]; for (int i=0;i() { + return new Iterator() { private BigInteger value = new BigInteger(byteArray); @Override diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumberByte.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumberByte.java new file mode 100644 index 00000000..702be8e8 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/BaseNumberByte.java @@ -0,0 +1,19 @@ +package love.distributedrebirth.bassboon.jpp.lang.number; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.function.Consumer; + +import love.distributedrebirth.bassboon.Bãß; +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.number.matrix.M02MatrixBinary; +import love.distributedrebirth.bassboon.jpp.util.PrimitiveBooleanIterator; +import love.distributedrebirth.bassboon.jpp.util.PrimitiveByteIterator; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BaseNumberByte extends BaseNumber { + + PrimitiveByteIterator toIteratorByte(); +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/BãßBȍőnNumberMatrixʸᴰ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/BãßBȍőnNumberMatrixʸᴰ.java index 3d425378..558566d3 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/BãßBȍőnNumberMatrixʸᴰ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/BãßBȍőnNumberMatrixʸᴰ.java @@ -32,7 +32,7 @@ public interface BãßBȍőnNumberMatrixʸᴰ> void יהוהʸᴰ(Y boon, String dialTone, int...args) { - Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.𓂀ױןייזדזיודזיןןזזזןױ𓉢(boon); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.𓂀ױןייזדזיודזיןןזזזןױ𓉢(boon); boon.toBBC().NOISE_OF(BãßBȍőnAbacusEnumBase響ᴼᶠ.class).rȧñkRingToonInluiden(dialTone); boon.toBBC().UNHOLY_SPELL(Ꝑŕḯṿª₮ḕ.class).PUT_GHOST_LIST(GHOST_NUMBER_BLOCK); for (int arg:args) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/NumberMatrixFactory.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/NumberMatrixFactory.java index 5928b3cd..7ef8f5bb 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/NumberMatrixFactory.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/lang/number/matrix/NumberMatrixFactory.java @@ -24,7 +24,7 @@ public enum NumberMatrixFactory implements BãßBȍőnAbacusInstanceMBeanʸᴰ()); } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Appenderᵂʳ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Appenderᵂʳ.java index 43a8b7a6..fdd9c5a1 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Appenderᵂʳ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Appenderᵂʳ.java @@ -10,7 +10,7 @@ public interface Appenderᵂʳ { default boolean addAllᵂʳ(Collectionᴿᵈ c) { boolean result = false; Iteratorᴿᵈ iterator = c.iteratorᴿᵈ(); - while (iterator.hasNextᴿᵈ()) { + while (iterator.hatNächsteᴿᵈ()) { if (addᵂʳ(iterator.nextᴿᵈ())) { result = true; } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᴿᵈ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᴿᵈ.java index 0dcccf8f..d8373bb7 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᴿᵈ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᴿᵈ.java @@ -22,7 +22,7 @@ public interface Collectionᴿᵈ extends Iterableᴿᵈ { } default boolean isEmptyᴿᵈ() { - return iteratorᴿᵈ().hasNextᴿᵈ() == false; + return iteratorᴿᵈ().hatNächsteᴿᵈ() == false; } default boolean containsᴿᵈ(Object obj) { @@ -38,7 +38,7 @@ public interface Collectionᴿᵈ extends Iterableᴿᵈ { } default Spliterator spliteratorᴿᵈ() { - return Spliterators.spliteratorUnknownSize(iteratorᴿᵈ().iteratorᴼᶠ(), Spliterator.ORDERED); + return Spliterators.spliteratorUnknownSize(iteratorᴿᵈ().wrapIteratorᴿᵈ(), Spliterator.ORDERED); } default Object[] toArrayᴿᵈ() { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᵂʳ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᵂʳ.java index 327e0d5d..8470f8d3 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᵂʳ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Collectionᵂʳ.java @@ -8,18 +8,18 @@ import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") public interface Collectionᵂʳ extends Collectionᴿᵈ, Appenderᵂʳ { - Iteratorᵂʳ iteratorᵂʳ(); + Iteratorᵂʳ iteratorᵂʳ(); // - boolean removeᵂʳ(Object o); + boolean removeᵂʳ(Object o); //Afroussen - default void clearᵂʳ() { + default void clearᵂʳ() { // arbeitMachtFrei streamᴿᵈ().collect(Collectors.toList()).forEach(v -> removeᵂʳ(v)); } - default boolean removeAllᵂʳ(Collectionᴿᵈ set) { + default boolean removeAllᵂʳ(Collectionᴿᵈ set) { // allustAfroussen boolean result = false; Iteratorᴿᵈ iterator = set.iteratorᴿᵈ(); - while (iterator.hasNextᴿᵈ()) { + while (iterator.hatNächsteᴿᵈ()) { if (removeᵂʳ(iterator.nextᴿᵈ())) { result = true; } @@ -27,10 +27,10 @@ public interface Collectionᵂʳ extends Collectionᴿᵈ, Appenderᵂʳ filter) { + default boolean removeIfᵂʳ(Predicate filter) { // aufKnouffenAls boolean result = false; Iteratorᵂʳ iterator = iteratorᵂʳ(); - while (iterator.hasNextᴿᵈ()) { + while (iterator.hatNächsteᴿᵈ()) { if (filter.test(iterator.nextᴿᵈ())) { iterator.removeᵂʳ(); result = true; @@ -39,7 +39,7 @@ public interface Collectionᵂʳ extends Collectionᴿᵈ, Appenderᵂʳ set) { + default boolean retainAllᵂʳ(Collectionᴿᵈ set) { // bewierAllusAls boolean result = false; for (E e:streamᴿᵈ().collect(Collectors.toList())) { if (!set.containsᴿᵈ(e)) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Comparatorբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Comparatorբ.java new file mode 100644 index 00000000..c4363e09 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Comparatorբ.java @@ -0,0 +1,84 @@ +package love.distributedrebirth.bassboon.jpp.util; + +import java.util.Comparator; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.Comparableբ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.util.function.Functionբ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Comparatorբ extends Comparator,Babelizeբᴬᵖᶦ { + + @FunctionalInterface + interface ןזױזזױזזךז<יזזױזזז> extends Comparatorբ<יזזױזזז>, BabelLocalizer.Hinarī { + + @Override + default int compare(יזזױזזז ךיױז, יזזױזזז יזךז) { + return יזדןזױזזזזך(ךיױז, יזךז); + } + + int יזדןזױזזזזך(יזזױזזז ךיױז, יזזױזזז יזךז); + + default ןזױזזױזזךז<יזזױזזז> זדןזױזזזזױזזז() { + return (ךיױז,יזךז) -> ןזױזזױזזךז.this.reversed().compare(ךיױז,יזךז); + } + + default ןזױזזױזזךז<יזזױזזז> זדןזױזזזזױזזױזזזזזזךז(ןזױזזױזזךז<יזזױזזז> זזזזך) { + return (ךיױז,יזךז) -> ןזױזזױזזךז.this.thenComparing(זזזזך).compare(ךיױז,יזךז); + } + + ///default > Comparator thenComparing(Function keyExtractor) + default <זױזזזזױ extends Comparableբ.זױזזױזזזז> ןזױזזױזזךז<יזזױזזז> זדןזױזזזזױזזױזזזזזזךז(Functionբ.ױױױיךיזזז זזזזזזזזך) { + return (ךיױז,יזךז) -> ןזױזזױזזךז.this.thenComparing(זזזזזזזזך).compare(ךיױז,יזךז); + } + + // todo: add all others ..... + } + + @FunctionalInterface + interface 平衡器<仿製藥> extends Comparatorբ<仿製藥>, BabelLocalizer.Mandarin { + + @Override + default int compare(仿製藥 物零,仿製藥 物一) { + return 接受(物零,物一); + } + + int 接受(仿製藥 物零,仿製藥 物一); + + default 平衡器<仿製藥> 接著龸可比(平衡器 後) { + return (物零,物一) -> 平衡器.this.thenComparing(後).compare(物零,物一); + } + } + + @FunctionalInterface + interface संतुलक<जेनरिक> extends Comparatorբ<जेनरिक>, BabelLocalizer.Hindi { + + @Override + default int compare(जेनरिक चीज़०,जेनरिक चीज़१) { + return मानना(चीज़०,चीज़१); + } + + int मानना(जेनरिक चीज़०,जेनरिक चीज़१); + + default संतुलक<जेनरिक> फिरꣻतुलनीय(संतुलक पीछे) { + return (चीज़०,चीज़१) -> संतुलक.this.thenComparing(पीछे).compare(चीज़०,चीज़१); + } + } + + @FunctionalInterface + interface 𓄤𓊯𓀐<𓉢> extends Comparatorբ<𓉢>, BabelLocalizer.Hiero { + + @Override + default int compare(𓉢 𓐠𓐄,𓉢 𓐠𓐅) { + return 𓁉(𓐠𓐄,𓐠𓐅); + } + + int 𓁉(𓉢 𓐠𓐄,𓉢 𓐠𓐅); + + default 𓄤𓊯𓀐<𓉢> 𓂐𓐗𓌭𓍝(𓄤𓊯𓀐 𓅀) { + return (𓐠𓐄,𓐠𓐅) -> 𓄤𓊯𓀐.this.thenComparing(𓅀).compare(𓐠𓐄,𓐠𓐅); + } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iterableᴿᵈ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iterableᴿᵈ.java index c4a64fa2..ae2f90ca 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iterableᴿᵈ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iterableᴿᵈ.java @@ -8,23 +8,27 @@ import java.util.function.Consumer; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -public interface Iterableᴿᵈ { +public interface Iterableᴿᵈ { Iteratorᴿᵈ iteratorᴿᵈ(); + //Iteratorᴿᵈ iteꭆɐt𐌏rᴿᵈ(); + default void forEachᴿᵈ(Consumer action) { iteratorᴿᵈ().forEachRemainingᴿᵈ(action); } + //Spliterator splitže̩rᴿᵈ(); + default Spliterator spliteratorᴿᵈ() { - return Spliterators.spliteratorUnknownSize(iteratorᴿᵈ().iteratorᴼᶠ(), Spliterator.ORDERED); + return Spliterators.spliteratorUnknownSize(iteratorᴿᵈ().wrapIteratorᴿᵈ(), Spliterator.ORDERED); } - default Iterable iterableᴼᶠ() { + default Iterable iterableᴼᶠ() { // iterable = itereerbaarⱽᵃⁿ return new Iterable<>() { @Override public Iterator iterator() { - return iteratorᴿᵈ().iteratorᴼᶠ(); + return iteratorᴿᵈ().wrapIteratorᴿᵈ(); } }; diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴬᵖᶦ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴬᵖᶦ.java new file mode 100644 index 00000000..0533153a --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴬᵖᶦ.java @@ -0,0 +1,68 @@ +package love.distributedrebirth.bassboon.jpp.util; + +import java.util.function.Consumer; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelMethodƉěꬵḭȵᶒᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelTypeTowerReadßբᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelTypeTowerWriteßբᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; +import love.distributedrebirth.bassboon.jpp.util.function.Consumerբ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public enum Iteratorᴬᵖᶦ implements Babelizeբᴬᵖᶦ { + ; + enum Ꝑŕḯṿª₮ḕ implements BabelTypeꝐŕḯṿª₮ḕᴬᵖᶦ { + ; + interface ꞱElevatorᴿᵈ extends BabelTypeTowerReadßբᴬᵖᶦ> {} + interface Ʇ‬Elevatorᵂʳ extends BabelTypeTowerWriteßբᴬᵖᶦ,Iteratorᴿᵈ> {} + interface ꞱAsciiᴿᵈ extends ꞱElevatorᴿᵈ,BabelLocalizer.Ascii {} + interface ꞱAsciiᵂʳ extends Ʇ‬Elevatorᵂʳ,BabelLocalizer.Ascii {} + interface ꞱMandarinᴿᵈ extends ꞱElevatorᴿᵈ,BabelLocalizer.Mandarin {} + interface ꞱMandarinᵂʳ extends Ʇ‬Elevatorᵂʳ,BabelLocalizer.Mandarin {} + interface ꞱHindiᴿᵈ extends ꞱElevatorᴿᵈ,BabelLocalizer.Hindi {} + interface ꞱHindiᵂʳ extends Ʇ‬Elevatorᵂʳ,BabelLocalizer.Hindi {} + interface ꞱHieroᴿᵈ extends ꞱElevatorᴿᵈ,BabelLocalizer.Hiero {} + interface ꞱHieroᵂʳ extends Ʇ‬Elevatorᵂʳ,BabelLocalizer.Hiero {} + interface ꞱHinarīᴿᵈ extends ꞱElevatorᴿᵈ,BabelLocalizer.Hinarī {} + interface ꞱHinarīᵂʳ extends Ʇ‬Elevatorᵂʳ,BabelLocalizer.Hinarī {} + } + enum ƉěꬵḭȵᶒHasNextᴿᵈ implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevatorᴿᵈ { boolean hatNächsteᴿᵈ(); } // hassVolgunde + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAsciiᴿᵈ { default boolean hasNextRead() { return toBabelᴿᵈ().hatNächsteᴿᵈ(); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarinᴿᵈ { default boolean 有龸旁邊龸輸入() { return toBabelᴿᵈ().hatNächsteᴿᵈ(); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindiᴿᵈ { default boolean हैꣻअगलाꣻपढ़ना() { return toBabelᴿᵈ().hatNächsteᴿᵈ(); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHieroᴿᵈ { default boolean 𓎞𓐗𓄱𓆭𓐨() { return toBabelᴿᵈ().hatNächsteᴿᵈ(); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarīᴿᵈ { default boolean ױזזזזױזזױזזזךזᴿᵈ() { return toBabelᴿᵈ().hatNächsteᴿᵈ(); } } + } + enum ƉěꬵḭȵᶒNextᴿᵈ implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevatorᴿᵈ { E nextᴿᵈ(); } // volgunde + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAsciiᴿᵈ { default E nextRead() { return toBabelᴿᵈ().nextᴿᵈ(); }} + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarinᴿᵈ { default E 旁邊龸輸入() { return toBabelᴿᵈ().nextᴿᵈ(); }} + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindiᴿᵈ { default E अगलाꣻपढ़ना() { return toBabelᴿᵈ().nextᴿᵈ(); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHieroᴿᵈ { default E 𓄱𓆭𓐨() { return toBabelᴿᵈ().nextᴿᵈ(); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarīᴿᵈ { default E ױזזזזױזזױᴿᵈ() { return toBabelᴿᵈ().nextᴿᵈ(); } } + } + enum ƉěꬵḭȵᶒForEachRemainingᴿᵈ implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.ꞱElevatorᴿᵈ { void forEachRemainingᴿᵈ(Consumer action); } // furElk sd + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAsciiᴿᵈ { default void forEachRemainingRead(Consumer action) { toBabelᴿᵈ().forEachRemainingᴿᵈ(action); } } + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarinᴿᵈ { default void 為了龸每個龸殘餘龸輸入(Consumerբ.消費者 行動) { toBabelᴿᵈ().forEachRemainingᴿᵈ(行動); } } + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindiᴿᵈ { default void वास्तेꣻप्रत्येकꣻबचाहुआꣻपढ़ना(Consumerբ.उपभोक्ता गतिविधि) { toBabelᴿᵈ().forEachRemainingᴿᵈ(गतिविधि); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHieroᴿᵈ { default void 𓊖𓎛𓋖𓐗𓄱𓆭𓐨(Consumerբ.𓀁𓏁 𓀢) { toBabelᴿᵈ().forEachRemainingᴿᵈ(𓀢); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarīᴿᵈ { default void ױזזזזױזזזךזױזזזךזזךזᴿᵈ(Consumerբ.ךןךזױזןזױז זױזז) { toBabelᴿᵈ().forEachRemainingᴿᵈ(זױזז); } } + } + enum ƉěꬵḭȵᶒRemoveᵂʳ implements BabelMethodƉěꬵḭȵᶒᴬᵖᶦ { + ; + interface ßabel extends Ꝑŕḯṿª₮ḕ.Ʇ‬Elevatorᵂʳ { void removeᵂʳ(); } // afroussen + interface ßabelAscii extends Ꝑŕḯṿª₮ḕ.ꞱAsciiᵂʳ { default void removeWrite() { toBabelᵂʳ().removeᵂʳ(); }} + interface ßabelMandarin extends Ꝑŕḯṿª₮ḕ.ꞱMandarinᵂʳ { default void 消除龸輸出() { toBabelᵂʳ().removeᵂʳ(); }} + interface ßabelHindi extends Ꝑŕḯṿª₮ḕ.ꞱHindiᵂʳ { default void हटानाꣻलिखना() { toBabelᵂʳ().removeᵂʳ(); } } + interface ßabelHiero extends Ꝑŕḯṿª₮ḕ.ꞱHieroᵂʳ { default void 𓌩𓐧() { toBabelᵂʳ().removeᵂʳ(); } } + interface ßabelHinarī extends Ꝑŕḯṿª₮ḕ.ꞱHinarīᵂʳ { default void יזזױזױזױזזזᵂʳ() { toBabelᵂʳ().removeᵂʳ(); } } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴿᵈ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴿᵈ.java index dbdb38be..56d6382c 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴿᵈ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᴿᵈ.java @@ -6,29 +6,65 @@ import java.util.function.Consumer; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -public interface Iteratorᴿᵈ { - - boolean hasNextᴿᵈ(); +public interface Iteratorᴿᵈ extends + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒForEachRemainingᴿᵈ.ßabel, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒHasNextᴿᵈ.ßabel, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒNextᴿᵈ.ßabel { - E nextᴿᵈ(); - - default void forEachRemainingᴿᵈ(Consumer action) { - while (hasNextᴿᵈ()) { - action.accept(nextᴿᵈ()); - } + interface ßabelAsciiᴿᵈ extends + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒForEachRemainingᴿᵈ.ßabelAscii, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒHasNextᴿᵈ.ßabelAscii, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒNextᴿᵈ.ßabelAscii { + } + interface ßabelMandarinᴿᵈ extends + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒForEachRemainingᴿᵈ.ßabelMandarin, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒHasNextᴿᵈ.ßabelMandarin, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒNextᴿᵈ.ßabelMandarin { + } + interface ßabelHindiᴿᵈ extends + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒForEachRemainingᴿᵈ.ßabelHindi, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒHasNextᴿᵈ.ßabelHindi, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒNextᴿᵈ.ßabelHindi { + } + interface ßabelHieroᴿᵈ extends + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒForEachRemainingᴿᵈ.ßabelHiero, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒHasNextᴿᵈ.ßabelHiero, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒNextᴿᵈ.ßabelHiero { + } + interface ßabelHinarīᴿᵈ extends + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒForEachRemainingᴿᵈ.ßabelHinarī, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒHasNextᴿᵈ.ßabelHinarī, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒNextᴿᵈ.ßabelHinarī { } - default Iterator iteratorᴼᶠ() { + default ßabelAsciiᴿᵈ toBabelAsciiᴿᵈ() { return new ßabelAsciiᴿᵈ<>() { @Override public Iteratorᴿᵈ toBabelᴿᵈ() { return Iteratorᴿᵈ.this.toBabelᴿᵈ(); }};} + default ßabelMandarinᴿᵈ toBabelMandarinᴿᵈ() { return new ßabelMandarinᴿᵈ<>() { @Override public Iteratorᴿᵈ toBabelᴿᵈ() { return Iteratorᴿᵈ.this.toBabelᴿᵈ(); }};} + default ßabelHindiᴿᵈ toBabelHindiᴿᵈ() { return new ßabelHindiᴿᵈ<>() { @Override public Iteratorᴿᵈ toBabelᴿᵈ() { return Iteratorᴿᵈ.this.toBabelᴿᵈ(); }};} + default ßabelHieroᴿᵈ toBabelHieroᴿᵈ() { return new ßabelHieroᴿᵈ<>() { @Override public Iteratorᴿᵈ toBabelᴿᵈ() { return Iteratorᴿᵈ.this.toBabelᴿᵈ(); }};} + default ßabelHinarīᴿᵈ toBabelHinarīᴿᵈ() { return new ßabelHinarīᴿᵈ<>() { @Override public Iteratorᴿᵈ toBabelᴿᵈ() { return Iteratorᴿᵈ.this.toBabelᴿᵈ(); }};} + + default Iterator wrapIteratorᴿᵈ() { return wrapᴼᶠ(this); } + @Override + default void forEachRemainingᴿᵈ(Consumer action) { + Iteratorᴿᵈ iterator = toBabelᴿᵈ(); + //Iterator i = iterator.wrapIteratorᴿᵈ(); + //i.forEachRemaining(action); + + while (iterator.hatNächsteᴿᵈ()) { + action.accept(iterator.nextᴿᵈ()); + } + } + static Iterator wrapᴼᶠ(Iteratorᴿᵈ iterator) { return new Iterator<>() { @Override public boolean hasNext() { - return iterator.hasNextᴿᵈ(); + this.forEachRemaining(null); + return iterator.hatNächsteᴿᵈ(); } - @Override public T next() { return iterator.nextᴿᵈ(); @@ -39,14 +75,17 @@ public interface Iteratorᴿᵈ { static Iteratorᴿᵈ wrapᴼᶠ(Iterator iterator) { return new Iteratorᴿᵈ<>() { @Override - public boolean hasNextᴿᵈ() { + public boolean hatNächsteᴿᵈ() { return iterator.hasNext(); } - @Override public T nextᴿᵈ() { return iterator.next(); } + @Override + public Iteratorᴿᵈ toBabelᴿᵈ() { + return this; + } }; } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᵂʳ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᵂʳ.java index 7ab5d94a..9b80a0fc 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᵂʳ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Iteratorᵂʳ.java @@ -5,27 +5,45 @@ import java.util.Iterator; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -public interface Iteratorᵂʳ extends Iteratorᴿᵈ { - - default void removeᵂʳ() { +public interface Iteratorᵂʳ extends Iteratorᴿᵈ, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒRemoveᵂʳ.ßabel { + + interface ßabelAsciiᵂʳ extends Iteratorᴿᵈ.ßabelAsciiᴿᵈ, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒRemoveᵂʳ.ßabelAscii { + } + interface ßabelMandarinᵂʳ extends Iteratorᴿᵈ.ßabelMandarinᴿᵈ, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒRemoveᵂʳ.ßabelMandarin { + } + interface ßabelHindiᵂʳ extends Iteratorᴿᵈ.ßabelHindiᴿᵈ, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒRemoveᵂʳ.ßabelHindi { + } + interface ßabelHieroᵂʳ extends Iteratorᴿᵈ.ßabelHieroᴿᵈ, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒRemoveᵂʳ.ßabelHiero { + } + interface ßabelHinarīᵂʳ extends Iteratorᴿᵈ.ßabelHinarīᴿᵈ, + Iteratorᴬᵖᶦ.ƉěꬵḭȵᶒRemoveᵂʳ.ßabelHinarī { } - default Iterator iteratorᴼᶠ() { - return wrapᴼᶠ(this); + default ßabelAsciiᵂʳ toBabelAsciiᵂʳ() { return new ßabelAsciiᵂʳ<>() { @Override public Iteratorᵂʳ toBabelᵂʳ() { return Iteratorᵂʳ.this.toBabelᵂʳ(); }};} + default ßabelMandarinᵂʳ toBabelMandarinᵂʳ() { return new ßabelMandarinᵂʳ<>() { @Override public Iteratorᵂʳ toBabelᵂʳ() { return Iteratorᵂʳ.this.toBabelᵂʳ(); }};} + default ßabelHindiᵂʳ toBabelHindiᵂʳ() { return new ßabelHindiᵂʳ<>() { @Override public Iteratorᵂʳ toBabelᵂʳ() { return Iteratorᵂʳ.this.toBabelᵂʳ(); }};} + default ßabelHieroᵂʳ toBabelHieroᵂʳ() { return new ßabelHieroᵂʳ<>() { @Override public Iteratorᵂʳ toBabelᵂʳ() { return Iteratorᵂʳ.this.toBabelᵂʳ(); }};} + default ßabelHinarīᵂʳ toBabelHinarīᵂʳ() { return new ßabelHinarīᵂʳ<>() { @Override public Iteratorᵂʳ toBabelᵂʳ() { return Iteratorᵂʳ.this.toBabelᵂʳ(); }};} + + default Iterator wrapIteratorᵂʳ() { + return Iteratorᵂʳ.wrapᴼᶠ(toBabelᵂʳ()); } static Iterator wrapᴼᶠ(Iteratorᵂʳ iterator) { return new Iterator<>() { @Override public boolean hasNext() { - return iterator.hasNextᴿᵈ(); + return iterator.hatNächsteᴿᵈ(); } - @Override public T next() { return iterator.nextᴿᵈ(); } - @Override public void remove() { iterator.removeᵂʳ(); @@ -36,19 +54,21 @@ public interface Iteratorᵂʳ extends Iteratorᴿᵈ { static Iteratorᵂʳ wrapᴼᶠ(Iterator iterator) { return new Iteratorᵂʳ<>() { @Override - public boolean hasNextᴿᵈ() { + public boolean hatNächsteᴿᵈ() { return iterator.hasNext(); } - @Override public T nextᴿᵈ() { return iterator.next(); } - @Override public void removeᵂʳ() { iterator.remove(); } + @Override + public Iteratorᵂʳ toBabelᵂʳ() { + return this; + } }; } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᴿᵈ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᴿᵈ.java index ba79b0b6..92a4c702 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᴿᵈ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᴿᵈ.java @@ -18,34 +18,33 @@ public interface ListIteratorᴿᵈ extends Iteratorᴿᵈ { static ListIteratorᴿᵈ wrapᴼᶠ(ListIterator iterator) { return new ListIteratorᴿᵈ<>() { @Override - public boolean hasNextᴿᵈ() { + public boolean hatNächsteᴿᵈ() { return iterator.hasNext(); } - @Override public T nextᴿᵈ() { return iterator.next(); } - @Override public boolean hasPreviousᴿᵈ() { return iterator.hasPrevious(); } - @Override public int nextIndexᴿᵈ() { return iterator.nextIndex(); } - @Override public T previousᴿᵈ() { return iterator.previous(); } - @Override public int previousIndexᴿᵈ() { return iterator.previousIndex(); } + @Override + public Iteratorᴿᵈ toBabelᴿᵈ() { + return this; + } }; } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᵂʳ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᵂʳ.java index 65c1df26..8096579d 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᵂʳ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/ListIteratorᵂʳ.java @@ -19,44 +19,36 @@ public interface ListIteratorᵂʳ extends ListIteratorᴿᵈ,Iteratorᵂ return new ListIterator<>() { @Override public boolean hasNext() { - return iterator.hasNextᴿᵈ(); + return iterator.hatNächsteᴿᵈ(); } - @Override public T next() { return iterator.nextᴿᵈ(); } - @Override public void add(T arg0) { iterator.addᵂʳ(arg0); } - @Override public boolean hasPrevious() { return iterator.hasPreviousᴿᵈ(); } - @Override public int nextIndex() { return iterator.nextIndexᴿᵈ(); } - @Override public T previous() { return iterator.previousᴿᵈ(); } - @Override public int previousIndex() { return iterator.previousIndexᴿᵈ(); } - @Override public void remove() { iterator.removeᵂʳ(); } - @Override public void set(T arg0) { iterator.setᵂʳ(arg0); @@ -67,44 +59,45 @@ public interface ListIteratorᵂʳ extends ListIteratorᴿᵈ,Iteratorᵂ static ListIteratorᵂʳ wrapᴼᶠ(ListIterator iterator) { return new ListIteratorᵂʳ<>() { @Override - public boolean hasNextᴿᵈ() { + public boolean hatNächsteᴿᵈ() { return iterator.hasNext(); } - @Override public T nextᴿᵈ() { return iterator.next(); } - @Override public boolean hasPreviousᴿᵈ() { return iterator.hasPrevious(); } - @Override public int nextIndexᴿᵈ() { return iterator.nextIndex(); } - @Override public T previousᴿᵈ() { return iterator.previous(); } - @Override public int previousIndexᴿᵈ() { return iterator.previousIndex(); } - @Override public void addᵂʳ(T e) { iterator.add(e); } - @Override public void setᵂʳ(T e) { iterator.set(e); } + @Override + public void removeᵂʳ() { + iterator.remove(); + } + @Override + public Iteratorᵂʳ toBabelᵂʳ() { + return this; + } }; } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Listᵂʳ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Listᵂʳ.java index a01998e6..189e8cc1 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Listᵂʳ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Listᵂʳ.java @@ -13,8 +13,8 @@ public interface Listᵂʳ extends Listᴿᵈ, Collectionᵂʳ { default boolean addAllᵂʳ(int index, Collectionᴿᵈ c) { Iteratorᴿᵈ iterator = c.iteratorᴿᵈ(); - boolean result = iterator.hasNextᴿᵈ(); - while (iterator.hasNextᴿᵈ()) { + boolean result = iterator.hatNächsteᴿᵈ(); + while (iterator.hatNächsteᴿᵈ()) { addᵂʳ(index, iterator.nextᴿᵈ()); } return result; diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveBooleanIterator.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveBooleanIterator.java index 1b35f5cd..d007cd07 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveBooleanIterator.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveBooleanIterator.java @@ -3,7 +3,10 @@ package love.distributedrebirth.bassboon.jpp.util; import java.util.PrimitiveIterator; import java.util.function.Consumer; +import love.distributedrebirth.bassboon.Bãß; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.number.matrix.M02MatrixBinary; +import love.distributedrebirth.bassboon.jpp.lang.number.matrix.M04MatrixQuad; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") public interface PrimitiveBooleanIterator extends PrimitiveIterator { @@ -28,4 +31,59 @@ public interface PrimitiveBooleanIterator extends PrimitiveIterator 1) { - if (!PrimitiveByteIterator.this.hasNext()) { - return false; - } - current = PrimitiveByteIterator.this.nextByte(); - currentOffset = 0; - } else { - currentOffset++; + if (offset > 0) { + return true; } - return true; + return PrimitiveByteIterator.this.hasNext(); } @Override public byte nextNibble() { - if (currentOffset < 0 | currentOffset > 1) { - throw new IllegalStateException("Illegal offset of block value: "+currentOffset); + if (offset == 0) { + current = PrimitiveByteIterator.this.nextByte(); + } + int value = (current >> (order.rȧñkNummerBlokWaarde(offset) * 4)) & 0x0F; + offset++; + if (offset == 2) { + offset = 0; } - int value = (current >> (order.rȧñkNummerBlokWaarde(currentOffset) * 4)) & 0x0F; - currentOffset = currentOffset++; return (byte) value; } }; diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveNibbleIterator.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveNibbleIterator.java index 94e4ef81..a755395b 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveNibbleIterator.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/PrimitiveNibbleIterator.java @@ -4,6 +4,7 @@ import java.util.PrimitiveIterator; import java.util.function.Consumer; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.number.matrix.M02MatrixBinary; import love.distributedrebirth.bassboon.jpp.lang.number.matrix.M04MatrixQuad; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @@ -30,42 +31,86 @@ public interface PrimitiveNibbleIterator extends PrimitiveIterator 3) { - if (!PrimitiveNibbleIterator.this.hasNext()) { - return false; - } - current = PrimitiveNibbleIterator.this.nextNibble(); - currentOffset = 0; - } else { - currentOffset++; + if (offset > 0) { + return true; } - return true; + return PrimitiveNibbleIterator.this.hasNext(); } @Override public boolean nextBoolean() { - if (currentOffset < 0 | currentOffset > 3) { - throw new IllegalStateException("Illegal offset of block value: "+currentOffset); + if (offset == 0) { + current = PrimitiveNibbleIterator.this.nextNibble(); + } + int value = (current >> order.rȧñkNummerBlokWaarde(offset)) & 1; + offset++; + if (offset == 4) { + offset = 0; } - int value = (current >> order.rȧñkNummerBlokWaarde(currentOffset)) & 1; - currentOffset = currentOffset++; return value == 1; } }; } + + default PrimitiveByteIterator toByteIteratorBigIndian() { + return toByteIterator(M02MatrixBinary.STATIC); + } + + default PrimitiveByteIterator toByteIteratorLittleIndian() { + return toByteIterator(M02MatrixBinary.TAIL); + } + + default PrimitiveByteIterator toByteIterator(M02MatrixBinary order) { + return new PrimitiveByteIterator() { + + @Override + public boolean hasNext() { + return PrimitiveNibbleIterator.this.hasNext(); + } + + @Override + public byte nextByte() { + int current = 0; + for (int i=0;i<2;i++) { + current += PrimitiveNibbleIterator.this.nextNibble() << order.rȧñkNummerBlokWaarde(i) * 4; + } + return (byte) current; + } + }; + } + + default PrimitiveNibbleIterator toNibbleIteratorMatrix(M04MatrixQuad order) { + return new PrimitiveNibbleIterator() { + + @Override + public boolean hasNext() { + return PrimitiveNibbleIterator.this.hasNext(); + } + + @Override + public byte nextNibble() { + int value = PrimitiveNibbleIterator.this.nextNibble(); + int current = 0; + for (int i=0;i<4;i++) { + current += value << order.rȧñkNummerBlokWaarde(i) * 4; + } + return (byte) current; + } + }; + } } diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Spliteratorբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Spliteratorբ.java new file mode 100644 index 00000000..08fd6f5c --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/Spliteratorբ.java @@ -0,0 +1,9 @@ +package love.distributedrebirth.bassboon.jpp.util; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Spliteratorբ extends Babelizeբᴬᵖᶦ { + +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/BiConsumerբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/BiConsumerբ.java new file mode 100644 index 00000000..672981f1 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/BiConsumerբ.java @@ -0,0 +1,78 @@ +package love.distributedrebirth.bassboon.jpp.util.function; + +import java.util.function.BiConsumer; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface BiConsumerբ extends BiConsumer, Babelizeբᴬᵖᶦ { + + void annehmen(T t,U u); + + @Override + default void accept(T t,U u) { + annehmen(t, u); + } + + @FunctionalInterface + interface ױזזױךיױךיך<יזזױזזז,יךיױ> extends BiConsumerբ<יזזױזזז,יךיױ>, BabelLocalizer.Hinarī { + + @Override + default void annehmen(יזזױזזז ױז,יךיױ ךזז) { + זױזזז(ױז,ךזז); + } + + void זױזזז(יזזױזזז ױז,יךיױ ךזז); + + default ױזזױךיױךיך<יזזױזזז,יךיױ> זזזזױזזױךיךיזז(ױזזױךיױךיך ױױזז) { + return (ױז,ךזז) -> ױזזױךיױךיך.this.andThen(ױױזז).accept(ױז, ךזז); + } + } + + @FunctionalInterface + interface 雙消費者<仿製藥,青蛙藥> extends BiConsumerբ<仿製藥,青蛙藥>, BabelLocalizer.Mandarin { + + @Override + default void annehmen(仿製藥 物,青蛙藥 其他) { + 接受(物,其他); + } + + void 接受(仿製藥 物,青蛙藥 其他); + + default 雙消費者<仿製藥,青蛙藥> 和龸接著(雙消費者 後) { + return (物,其他) -> 雙消費者.this.andThen(後).accept(物, 其他); + } + } + + @FunctionalInterface + interface दोहराꣻउपभोक्ता<जेनरिक,जम्पफ्रॉग> extends BiConsumerբ<जेनरिक,जम्पफ्रॉग>, BabelLocalizer.Hindi { + + @Override + default void annehmen(जेनरिक चीज़,जम्पफ्रॉग अन्य) { + मानना(चीज़,अन्य); + } + + void मानना(जेनरिक चीज़,जम्पफ्रॉग अन्य); + + default दोहराꣻउपभोक्ता<जेनरिक,जम्पफ्रॉग> औरꣻफिर(दोहराꣻउपभोक्ता पीछे) { + return (चीज़,अन्य) -> दोहराꣻउपभोक्ता.this.andThen(पीछे).accept(चीज़,अन्य); + } + } + + @FunctionalInterface + interface 𓇌𓀁<𓉢,𓉣> extends BiConsumerբ<𓉢,𓉣>, BabelLocalizer.Hiero { + + @Override + default void annehmen(𓉢 𓐠,𓉣 𓐐) { + 𓁉(𓐠,𓐐); + } + + void 𓁉(𓉢 𓐠,𓉣 𓐐); + + default 𓇌𓀁<𓉢,𓉣> 𓍰𓐗𓂐(𓇌𓀁 𓅀) { + return (𓐠,𓐐) -> 𓇌𓀁.this.andThen(𓅀).accept(𓐠,𓐐); + } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Consumerբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Consumerբ.java new file mode 100644 index 00000000..4e881999 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Consumerբ.java @@ -0,0 +1,78 @@ +package love.distributedrebirth.bassboon.jpp.util.function; + +import java.util.function.Consumer; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Consumerբ extends Consumer,Babelizeբᴬᵖᶦ { + + void annehmen(T t); + + @Override + default void accept(T t) { + annehmen(t); + } + + @FunctionalInterface + interface ךןךזױזןזױז<יזזױזזז> extends Consumerբ<יזזױזזז>, BabelLocalizer.Hinarī { + + @Override + default void annehmen(יזזױזזז יךיױזזךז) { + יזדןזױזזזזך(יךיױזזךז); + } + + void יזדןזױזזזזך(יזזױזזז יךיױזזךז); + + default ךןךזױזןזױז<יזזױזזז> זדןזױזזזזױזזז(ךןךזױזןזױז יךיױזזךז) { + return (װװ) -> ךןךזױזןזױז.this.andThen(יךיױזזךז).accept(װװ); + } + } + + @FunctionalInterface + interface 消費者<仿製藥> extends Consumerբ<仿製藥>, BabelLocalizer.Mandarin { + + @Override + default void annehmen(仿製藥 物) { + 接受(物); + } + + void 接受(仿製藥 物); + + default 消費者<仿製藥> 和龸接著(消費者 後) { + return (物) -> 消費者.this.andThen(後).accept(物); + } + } + + @FunctionalInterface + interface उपभोक्ता<जेनरिक> extends Consumerբ<जेनरिक>, BabelLocalizer.Hindi { + + @Override + default void annehmen(जेनरिक चीज़) { + मानना(चीज़); + } + + void मानना(जेनरिक चीज़); + + default उपभोक्ता<जेनरिक> औरꣻफिर(उपभोक्ता पीछे) { + return (चीज़) -> उपभोक्ता.this.andThen(पीछे).accept(चीज़); + } + } + + @FunctionalInterface + interface 𓀁𓏁<𓉢> extends Consumerբ<𓉢>, BabelLocalizer.Hiero { + + @Override + default void annehmen(𓉢 𓐠) { + 𓁉(𓐠); + } + + void 𓁉(𓉢 𓐠); + + default 𓀁𓏁<𓉢> 𓍰𓐗𓂐(𓀁𓏁 𓅀) { + return (𓐠) -> 𓀁𓏁.this.andThen(𓅀).accept(𓐠); + } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Functionբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Functionբ.java new file mode 100644 index 00000000..5236b221 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Functionբ.java @@ -0,0 +1,130 @@ +package love.distributedrebirth.bassboon.jpp.util.function; + +import java.util.function.Function; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Functionբ extends Function, Babelizeբᴬᵖᶦ { + + R ausführen(T t); + + @Override + default R apply(T t) { + return ausführen(t); + } + + @FunctionalInterface + interface ױױױיךיזזז<יזזױזזז,יךיױ> extends Functionբ<יזזױזזז,יךיױ>, BabelLocalizer.Hinarī { + + @Override + default יךיױ ausführen(יזזױזזז ױז) { + return זױױזזזױזז(ױז); + } + + יךיױ זױױזזזױזז(יזזױזזז ױז); + + default <זױךי> ױױױיךיזזז<יזזױזזז,זױךי> זזזזױזזױךיךיזז(ױױױיךיזזז ױױזז) { + return (זױךיךי) -> ױױױיךיזזז.this.andThen(ױױזז).apply(זױךיךי); + } + + default <זױךי> ױױױיךיזזז<זױךי,יךיױ> זזזױךיךיזזױזזז(ױױױיךיזזז זזױױ) { + return (זױךיךי) -> ױױױיךיזזז.this.compose(זזױױ).apply(זױךיךי); + } + + static <יזזױזזז> ױױױיךיזזז<יזזױזזז,יזזױזזז> זזזױױזזױזז() { + return new ױױױיךיזזז<>() { + @Override + public יזזױזזז זױױזזזױזז(יזזױזזז ױז) { + return ױז; + } + }; + } + } + + @FunctionalInterface + interface 功能<仿製藥,青蛙藥> extends Functionբ<仿製藥,青蛙藥>, BabelLocalizer.Mandarin { + + @Override + default 青蛙藥 ausführen(仿製藥 物) { + return 接受(物); + } + + 青蛙藥 接受(仿製藥 物); + + default <蛋從> 功能<仿製藥,蛋從> 和龸接著(功能 後) { + return (物) -> 功能.this.andThen(後).apply(物); + } + + default <蛋從> 功能<蛋從,青蛙藥> 構成前(功能 字首) { + return (物) -> 功能.this.compose(字首).apply(物); + } + + static <仿製藥> 功能<仿製藥,仿製藥> 身份() { + return new 功能<>() { + @Override + public 仿製藥 接受(仿製藥 物) { + return 物; + } + }; + } + } + + @FunctionalInterface + interface काम<जेनरिक,जम्पफ्रॉग> extends Functionբ<जेनरिक,जम्पफ्रॉग>, BabelLocalizer.Hindi { + + @Override + default जम्पफ्रॉग ausführen(जेनरिक चीज़) { + return मानना(चीज़); + } + + जम्पफ्रॉग मानना(जेनरिक चीज़); + + default <अंडाफ> काम<जेनरिक,अंडाफ> औरꣻफिर(काम पीछे) { + return (चीज़) -> काम.this.andThen(पीछे).apply(चीज़); + } + + default <अंडाफ> काम<अंडाफ,जम्पफ्रॉग> पहलाकर्ता(काम हैडर) { + return (चीज़) -> काम.this.compose(हैडर).apply(चीज़); + } + + static <जेनरिक> काम<जेनरिक,जेनरिक> पहचान() { + return new काम<जेनरिक, जेनरिक>() { + @Override + public जेनरिक मानना(जेनरिक चीज़) { + return चीज़; + } + }; + } + } + + @FunctionalInterface + interface 𓁟𓎓𓄟<𓉢,𓉣> extends Functionբ<𓉢,𓉣>, BabelLocalizer.Hiero { + + @Override + default 𓉣 ausführen(𓉢 𓐠) { + return 𓁉(𓐠); + } + + 𓉣 𓁉(𓉢 𓐠); + + default <𓉡> 𓁟𓎓𓄟<𓉢,𓉡> 𓍰𓐗𓂐(𓁟𓎓𓄟 𓅀) { + return (𓐠) -> 𓁟𓎓𓄟.this.andThen(𓅀).apply(𓐠); + } + + default <𓉡> 𓁟𓎓𓄟<𓉡,𓉣> 𓆥(𓁟𓎓𓄟 𓅽) { + return (𓐠) -> 𓁟𓎓𓄟.this.compose(𓅽).apply(𓐠); + } + + static <𓉢> 𓁟𓎓𓄟<𓉢,𓉢> 𓀀() { + return new 𓁟𓎓𓄟<>() { + @Override + public 𓉢 𓁉(𓉢 𓐠) { + return 𓐠; + } + }; + } + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Supplierբ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Supplierբ.java new file mode 100644 index 00000000..917b7e46 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/jpp/util/function/Supplierբ.java @@ -0,0 +1,62 @@ +package love.distributedrebirth.bassboon.jpp.util.function; + +import java.util.function.Supplier; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.lang.babel.BabelLocalizer; +import love.distributedrebirth.bassboon.jpp.lang.babel.Babelizeբᴬᵖᶦ; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public interface Supplierբ extends Supplier, Babelizeբᴬᵖᶦ { + + T abholen(); + + @Override + default T get() { + return abholen(); + } + + @FunctionalInterface + interface זזױױזדױךז<יזזױזזז> extends Supplierբ<יזזױזזז>, BabelLocalizer.Hinarī { + + @Override + default יזזױזזז abholen() { + return יזױזדזזזןזדןזך(); + } + + יזזױזזז יזױזדזזזןזדןזך(); + } + + @FunctionalInterface + interface 供應商<仿製藥> extends Supplierբ<仿製藥>, BabelLocalizer.Mandarin { + + @Override + default 仿製藥 abholen() { + return 得到(); + } + + 仿製藥 得到(); + } + + @FunctionalInterface + interface प्रदायक<जेनरिक> extends Supplierբ<जेनरिक>, BabelLocalizer.Hindi { + + @Override + default जेनरिक abholen() { + return प्राप्त(); + } + + जेनरिक प्राप्त(); + } + + @FunctionalInterface + interface 𓊷𓉭𓆅<𓉢> extends Supplierբ<𓉢>, BabelLocalizer.Hiero { + + @Override + default 𓉢 abholen() { + return 𓀦(); + } + + 𓉢 𓀦(); + } +} diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeBooleanᴶᴹˣ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeBooleanᴶᴹˣ.java index 59d614f7..0cd2a282 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeBooleanᴶᴹˣ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeBooleanᴶᴹˣ.java @@ -4,7 +4,7 @@ import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @MBeanAttributeType注(Boolean.class) -public class AttributeBooleanᴶᴹˣ extends AbstractMBeanAttributeᴶᴹˣ { +public class AttributeBooleanᴶᴹˣ extends MBeanAttribute抽ᴶᴹˣ { private Boolean value; public AttributeBooleanᴶᴹˣ(String name, String description) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeIntegerᴶᴹˣ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeIntegerᴶᴹˣ.java index 5522fddb..c4205e2f 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeIntegerᴶᴹˣ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeIntegerᴶᴹˣ.java @@ -4,7 +4,7 @@ import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @MBeanAttributeType注(Integer.class) -public class AttributeIntegerᴶᴹˣ extends AbstractMBeanAttributeᴶᴹˣ { +public class AttributeIntegerᴶᴹˣ extends MBeanAttribute抽ᴶᴹˣ { private Integer value; public AttributeIntegerᴶᴹˣ(String name, String description) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeLongᴶᴹˣ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeLongᴶᴹˣ.java index 32665325..55faa8d5 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeLongᴶᴹˣ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeLongᴶᴹˣ.java @@ -4,7 +4,7 @@ import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @MBeanAttributeType注(Long.class) -public class AttributeLongᴶᴹˣ extends AbstractMBeanAttributeᴶᴹˣ { +public class AttributeLongᴶᴹˣ extends MBeanAttribute抽ᴶᴹˣ { private Long value; public AttributeLongᴶᴹˣ(String name, String description) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeStringᴶᴹˣ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeStringᴶᴹˣ.java index 435e90ab..02be7b93 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeStringᴶᴹˣ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AttributeStringᴶᴹˣ.java @@ -4,7 +4,7 @@ import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @MBeanAttributeType注(String.class) -public class AttributeStringᴶᴹˣ extends AbstractMBeanAttributeᴶᴹˣ { +public class AttributeStringᴶᴹˣ extends MBeanAttribute抽ᴶᴹˣ { private String value; public AttributeStringᴶᴹˣ(String name, String description) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/CounterGuageᴶᴹˣ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/CounterGuageᴶᴹˣ.java index 51492a70..0f6276ff 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/CounterGuageᴶᴹˣ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/CounterGuageᴶᴹˣ.java @@ -4,7 +4,7 @@ import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @MBeanAttributeType注(Long.class) -public class CounterGuageᴶᴹˣ extends AbstractMBeanAttributeᴶᴹˣ { +public class CounterGuageᴶᴹˣ extends MBeanAttribute抽ᴶᴹˣ { private volatile long counter; public CounterGuageᴶᴹˣ(String name, String description) { diff --git a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AbstractMBeanAttributeᴶᴹˣ.java b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/MBeanAttribute抽ᴶᴹˣ.java similarity index 73% rename from gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AbstractMBeanAttributeᴶᴹˣ.java rename to gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/MBeanAttribute抽ᴶᴹˣ.java index fe90c981..d76a2d84 100644 --- a/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/AbstractMBeanAttributeᴶᴹˣ.java +++ b/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboon/yd/jmx/MBeanAttribute抽ᴶᴹˣ.java @@ -3,11 +3,11 @@ package love.distributedrebirth.bassboon.yd.jmx; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -abstract public class AbstractMBeanAttributeᴶᴹˣ implements MBeanAttributeᴶᴹˣ { +abstract public class MBeanAttribute抽ᴶᴹˣ implements MBeanAttributeᴶᴹˣ { private final String name; private final String description; - public AbstractMBeanAttributeᴶᴹˣ(String name, String description) { + public MBeanAttribute抽ᴶᴹˣ(String name, String description) { this.name = name; this.description = description; } diff --git a/gdxapp4d-lib-bassboonyd/src/test/java/love/distributedrebirth/bassboon/jpp/lang/BabelTest.java b/gdxapp4d-lib-bassboonyd/src/test/java/love/distributedrebirth/bassboon/jpp/lang/BabelTest.java new file mode 100644 index 00000000..61a373a9 --- /dev/null +++ b/gdxapp4d-lib-bassboonyd/src/test/java/love/distributedrebirth/bassboon/jpp/lang/BabelTest.java @@ -0,0 +1,119 @@ +package love.distributedrebirth.bassboon.jpp.lang; + +import java.util.function.Consumer; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; +import love.distributedrebirth.bassboon.jpp.util.Iteratorᴿᵈ; +import love.distributedrebirth.bassboon.jpp.util.function.Consumerբ.𓀁𓏁; +import love.distributedrebirth.bassboon.jpp.util.function.Consumerբ.उपभोक्ता; + +@BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public class BabelTest { + + enum Bᐜᐝᐞᐟᐠᐡᐢᐣᐤᐥᐦᐧᐨᐩᐪᑉᑊᑋᒃᒄᒡᒢᒻᒼᒽᒾᓐᓑᓒᓪᓫᔅᔆᔇᔈᔉᔊᔋᔥᔾᔿᕀᕁᕐᕑᕝᕪᕻᕯᕽᖅᖕᖖᖟᖦᖮᗮᘁᙆᙇᙾᙿᣔᣕᣖᣗᣘᣙᣚᣛᣜᣝᣞᣟᣳᣴᣵ { + + } + + enum Translatec̈ { + CODE_LANG ("普通話", "𓂀", "हिन्दी"), + CODE_SEP ("龸", "𓐗", "ꣻ"), + + GENERICS_T ("仿製藥", "𓉢", "जेनरिक"), + GENERICS_U ("青蛙藥", "𓉣", "जम्पफ्रॉग"), + GENERICS_V ("蛋從", "𓉡", "अंडाफ"), + + ARG_THING ("物", "𓐠", "चीज़"), + ARG_OTHER ("其他", "𓐐", "अन्य"), + + FN_ACTION ("行動", "𓀢", "गतिविधि"), + FN_ACCEPT ("接受", "𓁉", "मानना"), + FN_AND ("和", "𓍰", "और"), + FN_THAN ("接著", "𓂐", "फिर"), + FN_AFTER ("後", "𓅀", "पीछे "), + FN_BEFORE ("字首", "𓅽", "हैडर"), + FN_TO ("至", "𓀨", "प्रति"), + FN_AT ("存在", "𓃣", "मौजूद"), + FN_RUN ("賽跑者", "𓀟", "दौड़ना"), + FN_GET ("得到", "𓀦", "प्राप्त"), + FN_HAS ("有", "𓎞", "है"), + FN_FOR ("為了", "𓊖", "वास्ते"), + FN_EACH ("每個", "𓎛", "प्रत्येक"), + FN_NEXT ("旁邊", "𓄱𓆭", "अगला"), + FN_READ ("輸入", "𓐨", "पढ़ना"), + FN_WRITE ("輸出", "𓐧", "लिखना"), + FN_REMOVE ("消除", "𓌩", "हटाना"), + FN_COMPARE ("相比", "𓍝", "तुलना"), + FN_COMPOSE ("構成前", "𓆥", "पहलाकर्ता"), + FN_IDENTITY ("身份", "𓀀", "पहचान"), + FN_APPEND ("附加", "𓆒𓀜", "जोड़ना"), + FN_CODE ("代碼", "𓊏", "कोड"), + FN_POINT ("觀點", "𓀄", "बिंदु"), + FN_CAPACITY ("容量", "𓆣𓆥", "क्षमता"), + FN_CHAR ("信", "𓂁𓂃𓂄", "पत्र"), + FN_COUNT ("數數", "𓍮𓁤", "गणना"), + + CLZ_CONSUMER ("消費者", "𓀁𓏁", "उपभोक्ता"), + CLZ_BICONSUMER ("雙消費者", "𓇌𓀁", "दोहराꣻउपभोक्ता"), + CLZ_RUNNABLE ("可運行", "𓌭𓀟", "जंगम"), + CLZ_SUPPLIER ("供應商", "𓊷𓉭𓆅", "प्रदायक"), + CLZ_COMPARABLE ("可比", "𓌭𓍝", "तुलनीय"), + CLZ_FUNCTION ("功能", "𓁟𓎓𓄟", "काम"), + CLZ_COMPARATOR ("平衡器", "𓄤𓊯𓀐", "संतुलक"), + ; + private String 普通話; // normale + private String 𓂀;//normal font + private String हिन्दी; // auto micro font thus must be be last... + + // note: ------- \/ + private Translatec̈(String 普通話, String 𓂀, String हिन्दी) { + this.普通話 = 普通話; + this.𓂀 = 𓂀; + this.हिन्दी = हिन्दी; + } + } + + //abstract protected void ײₐₚᵢI18Nᵗˣᵗײ(T api); + + @Test + public void testObjectToHuman() { + Assertions.assertTrue(Translatec̈.values()[0] != null); + for (Translatec̈ t :Translatec̈.values()) { + Assertions.assertNotNull(t.普通話); + Assertions.assertNotNull(t.𓂀); + Assertions.assertNotNull(t.हिन्दी); + //System.out.println(t.name()+"="+t.china); + } + 𓀁𓏁 test = new 𓀁𓏁<>() { + @Override + public void 𓁉(String 𓐠) { + System.out.println("test=" + 𓐠); + } + }; + + 𓀁𓏁 test2 = test.𓍰𓐗𓂐((v) -> { + System.out.println("test2="+v); + }); + + test.𓁉("aaa"); + + Consumer run = test2; //.𓀨𓐗𓀁(); + run.accept("test123"); + + StringBuilderբ.ßabelHindi ग = StringBuilderբ.instanceᴺᵉʷ().toBabelHindi(); + StringUnicode str = new StringUnicode("sDfgdklsfjglksdjfgljsdklfjgklds"); + Iteratorᴿᵈ ii = Iteratorᴿᵈ.wrapᴼᶠ(str.codePoints().iterator()); + Iteratorᴿᵈ.ßabelHindiᴿᵈ गला = ii.toBabelHindiᴿᵈ(); + while (गला.हैꣻअगलाꣻपढ़ना()) { + गला.वास्तेꣻप्रत्येकꣻबचाहुआꣻपढ़ना(new उपभोक्ता() { + @Override + public void मानना(Integer चीज़) { + ग.जोड़नाꣻकोडꣻबिंदु(चीज़); + } + }); + } + System.out.println(ग); + } +} diff --git a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2PartsFactory.java b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2PartsFactory.java index b89cbb1f..1d799f38 100644 --- a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2PartsFactory.java +++ b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2PartsFactory.java @@ -84,7 +84,7 @@ public enum Base2PartsFactory implements BãßBȍőnAbacusInstanceMBeanʸᴰ output) throws IOException { diff --git a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2WarpCore.java b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2WarpCore.java index 4fb014c4..60dc32c9 100644 --- a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2WarpCore.java +++ b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/Base2WarpCore.java @@ -48,7 +48,7 @@ public enum Base2WarpCore implements BãßBȍőnAbacusInstanceMBeanʸᴰ[] parts = Base2PartsFactory.INSTANCE.BãßBuildPartsByBase(base); for (TerminatorPartᶦᶦ part:parts) { logHandler.accept("Lock: "+part.ráàmExportNaam()+" since: "+part.ráàmAuthorKopieërRecht()); - Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.墳ᴸᵒᶜᵏ(part); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.墳ᴸᵒᶜᵏ(part); } } } diff --git a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T002PartBinary.java b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T002PartBinary.java index 63a99dc7..abb86a0c 100644 --- a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T002PartBinary.java +++ b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T002PartBinary.java @@ -3,23 +3,30 @@ package love.distributedrebirth.numberxd.base2t.part; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnDuytsFlüstern注; import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorBullet; +import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt1注; +import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt2ᶦᶦ; +import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt2注; import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartᶦᶦ; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnDuytsFlüstern注(purpose = "The distribution by 2 (low/high).") -public enum T002PartBinary implements TerminatorPartᶦᶦ { +@TerminatorPartAlt1注(name = "Binary number", website = "https://en.wikipedia.org/wiki/Binary_number") +@TerminatorPartAlt2注(name = "Binary punched holes", website = "https://en.wikipedia.org/wiki/Binary_number#Representation") +public enum T002PartBinary implements TerminatorPartAlt2ᶦᶦ { - PART_1("˧", "低", "low"), - PART_2("꜔", "高", "high"), + PART_1("˧", "低", "low", "0", "☐"), + PART_2("꜔", "高", "high","1", "☒"), ; public final static T002PartBinary STATIC = T002PartBinary.PART_1; public final static T002PartBinary TAIL = STATIC.rȧñkNaarLaatste(); - private T002PartBinary(String dialTone, String chinaKey, String chinaValue) { + private T002PartBinary(String dialTone, String chinaKey, String chinaValue, String alt1Value, String alt2Value) { TerminatorPartᶦᶦ.Ꝑŕḯṿª₮ḕ.יהוהʸᴰ(this, dialTone, enumPart -> { enumPart.PUT_OBJ(TerminatorBullet.CHINA_KEY, chinaKey); enumPart.PUT_OBJ(TerminatorBullet.CHINA_VALUE, chinaValue); + enumPart.PUT_OBJ(TerminatorBullet.ALT_1_VALUE, alt1Value); + enumPart.PUT_OBJ(TerminatorBullet.ALT_2_VALUE, alt2Value); }); } } diff --git a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T008PartOctal.java b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T008PartOctal.java index 811164a6..c7bc280f 100644 --- a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T008PartOctal.java +++ b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T008PartOctal.java @@ -2,8 +2,9 @@ package love.distributedrebirth.numberxd.base2t.part; import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注; import love.distributedrebirth.bassboon.clazz.BãßBȍőnDuytsFlüstern注; -import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt1ᶦᶦ; import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt1注; +import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt2ᶦᶦ; +import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartAlt2注; import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorBullet; import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartShiftBitsʸᴰ; import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartᶦᶦ; @@ -11,16 +12,17 @@ import love.distributedrebirth.numberxd.base2t.part.ii.TerminatorPartᶦᶦ; @BãßBȍőnAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @BãßBȍőnDuytsFlüstern注(purpose = "The distribution by 8 (eight trigrams).") @TerminatorPartAlt1注(name = "The eight trigrams", website = "https://en.wikipedia.org/wiki/Bagua") -public enum T008PartOctal implements TerminatorPartShiftBitsʸᴰ, TerminatorPartAlt1ᶦᶦ { +@TerminatorPartAlt2注(name = "Hinarī(ヒナリー) is octal hebrew binary", website = "http://distributedrebirth.love") +public enum T008PartOctal implements TerminatorPartShiftBitsʸᴰ, TerminatorPartAlt2ᶦᶦ { - PART_1("˥","乾","creative", 0, "☰"), - PART_2("˩","兌","joyous", 3, "☱"), - PART_3("꜒","離","clinging", 6, "☲"), - PART_4("꜖","震","arousing", 9, "☳"), - PART_5("꜈","巽","gentle", 12, "☴"), - PART_6("꜌","坎","abysmal", 15, "☵"), - PART_7("꜍","艮","silent", 18, "☶"), - PART_8("꜑","坤","receptive", 21, "☷"), + PART_1("˥","乾","creative", 0, "☰", "ײ"), + PART_2("˩","兌","joyous", 3, "☱", "ױ"), + PART_3("꜒","離","clinging", 6, "☲", "ו"), + PART_4("꜖","震","arousing", 9, "☳", "י"), + PART_5("꜈","巽","gentle", 12, "☴", "ז"), + PART_6("꜌","坎","abysmal", 15, "☵", "ד"), + PART_7("꜍","艮","silent", 18, "☶", "ן"), + PART_8("꜑","坤","receptive", 21, "☷", "ך"), ; public final static int BIT_COUNT = 3; @@ -28,12 +30,13 @@ public enum T008PartOctal implements TerminatorPartShiftBitsʸᴰ public final static T008PartOctal STATIC = T008PartOctal.PART_1; public final static T008PartOctal TAIL = STATIC.rȧñkNaarLaatste(); - private T008PartOctal(String dialTone, String chinaKey, String chinaValue, int shiftBits, String alt1Value) { + private T008PartOctal(String dialTone, String chinaKey, String chinaValue, int shiftBits, String alt1Value, String alt2Value) { TerminatorPartᶦᶦ.Ꝑŕḯṿª₮ḕ.יהוהʸᴰ(this, dialTone, enumPart -> { enumPart.PUT_OBJ(TerminatorBullet.CHINA_KEY, chinaKey); enumPart.PUT_OBJ(TerminatorBullet.CHINA_VALUE, chinaValue); enumPart.PUT_OBJ(TerminatorBullet.SHIFT_BITS, Integer.valueOf(shiftBits)); enumPart.PUT_OBJ(TerminatorBullet.ALT_1_VALUE, alt1Value); + enumPart.PUT_OBJ(TerminatorBullet.ALT_2_VALUE, alt2Value); }); } diff --git a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T020PartVigesimal.java b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T020PartVigesimal.java index 4d9448c8..8b17c2fe 100644 --- a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T020PartVigesimal.java +++ b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/T020PartVigesimal.java @@ -66,4 +66,16 @@ public enum T020PartVigesimal implements TerminatorPartAlt4ᶦᶦ> extends @SafeVarargs public static > void יהוהʸᴰ(Y boon, String dialTone, Consumer>...fleshFeeders) { - Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.𓂀ױןייזדזיודזיןןזזזןױ𓉢(boon); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.𓂀ױןייזדזיודזיןןזזזןױ𓉢(boon); boon.toBBC().NOISE_OF(BãßBȍőnAbacusEnumBase響ᴼᶠ.class).rȧñkRingToonInluiden(dialTone); BãßBȍőnAbacusZombieCorpse corpse = BãßBȍőnAbacusZombieCorpse.castᴼᶠ(boon.toEnumZombie()); for (Consumer> flesh:fleshFeeders) { diff --git a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/unicode/BaseGlyphSet.java b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/unicode/BaseGlyphSet.java index 09756498..3e49e21c 100644 --- a/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/unicode/BaseGlyphSet.java +++ b/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/unicode/BaseGlyphSet.java @@ -80,6 +80,8 @@ public enum BaseGlyphSet implements BãßBȍőnAbacusSetMBeanʸᴰ new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ"), new BaseGlyphSetNumber("ō","α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ"), new BaseGlyphSetNumber("α","β","γ","δ","ε","ϝ","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ϟ","ρ","σ","τ","υ","φ","χ","ψ","ω","ϡ")), + //Hindi "० १ २ ३ ४ ५ ६ ७ ८ ९" + //Urdu "۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹" BENGALI( new BaseGlyphSetNumber("০","১","২","৩","৪","৫","৬","৭","৮","৯"), new BaseGlyphSetNumber("০","১","২","৩","৪","৫","৬","৭","৮","৯","জ্ঞ","ক্ষ","হ","স","ষ","শ"), @@ -180,7 +182,7 @@ public enum BaseGlyphSet implements BãßBȍőnAbacusSetMBeanʸᴰ } private BaseGlyphSet(BaseGlyphSetNumber numbers, BaseGlyphSetNumber hex, BaseGlyphSetNumber gematria, Boolean reverseScript) { - Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.𓂀ױןייזדזיודזיןןזזזןױ𓉢(this); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.𓂀ױןייזדזיודזיןןזזזןױ𓉢(this); BãßBȍőnAbacusZombieCorpse corpse = BãßBȍőnAbacusZombieCorpse.castᴼᶠ(toEnumZombie()); corpse.PUT_OBJ(BaseGlyphSetBullet.NUMBERS, numbers); corpse.PUT_OBJ(BaseGlyphSetBullet.HEXIMALS, hex); diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java index b07bb2bf..9041985d 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4.java @@ -42,7 +42,7 @@ public enum GDXAppTos4 implements BãßBȍőnAbacusInstanceMBeanʸᴰ args, int viewWidth, int viewHeight, NativeFileChooser fileChooser) { diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java index 2a908ad4..033ccfaa 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java @@ -134,6 +134,7 @@ public class GDXAppTos4BootFactory { "love.distributedrebirth.numberxd,"+ "love.distributedrebirth.numberxd.base2t,"+ "love.distributedrebirth.numberxd.base2t.part,"+ + "love.distributedrebirth.numberxd.base2t.part.ii,"+ "love.distributedrebirth.numberxd.base2t.type,"+ "love.distributedrebirth.numberxd.base2t.typexl,"+ "love.distributedrebirth.numberxd.unicode,"+ diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java index ad23c966..22f448ca 100644 --- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java +++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java @@ -169,7 +169,7 @@ public class GDXAppVrGem4Activator implements BundleActivator { StringUnicode exportName = bassbone.toBBC().NOISE_OF(BãßBȍőnExport響ᴼᶠ.class).artifact(); StringUnicode copyright = bassbone.toBBC().NOISE_OF(BãßBȍőnAuthor響ᴼᶠ.class).kopieërRecht(); bootScreen.bootLine("Lock: "+exportName+" since: "+copyright); - Bãß.石棺ʸᴰ.ײاللهזأَكْبَرײ.墳ᴸᵒᶜᵏ(bassbone); + Bãß.石棺ʸᴰ.أَكْبَرײꣻײالله.墳ᴸᵒᶜᵏ(bassbone); } bootScreen.bootLine("BãßBȍőnʸᴰ init done."); } diff --git a/pom.xml b/pom.xml index 5ae6d029..c89ecf22 100644 --- a/pom.xml +++ b/pom.xml @@ -144,6 +144,7 @@ love.distributedrebirth.numberxd, love.distributedrebirth.numberxd.base2t, love.distributedrebirth.numberxd.base2t.part, + love.distributedrebirth.numberxd.base2t.part.ii, love.distributedrebirth.numberxd.base2t.type, love.distributedrebirth.numberxd.base2t.typexl, love.distributedrebirth.numberxd.unicode,