JPP: Made zerdinal space materializer an T-bone for self this reference
This commit is contained in:
parent
1f958a1adc
commit
813980f35c
2 changed files with 10 additions and 8 deletions
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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ᵀᴮᵒⁿᵉ());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue