Added init annotation and method for boon's.
This commit is contained in:
parent
08de7c0f4f
commit
5a0b3978d1
|
@ -1,5 +1,6 @@
|
|||
package love.distributedrebirth.bassboonyd;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -18,6 +19,18 @@ public interface BãßBȍőnCoffinOpenʸᴰ<T extends BãßBȍőnCoffinStoreKey
|
|||
PUT_OBJ(key, new HashMap<>());
|
||||
}
|
||||
|
||||
default void INIT_BOON(Object boon) {
|
||||
try {
|
||||
for (Method m:boon.getClass().getMethods()) {
|
||||
if (m.isAnnotationPresent(BãßBȍőnInitMethodʸᴰ.class)) {
|
||||
m.invoke(boon, this);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
static <Y extends BãßBȍőnCoffinStoreKeyʸᴰ> BãßBȍőnCoffinOpenʸᴰ<Y> newInstance() {
|
||||
return new BãßBȍőnCoffinOpenʸᴰ<Y>() {
|
||||
final Map<Y,Object> initMap = new HashMap<>();
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package love.distributedrebirth.bassboonyd;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.METHOD})
|
||||
public @interface BãßBȍőnInitMethodʸᴰ {
|
||||
|
||||
}
|
|
@ -8,7 +8,10 @@ import java.util.Iterator;
|
|||
import java.util.List;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumInstanceʸᴰ;
|
||||
import love.distributedrebirth.numberxd.base2t.glyph.BãßBȍőnGlyphSetKeyʸᴰ;
|
||||
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
|
||||
import love.distributedrebirth.numberxd.base2t.type.V072Tong;
|
||||
import love.distributedrebirth.numberxd.base2t.type.V144Tocta;
|
||||
|
@ -26,6 +29,12 @@ public enum Base2Terminator implements BãßBȍőnEnumInstanceʸᴰ<Base2Termina
|
|||
private static final int BLOCK_TOCTA_SIZE = 18;
|
||||
private static final int SHIFT_8 = 8;
|
||||
private static final int SHIFT_16 = 16;
|
||||
private final BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> BBC = BãßBȍőnCoffinOpenʸᴰ.newInstance();
|
||||
public BãßBȍőnCoffinʸᴰ<BãßBȍőnGlyphSetKeyʸᴰ> GET_BBC() { return BBC; }
|
||||
|
||||
private Base2Terminator() {
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
|
||||
public int Bãß2ReadTong(InputStream input, List<V072Tong> output) throws IOException {
|
||||
int totalBytes = 0;
|
||||
|
|
|
@ -84,5 +84,6 @@ public enum BaseGlyphSet implements BãßBȍőnGlyphSetʸᴰ<BaseGlyphSet> {
|
|||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.NUMBERS, numbers);
|
||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.HEXIMALS, hex);
|
||||
BBC.PUT_OBJ(BãßBȍőnGlyphSetKeyʸᴰ.GEMATRIA, gematria);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,13 +4,25 @@ import java.util.Map;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinStoreʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnEnumSetʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnInitMethodʸᴰ;
|
||||
import love.distributedrebirth.numberxd.base2t.glyph.BaseGlyphSet;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
public interface BãßBȍőnPartʸᴰ<T extends BãßBȍőnPartʸᴰ<T>> extends BãßBȍőnEnumSetʸᴰ<T>, BãßBȍőnCoffinStoreʸᴰ<BãßBȍőnPartKeyʸᴰ> {
|
||||
|
||||
@BãßBȍőnInitMethodʸᴰ
|
||||
default void initMapTone(BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC) {
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
}
|
||||
|
||||
@BãßBȍőnInitMethodʸᴰ
|
||||
default void initMapChina(BãßBȍőnCoffinOpenʸᴰ<BãßBȍőnPartKeyʸᴰ> BBC) {
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
}
|
||||
|
||||
default String BȍőnIdentifierTone() {
|
||||
return GET_BBC().GET_STR(BãßBȍőnPartKeyʸᴰ.ID_TONE);
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ public enum T02PartBinary implements BãßBȍőnPartʸᴰ<T02PartBinary> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ public enum T03PartTrit implements BãßBȍőnPartʸᴰ<T03PartTrit> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,8 +25,7 @@ public enum T04PartQuad implements BãßBȍőnPartAlt1ʸᴰ<T04PartQuad> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
|
||||
public T02PartBinary splitPartBinary(T02PartBinary part) {
|
||||
|
|
|
@ -28,7 +28,6 @@ public enum T05PartPental implements BãßBȍőnPartAlt2ʸᴰ<T05PartPental> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,8 +27,7 @@ public enum T06PartSeximal implements BãßBȍőnPartAlt1ʸᴰ<T06PartSeximal> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
|
||||
public T02PartBinary splitPartBinary() {
|
||||
|
|
|
@ -28,7 +28,6 @@ public enum T07PartPlanIt implements BãßBȍőnPartAlt1ʸᴰ<T07PartPlanIt> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,8 +30,7 @@ public enum T08PartOctal implements BãßBȍőnPartʸᴰ<T08PartOctal>,BãßBȍ
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.SHIFT_BITS, Integer.valueOf(shiftBits));
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
|
||||
public static T08PartOctal indexOf(T08PartOctal group, int value) {
|
||||
|
|
|
@ -33,7 +33,6 @@ public enum T10PartDecimal implements BãßBȍőnPartAlt2ʸᴰ<T10PartDecimal> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,6 @@ public enum T11PartUndecimal implements BãßBȍőnPartAlt1ʸᴰ<T11PartUndecima
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@ public enum T12PartUncial implements BãßBȍőnPartAlt1ʸᴰ<T12PartUncial> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,8 +37,7 @@ public enum T16PartHex implements BãßBȍőnPartAlt1ʸᴰ<T16PartHex> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_1_VALUE, alt1Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
|
||||
public T02PartBinary splitPartBinary(T04PartQuad part) {
|
||||
|
|
|
@ -55,8 +55,7 @@ public enum T20PartScore implements BãßBȍőnPartAlt4ʸᴰ<T20PartScore> {
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_2_VALUE, alt2Value);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_3_VALUE, alt3Value);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ALT_4_VALUE, alt4Value);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
|
||||
public T20PartScore BãßValueOfOpenLC(String openLCKey) {
|
||||
|
|
|
@ -79,7 +79,6 @@ public enum T60PartSexagesimal implements BãßBȍőnPartʸᴰ<T60PartSexagesima
|
|||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.ID_TONE, idTone);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_KEY, chinaKey);
|
||||
BBC.PUT_OBJ(BãßBȍőnPartKeyʸᴰ.CHINA_VALUE, chinaValue);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_TONE);
|
||||
BBC.PUT_MAP(BãßBȍőnPartKeyʸᴰ.MAP_CHINA);
|
||||
BBC.INIT_BOON(this);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue