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.stream.Collectors;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢObjectTBone;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T002ᖟ;
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ;
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ;
@ -45,19 +46,20 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
@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.
T zerdinalMaterializeSpace(int zerdinal);
default RopeOfAzraelᴿᵈ<T> zerdinalSpaceRope() {
return new RopeOfAzraelᴿᵈ<T> () {
return new RopeOfAzraelᴿᵈ<T>() {
int zerdinalSpaceWalker = 0;
@Override
public T002ᖟ hasNextᴿᵈ() {
return T002ᖟ.valueOf(zerdinalSpaceWalker < zerdinalSpaceBoundary());
}
@Override
public T nextᴿᵈ() {
if (zerdinalSpaceWalker >= zerdinalSpaceBoundary()) {
@ -84,7 +86,7 @@ public interface PrimordialZerdinalSpaceMaterializer<T extends PrimordialZerdina
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));
}
}

View file

@ -47,20 +47,20 @@ public interface ZerdinalAḃåčȕs̈Rȧñk<T extends ZerdinalAḃåčȕs̈Rȧ
}
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() {
return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.GOTO_LAST, zerdinal()).materializeOutput(zerdinalMaterializeSpace(zerdinal()));
return abacusOperation(ZerdinalAḃåčȕs̈RȧñkWaterWorks.GOTO_LAST, zerdinal()).materializeOutput(thisᵀᴮᵒⁿᵉ());
}
@Deprecated
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
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ᵀᴮᵒⁿᵉ());
}
}