NX01: Migrated warp fault to klass fault
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 51s

This commit is contained in:
Willem Cazander 2026-03-24 14:08:39 +01:00
parent 99bf95a82a
commit 11084d3d94
125 changed files with 578 additions and 1363 deletions

View file

@ -0,0 +1,17 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-jpp1-klass-fault</artifactId>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View file

@ -0,0 +1,36 @@
/*
* 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.
*/
/// The NX01 jpp1 klass-fault module.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
module ᣕᕁᐤᣳ.ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ {
exports ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ;
exports ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ.ᑊᐣᓑᒼᑊᑉ;
}

View file

@ -0,0 +1,154 @@
/*
* 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.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Consumer;
//import love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestGenerator;
//import love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestSectionWhitePaper;
//import love.distributedrebirth.nx01.warp.fault.sitra.ZilLaLaManyfestoGrowlFactory;
//import love.distributedrebirth.nx01.warp.manifestor.manifest.WarpManifestX8;
/// Bass fault anchor (which replaces; Exception/RuntimeException)
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
abstract public class BassFaultAnchor extends BassFaultAnchorSignalStore {
private static final long serialVersionUID = 1L;
private boolean printClean = false;
public BassFaultAnchor(String message, Class<?> signal) {
super(message, signal);
}
public BassFaultAnchor(Exception error, Class<?> signal) {
super(error, signal);
}
public BassFaultAnchor(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public BassFaultAnchor(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
public final BassFaultAnchor withSignalTrace(Class<?> signal, String key, Number value) {
return withSignalTrace(signal, key, value.toString());
}
public final BassFaultAnchor withSignalTrace(Class<?> signal, String key, String value) {
fetchTraceSignalMap(signal).put(key, value);
return this;
}
public final BassFaultAnchor withSignalTrace(Class<?> signal, Consumer<Map<String, String>> tracer) {
tracer.accept(fetchTraceSignalMap(signal));
return this;
}
public class FaultSignalWhitePaper {
private FaultSignalWhitePaper() {
}
}
public final BassFaultAnchor appendOnWhitePaper(String key, String value) {
return withSignalTrace(FaultSignalWhitePaper.class, key, value);
//return withSignalTrace(SitraManifestSectionWhitePaper.class, key, value);
}
public final BassFaultAnchor appendOnWhitePaper(Consumer<Map<String, String>> tracer) {
return withSignalTrace(FaultSignalWhitePaper.class, tracer);
//return withSignalTrace(SitraManifestSectionWhitePaper.class, tracer);
}
public final StackTraceElement[] getStackTraceWithoutSignals() {
return super.getStackTrace();
}
@Override
public final StackTraceElement[] getStackTrace() {
Throwable faultRoot = getCause();
if (faultRoot != null) {
if (faultRoot instanceof BassFaultAnchor) {
BassFaultAnchor.class.cast(faultRoot).printClean = true;
}
while (faultRoot.getCause() != null) {
faultRoot = faultRoot.getCause();
if (faultRoot instanceof BassFaultAnchor) {
BassFaultAnchor.class.cast(faultRoot).printClean = true;
}
}
}
StackTraceElement[] superTrace = super.getStackTrace();
if (printClean) {
return superTrace;
}
List<StackTraceElement> trace = new ArrayList<>(Arrays.asList(superTrace));
for (Class<?> traceKey : this.getTraceSignals()) {
Optional<Map<String, String>> signalsOpt = this.getTraceSignalContext(traceKey);
if (signalsOpt.isEmpty()) {
continue;
}
Map<String, String> signals = signalsOpt.get();
for (String signalKey : signals.keySet()) {
String signalValue = signals.get(signalKey);
trace.add(0, new StackTraceElement("TraceSignal", signalKey + "=" + signalValue, traceKey.getSimpleName(), 0));
}
}
StackTraceElement[] result = trace.toArray(new StackTraceElement[] {});
return result;
}
// public final String toStringZilLaLa() {
// return ZilLaLaManyfestoGrowlFactory..buildFaultScream(toZilLaLaManyfesto(), this);
// }
//
// @Deprecated
// public final String toStringZilLaLaBase64() {
// return ZilLaLaManyfestoGrowlFactory..buildFaultScreamBase64(toZilLaLaManyfesto(), this);
// }
//
// public final WarpManifestX8 toZilLaLaManyfesto() {
// return SitraManifestGenerator..buildSignalTraceManifest(this);
// }
static public StackTraceElement[] cleanStackTrace(Throwable e) {
if (e instanceof BassFaultAnchor) {
return BassFaultAnchor.class.cast(e).getStackTraceWithoutSignals();
} else {
return e.getStackTrace();
}
}
}

View file

@ -0,0 +1,112 @@
/*
* 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.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
//import love.distributedrebirth.nx01.warp.fault.sitra.ZilLaLaManyfestoHeader;
/// Bass fault anchor for storing trace signals.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
abstract public class BassFaultAnchorSignalStore extends RuntimeException {
private static final long serialVersionUID = 1L;
private final LinkedHashMap<Class<?>,Map<String, String>> traceSignals = new LinkedHashMap<>();
private final Class<?> sectionChain;
protected BassFaultAnchorSignalStore(String message, Class<?> signal) {
super(message);
sectionChain = signal;
//fetchTraceSignalMap(signal).put(ZilLaLaManyfestoHeader.SIGNAL_FAULT_SECTION_CHAIN_MESSAGE, message);
}
protected BassFaultAnchorSignalStore(Exception error, Class<?> signal) {
super(error.getMessage(), error);
// Copy signals from ONE (grant) parent, as they also did this;
if (error instanceof BassFaultAnchorSignalStore) { // copy signals from parent
traceSignals.putAll(BassFaultAnchorSignalStore.class.cast(error).traceSignals);
} else {
Throwable faultParentTracer = error.getCause();
if (faultParentTracer instanceof BassFaultAnchorSignalStore) { // copy signals from grand parent
traceSignals.putAll(BassFaultAnchorSignalStore.class.cast(faultParentTracer).traceSignals);
} else if (faultParentTracer != null) {
while (faultParentTracer.getCause() != null) {
faultParentTracer = faultParentTracer.getCause();
if (faultParentTracer instanceof BassFaultAnchorSignalStore) {
traceSignals.putAll(BassFaultAnchorSignalStore.class.cast(faultParentTracer).traceSignals);
break; // copy signals from first fault in the family line
}
}
}
}
sectionChain = signal;
//fetchTraceSignalMap(signal).put(ZilLaLaManyfestoHeader.SIGNAL_FAULT_SECTION_CHAIN_ICEBERG, error.getClass().getName());
}
protected BassFaultAnchorSignalStore(Exception error, Class<?> signal, String key, String value) {
this(error, signal);
fetchTraceSignalMap(signal).put(key, value);
}
protected BassFaultAnchorSignalStore(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
this(error, signal);
tracer.accept(fetchTraceSignalMap(signal));
}
public Class<?> getSectionChain() {
return sectionChain;
}
public final Set<Class<?>> getTraceSignals() {
return traceSignals.keySet();
}
public final Optional<Map<String, String>> getTraceSignalContext(Class<?> signal) {
Map<String, String> result = traceSignals.get(signal);
if (result == null) {
return Optional.empty();
}
return Optional.of(result);
}
protected final Map<String, String> fetchTraceSignalMap(Class<?> signal) {
Map<String, String> result = traceSignals.get(signal);
if (result == null) {
result = new HashMap<>();
traceSignals.put(signal, result);
}
return result;
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; InstantiationException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultBeanInstantiation extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultBeanInstantiation(String message, Class<?> signal) {
super(message, signal);
}
public FaultBeanInstantiation(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultBeanInstantiation(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultBeanInstantiation(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; InterruptedException/IllegalMonitorStateException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultBeanInterrupted extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultBeanInterrupted(String message, Class<?> signal) {
super(message, signal);
}
public FaultBeanInterrupted(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultBeanInterrupted(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultBeanInterrupted(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; IllegalStateException/UnsupportedOperationException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultBeanState extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultBeanState(String message, Class<?> signal) {
super(message, signal);
}
public FaultBeanState(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultBeanState(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultBeanState(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; IllegalAccessException/IllegalThreadStateException/SecurityException/UnsupportedOperationException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultReferenceAccess extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultReferenceAccess(String message, Class<?> signal) {
super(message, signal);
}
public FaultReferenceAccess(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultReferenceAccess(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultReferenceAccess(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; NoSuchFieldException/NoSuchMethodException/ClassNotFoundException/TypeNotPresentException/EnumConstantNotPresentException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultReferenceMissing extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultReferenceMissing(String message, Class<?> signal) {
super(message, signal);
}
public FaultReferenceMissing(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultReferenceMissing(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultReferenceMissing(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; NullPointerException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultReferenceNull extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultReferenceNull(String message, Class<?> signal) {
super(message, signal);
}
public FaultReferenceNull(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultReferenceNull(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultReferenceNull(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; ArrayStoreException/ClassCastException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultReferenceType extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultReferenceType(String message, Class<?> signal) {
super(message, signal);
}
public FaultReferenceType(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultReferenceType(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultReferenceType(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; IllegalArgumentException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultReferenceTypeValue extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultReferenceTypeValue(String message, Class<?> signal) {
super(message, signal);
}
public FaultReferenceTypeValue(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultReferenceTypeValue(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultReferenceTypeValue(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; ArrayIndexOutOfBoundsException/IndexOutOfBoundsException/NegativeArraySizeException/StringIndexOutOfBoundsException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultReferenceTypeValueBounds extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultReferenceTypeValueBounds(String message, Class<?> signal) {
super(message, signal);
}
public FaultReferenceTypeValueBounds(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultReferenceTypeValueBounds(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultReferenceTypeValueBounds(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,70 @@
/*
* 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.Map;
import java.util.Objects;
import java.util.function.Consumer;
import ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ.ᑊᐣᓑᒼᑊᑉ.DuckFaultQuackLanguage;
/// Replaces; Packs an error of an other person.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultStreamDelegate extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultStreamDelegate(String message, Class<?> signal) {
super(message, signal);
}
public FaultStreamDelegate(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultStreamDelegate(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultStreamDelegate(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
static public FaultStreamDelegate valueOfDuckTail(Class<?> signal, String quack, DuckFaultQuackLanguage quackLanguage) {
Objects.requireNonNull(signal);
Objects.requireNonNull(quack);
Objects.requireNonNull(quackLanguage);
FaultStreamDelegateDuckTail tail = quackLanguage.combDuckTail(quack, FaultStreamDelegateDuckTail::valueOf);
if (tail == null) {
return new FaultStreamDelegate("Quack without duck tail: " + quack, signal);
}
return new FaultStreamDelegate(tail, signal);
}
}

View file

@ -0,0 +1,45 @@
/*
* 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 ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ;
/// Wrap stack traces of other languages with duck tales.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultStreamDelegateDuckTail extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
private FaultStreamDelegateDuckTail(String message, Class<?> signal) {
super(message, signal);
}
static protected FaultStreamDelegateDuckTail valueOf(String message, Class<?> signal) {
return new FaultStreamDelegateDuckTail(message, signal);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; IOException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultStreamInterrupted extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultStreamInterrupted(String message, Class<?> signal) {
super(message, signal);
}
public FaultStreamInterrupted(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultStreamInterrupted(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultStreamInterrupted(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; NumberFormatException
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultStreamValueRead extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultStreamValueRead(String message, Class<?> signal) {
super(message, signal);
}
public FaultStreamValueRead(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultStreamValueRead(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultStreamValueRead(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,56 @@
/*
* 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.Map;
import java.util.function.Consumer;
/// Replaces; real format exception
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public final class FaultStreamValueWrite extends BassFaultAnchor {
private static final long serialVersionUID = 1L;
public FaultStreamValueWrite(String message, Class<?> signal) {
super(message, signal);
}
public FaultStreamValueWrite(Exception error, Class<?> signal) {
super(error, signal);
}
public FaultStreamValueWrite(Exception error, Class<?> signal, String key, String value) {
super(error, signal, key, value);
}
public FaultStreamValueWrite(Exception error, Class<?> signal, Consumer<Map<String, String>> tracer) {
super(error, signal, tracer);
}
}

View file

@ -0,0 +1,30 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* 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.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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.
*/
/**
* NX01 Warp fault multi-space chain folded base exceptions.
*
*
* @since 1.0
*/
package ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ;

