JPP: Made zerdinal space materializer an T-bone for self this reference

This commit is contained in:
Willem Cazander 2025-12-15 15:50:40 +01:00
parent 1f958a1adc
commit 813980f35c
2 changed files with 10 additions and 8 deletions

View file

@ -33,6 +33,7 @@ import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢObjectTBone;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T002ᖟ; import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T002ᖟ;
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ; import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ;
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ; import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ;
@ -45,19 +46,20 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
/// @author للَّٰهِilLצسُو /// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天 /// @version ©Δ 仙上主天
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") @DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface PrimordialZerdinalSpaceMaterializer<T extends PrimordialZerdinalSpaceMaterializer<T>> extends PrimordialZerdinalSpaceBoundary { public interface PrimordialZerdinalSpaceMaterializer<T extends PrimordialZerdinalSpaceMaterializer<T>> extends PrimordialZerdinalSpaceBoundary, ᒢObjectTBone<T> {
/// Materialize an number from the bounded zerdinal number space. /// Materialize an number from the bounded zerdinal number space.
T zerdinalMaterializeSpace(int zerdinal); T zerdinalMaterializeSpace(int zerdinal);
default RopeOfAzraelᴿᵈ<T> zerdinalSpaceRope() { default RopeOfAzraelᴿᵈ<T> zerdinalSpaceRope() {
return new RopeOfAzraelᴿᵈ<T> () { return new RopeOfAzraelᴿᵈ<T>() {
int zerdinalSpaceWalker = 0; int zerdinalSpaceWalker = 0;
@Override @Override
public T002ᖟ hasNextᴿᵈ() { public T002ᖟ hasNextᴿᵈ() {
return T002ᖟ.valueOf(zerdinalSpaceWalker < zerdinalSpaceBoundary()); return T002ᖟ.valueOf(zerdinalSpaceWalker < zerdinalSpaceBoundary());
} }
@Override @Override
public T nextᴿᵈ() { public T nextᴿᵈ() {
if (zerdinalSpaceWalker >= zerdinalSpaceBoundary()) { if (zerdinalSpaceWalker >= zerdinalSpaceBoundary()) {
@ -84,7 +86,7 @@ public interface PrimordialZerdinalSpaceMaterializer<T extends PrimordialZerdina
return zerdinalSpaceRodsToLadder(v -> v); return zerdinalSpaceRodsToLadder(v -> v);
} }
default Map<String,T> zerdinalSpaceRodsToMap(Function<T,String> keyMapper) { default Map<String, T> zerdinalSpaceRodsToMap(Function<T, String> keyMapper) {
return zerdinalSpaceRodsToLadder().streamᴿᵈ().collect(Collectors.toMap(keyMapper, v -> v)); return zerdinalSpaceRodsToLadder().streamᴿᵈ().collect(Collectors.toMap(keyMapper, v -> v));
} }
} }

View file

@ -47,20 +47,20 @@ public interface ZerdinalAḃåčȕs̈Rȧñk<T extends ZerdinalAḃåčȕs̈Rȧ
} }
default T abacusRȧñkGotoFirst() { default T abacusRȧñkGotoFirst() {
return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.GOTO_FIRST, zerdinal()).materializeOutput(zerdinalMaterializeSpace(zerdinal())); return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.GOTO_FIRST, zerdinal()).materializeOutput(thisᵀᴮᵒⁿᵉ());
} }
default T abacusRȧñkGotoLast() { default T abacusRȧñkGotoLast() {
return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.GOTO_LAST, zerdinal()).materializeOutput(zerdinalMaterializeSpace(zerdinal())); return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.GOTO_LAST, zerdinal()).materializeOutput(thisᵀᴮᵒⁿᵉ());
} }
@Deprecated @Deprecated
default T abacusRȧñkGotoUp(boolean loop) { default T abacusRȧñkGotoUp(boolean loop) {
return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.PLUS, 1, loop).materializeOutput(zerdinalMaterializeSpace(zerdinal())); return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.PLUS, 1, loop).materializeOutput(thisᵀᴮᵒⁿᵉ());
} }
@Deprecated @Deprecated
default T abacusRȧñkGotoDown(boolean loop) { default T abacusRȧñkGotoDown(boolean loop) {
return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.MINUS, 1, loop).materializeOutput(zerdinalMaterializeSpace(zerdinal())); return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.MINUS, 1, loop).materializeOutput(thisᵀᴮᵒⁿᵉ());
} }
} }