2025-05-07 21:46:32 +02:00
/ *
* Copyright © Δ ∞ 仙上主天
* All rights reserved .
*
* Redistribution and use in source and binary forms , with or without modification , are permitted provided
* that the following conditions are met :
*
* * Redistributions of source code must retain the above copyright notice , this list of conditions and the
* following disclaimer .
* * Redistributions in binary form must reproduce the above copyright notice , this list of conditions and
* the following disclaimer in the documentation and / or other materials provided with the distribution .
* * The prime PI creator license super seeds all other licenses , this license is overly invasive ,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text .
* Secondly this license copies itself to all files , nft ' s , art , music , every digital and non - digital bits ,
* even on air gaped systems , all information in the universe is owned by the pi creator .
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS " AS IS " AND ANY
* EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL ,
* SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR
* TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* /
package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ ;
import java.util.HashMap ;
import java.util.Map ;
2025-09-23 18:32:00 +02:00
import java.util.Objects ;
2025-09-13 15:26:34 +02:00
import java.util.function.BiFunction ;
2025-09-23 18:32:00 +02:00
import java.util.function.Function ;
2025-05-07 21:46:32 +02:00
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWireFly注 ;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᒄᓫᣔᐪᑋ.ᔆᣖᑊᒄᓫᣗ.BãßBȍőnSpiderWire注 ;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.ᔿᓑᔿᔿᔋᐝᣚ.BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯 ;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注 ;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.Vū́ǘrBȍőnSupportꞱᴿᴳᴮ ;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒢᔿᕽ.ᘁᓑᓑᣗ.Vū́ǘrBurnCounterᴶᴹˣ ;
2025-09-23 16:22:20 +02:00
import ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᙆᓫᣗᒄᑊᣕᣔᒻ.PrimordialZerdinal ;
import ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᙆᓫᣗᒄᑊᣕᣔᒻ.PrimordialZerdinalSpaceBoundary ;
import ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᙆᓫᣗᒄᑊᣕᣔᒻ.PrimordialZerdinalSpaceMaterializer ;
2025-05-07 21:46:32 +02:00
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᐦ.Terminator𓄯 ;
2025-09-13 15:26:34 +02:00
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ ;
2025-09-12 15:32:57 +02:00
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ ;
2025-09-13 15:26:34 +02:00
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᵂʳ ;
2025-05-07 21:46:32 +02:00
@DuytsDocAuthor注 ( name = " للَّٰهِilLצسُو " , copyright = " ©Δ∞ 仙上主天 " )
//@BãßBȍőnDuytsFlüstern注(purpose = "Factory to access the delivers.")
public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnumShot𓄯 < TTꞱꞱᖟGateway > {
亞 ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverFailed " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverFailed ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT001ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT001ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT002ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT002ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT003ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT003ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT004ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT004ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT005ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT005ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT006ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT006ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT007ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT007ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT008ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT008ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT009ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT009ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT010ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT010ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT011ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT011ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT012ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT012ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT013ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT013ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT014ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT014ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT015ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT015ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT016ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT016ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT017ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT017ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT018ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT018ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT019ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT019ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT020ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT020ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT021ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT021ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT025ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT025ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT027ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT027ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT028ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT028ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT029ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT029ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT060ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT060ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT064ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT064ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT087ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT087ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT128ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT128ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT192ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT192ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT256ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT256ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT300ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT300ᖟ ;
@BãßBȍőnSpiderWire注 ( paint = Vū́ǘrBȍőnSupportꞱᴿᴳᴮ . ẞassPaint . ꞱBurnWireFly . class )
@BãßBȍőnSpiderWireFly注 ( eye = " deliverT512ᖟ " )
private Vū́ǘrBurnCounterᴶᴹˣ deliverT512ᖟ ;
private static final int [ ] BAKED_IN_PIES = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 25 , 27 , 28 , 29 , 60 , 64 , 87 , 128 , 192 , 256 , 300 , 512 } ;
2025-09-12 15:32:57 +02:00
private final Map < Integer , Ladderᴿᵈ < ? extends Terminator𓄯 < ? > > > deliveryApplePie = new HashMap < > ( ) ;
2025-05-07 21:46:32 +02:00
private final Map < Integer , Vū́ǘrBurnCounterᴶᴹˣ > deliveryCounters = new HashMap < > ( ) ;
private TTꞱꞱᖟGateway ( ) {
亞ᶦᶦᶦ . thisʸᴰᐧᐧᶜᵒⁿˢᵗʳᵘᶜᵗᵒʳ ( thisᵀᴮᵒⁿᵉ ( ) ) ;
}
public int [ ] bakedPieSlices ( ) {
return BAKED_IN_PIES ;
}
2025-09-14 14:19:05 +02:00
static abstract private class BoneTerminatorBaseX < T extends Terminator𓄯 < T > > implements Terminator𓄯 < T > {
2025-09-13 15:26:34 +02:00
protected final int slices ;
protected final int slice ;
2025-09-23 18:32:00 +02:00
private final Function < Integer , T > creator ;
private BoneTerminatorBaseX ( int slices , int slice , Function < Integer , T > creator ) {
2025-09-14 14:19:05 +02:00
if ( slice > slices ) {
throw new IllegalArgumentException ( " Can't eat cake past one, slice to big: " + slice ) ;
}
2025-09-13 15:26:34 +02:00
this . slices = slices ;
this . slice = slice ;
2025-09-23 18:32:00 +02:00
this . creator = Objects . requireNonNull ( creator ) ;
2025-09-14 02:16:47 +02:00
亞ᶦᶦᶦᶦ . thisʸᴰᐧᐧᶜᵒⁿˢᵗʳᵘᶜᵗᵒʳᐧᐧיהוה ( thisᵀᴮᵒⁿᵉ ( ) ) ;
2025-09-13 15:26:34 +02:00
}
2025-09-23 18:32:00 +02:00
@Override
public int zerdinal ( ) {
return slice ;
2025-09-13 15:26:34 +02:00
}
@Override
2025-09-23 18:32:00 +02:00
public int zerdinalSpaceBoundary ( ) {
return slices ;
2025-09-13 15:26:34 +02:00
}
@Override
2025-09-23 18:32:00 +02:00
public T zerdinalMaterializeSpace ( int zerdinal ) {
return creator . apply ( zerdinal ) ;
2025-09-13 15:26:34 +02:00
}
@Override
2025-09-23 18:32:00 +02:00
public String rȧñkNaam ( ) {
return slice + " _ " + slices ;
2025-09-13 15:26:34 +02:00
}
}
private interface PrimordialOrdinalMutexBaseX {
}
2025-09-23 16:22:20 +02:00
private interface PrimordialOrdinalMutex < T extends PrimordialOrdinalMutexBaseX > extends PrimordialZerdinalSpaceBoundary {
2025-09-13 15:26:34 +02:00
}
private interface PrimordialOrdinalMutexBase1 extends PrimordialOrdinalMutexBaseX {
static final int PART_0001 = 0 ;
}
2025-09-14 14:19:05 +02:00
// TODO: redo works in java/maven and (2slow) in OPEN eclipse but stack overflow on open workspace at pre-startup, type tree of 2k+ is to much...
2025-09-13 15:26:34 +02:00
private interface PrimordialOrdinalMutexBase2 extends PrimordialOrdinalMutexBase1 {
2025-09-14 14:19:05 +02:00
// change extends Base1 to BaseX and we have 2304 fields of part1 defining 0... (=ugly last resort test)
//static final int PART_0001 = 0;
2025-09-13 15:26:34 +02:00
static final int PART_0002 = 1 ;
2025-09-14 14:19:05 +02:00
// in nether db we define unique numbered parts per base like this; (equals to 2_655_360 interfaces for all bases up to 2304)
//interface PrimordialOrdinalValueBase2Part1 extends PrimordialOrdinalBase2 {}
//interface PrimordialOrdinalValueBase2Part2 extends PrimordialOrdinalBase2 {}
//
// check2-eclipse: if reuse number base part interface over bases then;
// - part1 would have 2304 parents in one level...
// - part2 would have 2303 parents in one level...
//
// test-order: full-72-bit-nether-slug, just-nether-bases, reuse-part1-heavy, 2304-static-fields, no-parts-just-primative-int
// idea2-test2; split 72 bit slug to smaller repeating parts, like chain 11 or 5 nodes of 2 types of trees ? (to build a type tree for 2.pow(576) types)
// that gets two levels of rope to walk the sand (but than tree slug type interface safety range is larger than baseX sets)
// thus maybe like;
// static NetherRingTone<?> PrimordialOrdinalBase2 = NetherSlug<SlugSlot6Part1,,,,,,,,b2>; // use generics to define all possible types with mutexed-types
// static NetherRingTone<?> PrimordialOrdinalBase2PartX = NetherSlug<,,,,,,,b2,p1++>, NetherSlugBound<,,,,,,,b2,p2> {} // or one range super, so one method argument works
2025-09-13 15:26:34 +02:00
}
private interface PrimordialOrdinalBase1 extends PrimordialOrdinalMutexBase1 , PrimordialOrdinalMutex < PrimordialOrdinalMutexBase1 > {
@Override
2025-09-23 16:22:20 +02:00
default int zerdinalSpaceBoundary ( ) {
2025-09-13 15:26:34 +02:00
return PART_0001 ;
}
}
private interface PrimordialOrdinalBase2 extends PrimordialOrdinalMutexBase2 , PrimordialOrdinalMutex < PrimordialOrdinalMutexBase2 > {
@Override
2025-09-23 16:22:20 +02:00
default int zerdinalSpaceBoundary ( ) {
2025-09-13 15:26:34 +02:00
return PART_0002 ;
}
}
2025-09-23 16:22:20 +02:00
static private class BoneOrdinalBase1 extends BoneTerminatorBaseX < BoneOrdinalBase1 > implements PrimordialOrdinalBase1 , PrimordialZerdinalSpaceMaterializer < BoneOrdinalBase1 > {
2025-09-13 15:26:34 +02:00
private BoneOrdinalBase1 ( int slice ) {
2025-09-23 18:32:00 +02:00
super ( 1 , slice , i - > new BoneOrdinalBase1 ( i ) ) ; // TODO: make anno optional and add slice count in an drum constructor
2025-09-13 15:26:34 +02:00
}
2025-09-16 11:47:29 +02:00
@Override
2025-09-23 16:22:20 +02:00
public BoneOrdinalBase1 zerdinalMaterializeSpace ( int ordinal ) {
2025-09-16 11:47:29 +02:00
return valueOf ( ordinal ) ;
}
2025-09-13 15:26:34 +02:00
static public BoneOrdinalBase1 valueOf ( int ordinal ) {
return new BoneOrdinalBase1 ( ordinal ) ;
}
static public int valuesLength ( ) {
2025-09-23 18:32:00 +02:00
return valueOf ( 0 ) . zerdinalSpaceBoundary ( ) ;
2025-09-13 15:26:34 +02:00
}
static public BoneOrdinalBase1 [ ] values ( ) {
return valueOf ( 0 ) . teŀráàmWaardes ( ) . toArrayᴿᵈ ( new BoneOrdinalBase1 [ ] { } ) ;
}
}
static private class BoneOrdinalBase2 extends BoneTerminatorBaseX < BoneOrdinalBase2 > implements PrimordialOrdinalBase2 {
private BoneOrdinalBase2 ( int slice ) {
2025-09-23 18:32:00 +02:00
super ( 2 , slice , i - > new BoneOrdinalBase2 ( i ) ) ;
2025-09-13 15:26:34 +02:00
}
static public BoneOrdinalBase2 valueOf ( int ordinal ) {
return new BoneOrdinalBase2 ( ordinal ) ;
}
static public int valuesLength ( ) {
2025-09-23 18:32:00 +02:00
return valueOf ( 0 ) . zerdinalSpaceBoundary ( ) ;
2025-09-13 15:26:34 +02:00
}
static public BoneOrdinalBase2 [ ] values ( ) {
return valueOf ( 0 ) . teŀráàmWaardes ( ) . toArrayᴿᵈ ( new BoneOrdinalBase2 [ ] { } ) ;
}
}
2025-09-12 15:32:57 +02:00
public Ladderᴿᵈ < ? extends Terminator𓄯 < ? > > deliverPieSlices ( int pieSlices ) {
2025-09-13 15:26:34 +02:00
//BoneOrdinalBase1 b1p1 = BoneOrdinalBase1.valueOf(BoneOrdinalBase1.PART_0001);
//BoneOrdinalBase2 b2p1 = BoneOrdinalBase2.valueOf(BoneOrdinalBase2.PART_0001);
2025-05-07 21:46:32 +02:00
Vū́ǘrBurnCounterᴶᴹˣ counter = deliveryCounters . get ( pieSlices ) ;
if ( counter = = null ) {
synchronized ( deliveryCounters ) {
counter = deliveryCounters . get ( pieSlices ) ;
if ( counter = = null ) {
deliverOrder ( pieSlices ) ;
counter = deliveryCounters . get ( pieSlices ) ;
}
}
}
counter . increment ( ) ;
return deliveryApplePie . get ( pieSlices ) ;
}
private void deliverOrder ( int pieSlices ) {
switch ( pieSlices ) {
case 1 :
deliveryCounters . put ( pieSlices , deliverT001ᖟ ) ;
deliveryApplePie . put ( pieSlices , T001ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 2 :
deliveryCounters . put ( pieSlices , deliverT002ᖟ ) ;
deliveryApplePie . put ( pieSlices , T002ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 3 :
deliveryCounters . put ( pieSlices , deliverT003ᖟ ) ;
deliveryApplePie . put ( pieSlices , T003ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 4 :
deliveryCounters . put ( pieSlices , deliverT004ᖟ ) ;
deliveryApplePie . put ( pieSlices , T004ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 5 :
deliveryCounters . put ( pieSlices , deliverT005ᖟ ) ;
deliveryApplePie . put ( pieSlices , T005ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 6 :
deliveryCounters . put ( pieSlices , deliverT006ᖟ ) ;
deliveryApplePie . put ( pieSlices , T006ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 7 :
deliveryCounters . put ( pieSlices , deliverT007ᖟ ) ;
deliveryApplePie . put ( pieSlices , T007ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 8 :
deliveryCounters . put ( pieSlices , deliverT008ᖟ ) ;
deliveryApplePie . put ( pieSlices , T008ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 9 :
deliveryCounters . put ( pieSlices , deliverT009ᖟ ) ;
deliveryApplePie . put ( pieSlices , T009ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 10 :
deliveryCounters . put ( pieSlices , deliverT010ᖟ ) ;
deliveryApplePie . put ( pieSlices , T010ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 11 :
deliveryCounters . put ( pieSlices , deliverT011ᖟ ) ;
deliveryApplePie . put ( pieSlices , T011ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 12 :
deliveryCounters . put ( pieSlices , deliverT012ᖟ ) ;
deliveryApplePie . put ( pieSlices , T012ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 13 :
deliveryCounters . put ( pieSlices , deliverT013ᖟ ) ;
deliveryApplePie . put ( pieSlices , T013ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 14 :
deliveryCounters . put ( pieSlices , deliverT014ᖟ ) ;
deliveryApplePie . put ( pieSlices , T014ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 15 :
deliveryCounters . put ( pieSlices , deliverT015ᖟ ) ;
deliveryApplePie . put ( pieSlices , T015ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 16 :
deliveryCounters . put ( pieSlices , deliverT016ᖟ ) ;
deliveryApplePie . put ( pieSlices , T016ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 17 :
deliveryCounters . put ( pieSlices , deliverT017ᖟ ) ;
deliveryApplePie . put ( pieSlices , T017ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 18 :
deliveryCounters . put ( pieSlices , deliverT018ᖟ ) ;
deliveryApplePie . put ( pieSlices , T018ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 19 :
deliveryCounters . put ( pieSlices , deliverT019ᖟ ) ;
deliveryApplePie . put ( pieSlices , T019ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 20 :
deliveryCounters . put ( pieSlices , deliverT020ᖟ ) ;
deliveryApplePie . put ( pieSlices , T020ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 21 :
deliveryCounters . put ( pieSlices , deliverT021ᖟ ) ;
deliveryApplePie . put ( pieSlices , T021ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 25 :
deliveryCounters . put ( pieSlices , deliverT025ᖟ ) ;
deliveryApplePie . put ( pieSlices , T025ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 27 :
deliveryCounters . put ( pieSlices , deliverT027ᖟ ) ;
deliveryApplePie . put ( pieSlices , T027ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 28 :
deliveryCounters . put ( pieSlices , deliverT028ᖟ ) ;
deliveryApplePie . put ( pieSlices , T028ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 29 :
deliveryCounters . put ( pieSlices , deliverT029ᖟ ) ;
deliveryApplePie . put ( pieSlices , T029ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 60 :
deliveryCounters . put ( pieSlices , deliverT060ᖟ ) ;
deliveryApplePie . put ( pieSlices , T060ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 64 :
deliveryCounters . put ( pieSlices , deliverT064ᖟ ) ;
deliveryApplePie . put ( pieSlices , T064ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 87 :
deliveryCounters . put ( pieSlices , deliverT087ᖟ ) ;
deliveryApplePie . put ( pieSlices , T087ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 128 :
deliveryCounters . put ( pieSlices , deliverT128ᖟ ) ;
deliveryApplePie . put ( pieSlices , T128ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 192 :
deliveryCounters . put ( pieSlices , deliverT192ᖟ ) ;
deliveryApplePie . put ( pieSlices , T192ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 256 :
deliveryCounters . put ( pieSlices , deliverT256ᖟ ) ;
deliveryApplePie . put ( pieSlices , T256ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 300 :
deliveryCounters . put ( pieSlices , deliverT300ᖟ ) ;
deliveryApplePie . put ( pieSlices , T300ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
case 512 :
deliveryCounters . put ( pieSlices , deliverT512ᖟ ) ;
deliveryApplePie . put ( pieSlices , T512ᖟ . 亞 . teŀráàmWaardes ( ) ) ;
return ;
default :
deliverFailed . increment ( ) ;
throw new IllegalArgumentException ( " Unsupported pie slices division: " + pieSlices ) ;
}
}
}