View file

@ -0,0 +1,41 @@
/*
* 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.function.BiFunction;
import ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ.FaultStreamDelegateDuckTail;
/// Combs an duck tail from a quack language trace.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public interface DuckFaultQuackLanguage {
FaultStreamDelegateDuckTail combDuckTail(String quack, BiFunction<String, Class<?>, FaultStreamDelegateDuckTail> tail);
}

View file

@ -0,0 +1,135 @@
/*
* 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.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.function.BiFunction;
import ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ.FaultStreamDelegateDuckTail;
/// Creates an duck tail from a java-script stack trace.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public class DuckTalesJavaScript implements DuckFaultQuackLanguage {
static private final DuckTalesJavaScript INSTANCE = new DuckTalesJavaScript();
private DuckTalesJavaScript() {
}
static public DuckTalesJavaScript instance() {
return INSTANCE;
}
@Override
public FaultStreamDelegateDuckTail combDuckTail(String quack, BiFunction<String, Class<?>, FaultStreamDelegateDuckTail> tail) {
if (!quack.contains("at")) {
return null;
}
int errorIdx = quack.indexOf("Error: ");
if (errorIdx == -1) {
return null;
}
boolean parseSignals = false;
Map<String, String> signals = new HashMap<>();
String errorMsg = quack.substring(errorIdx + 7, quack.indexOf("\n", errorIdx));
List<StackTraceElement> trace = new ArrayList<>();
Iterator<String> lines = Arrays.asList(quack.split("\n")).iterator();
while (lines.hasNext()) {
String line = lines.next();
if (parseSignals) {
if ("}".equals(line)) {
parseSignals = false;
continue;
}
String[] values = line.split(":");
if (values.length == 0) {
continue;
}
String value = values[1].replaceAll(",|'", "").trim();
signals.put("EcmaScript-Error-" + values[0].trim(), value);
continue;
}
if (!line.startsWith(" at ")) {
continue;
}
String objectMethod = null;
String objectSource = null;
Iterator<String> parts = Arrays.asList(line.split(" ")).iterator();
while (parts.hasNext()) {
String part = parts.next();
if (part.isEmpty()) {
continue;
}
if ("at".equals(part)) {
continue;
}
if ("async".equals(part)) {
continue;
}
if ("{".equals(part)) {
parseSignals = true;
continue;
}
if (objectMethod == null) {
objectMethod = part;
continue;
}
if (objectSource == null) {
objectSource = part;
continue;
}
break; // or fail...
}
// TODO: make safe, this is hacky
int indexFileStart = objectSource.indexOf("(") + 1;
int indexFileEnd = objectSource.lastIndexOf(":", objectSource.lastIndexOf(":") - 1); // backwards search
int indexLineStart = indexFileEnd + 1;
int indexLineEnd = objectSource.lastIndexOf(":");
String[] objectName = objectMethod.split("\\.");
String declaringClass = objectName.length==1?"this":objectName[0];
String methodName = objectName.length==1?objectName[0]:objectName[1];
String fileName = objectSource.substring(indexFileStart, indexFileEnd);
int lineNumber = 0;
if (indexLineEnd > 0) {
lineNumber = Integer.parseInt(objectSource.substring(indexLineStart, indexLineEnd));
}
trace.add(new StackTraceElement(declaringClass, methodName, fileName, lineNumber));
}
FaultStreamDelegateDuckTail result = tail.apply(errorMsg, getClass());
result.setStackTrace(trace.toArray(new StackTraceElement[] {}));
result.withSignalTrace(getClass(), v -> v.putAll(signals));
return result;
}
}

View file

@ -0,0 +1,30 @@
/*
* Copyright (c) 2004-2014, Willem Cazander
* 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.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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.
*/
/**
* NX01 Warp fault duck tails of quack languages.
*
*
* @since 1.0
*/
package ᒢᣘᐧᣟ.ᑊᑉᒻᣔᔆᔆ.ᣘᣔᓑᒻᐪ.ᑊᐣᓑᒼᑊᑉ;