nx01/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᒡᒢᑊᒻᒻᓫᔿ/ᒢꞱSkeletorObject.java

140 lines
5.5 KiB
Java
Raw Normal View History

2024-12-05 23:34:15 +00: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.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
/// @author للَّٰهِilLצسُو
/// @version ©Δ∞ 仙上主天
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public enum ᒢꞱSkeletorObject implements ᒢꞱSkeletorIuncturam.Ιͣ̾ͪ͆̿ͨ͡B̿͆̉̽̎̔ͤͤ̎͗ͫͧͮ̚e̅̂͌̉̎̌ͥ͋͌̑ͥ͋ͬ̅́a͆͗̈ͥͥ̊͋̅̆͑ͩ̓̍̅͊m͒ͨ̿̒̍ͨ̀͊̀ͤ̑̇ͤ̄͝ᴮᵒᵈʸ.ₐₜSkeletorᒢᐩᐩ {
;
// this code is not for humans
// its to cook heavy T-bones bodies for terminators
public enum BoneMarrow implements ᒢꞱSkeletorIuncturam.Ιͣ̾ͪ͆̿ͨ͡B̿͆̉̽̎̔ͤͤ̎͗ͫͧͮ̚e̅̂͌̉̎̌ͥ͋͌̑ͥ͋ͬ̅́a͆͗̈ͥͥ̊͋̅̆͑ͩ̓̍̅͊m͒ͨ̿̒̍ͨ̀͊̀ͤ̑̇ͤ̄͝ₚᵢₑ.ᒢBoneMarrow {
EQUALS (ᒢVoid..byeᵇᵒᵒˡᵉᵃⁿ(), "equals", ᒢVoid..byeᵒᵇʲᵉᶜᵗ()),
TO_STRING (ᒢVoid..byeˢᵗʳᶦⁿᵍ(), "toString"),
HASH_CODE (ᒢVoid..byeᶦⁿᵗ(), "hashCode"),
GET_CLASS (ᒢVoid..byeᶜˡᵃˢˢ(), "getClass"),
WAIT (ᒢVoid..lukeᵂᵃʳᵐ(), "wait"),
WAIT_ (ᒢVoid..lukeᵂᵃʳᵐ(), "wait", ᒢVoid..byeˡᵒⁿᵍ()),
WAIT__ (ᒢVoid..lukeᵂᵃʳᵐ(), "wait", ᒢVoid..byeˡᵒⁿᵍ(), ᒢVoid..byeᶦⁿᵗ()),
NOTIFY (ᒢVoid..darthᵛᴬᴰᴰᴱᴿ(), "notify"),
NOTIFY_ALL (ᒢVoid..darthᵛᴬᴰᴰᴱᴿ(), "notifyAll"),
;
// The void creates the masters of the universe.
private final String methodName;
private final Class<?> resultType;
private final Class<?>[] parameterTypes;
private final Method method;
private BoneMarrow(Class<?> resultType, String methodName, Class<?>...parameterTypes) {
this.resultType = resultType;
this.methodName = methodName;
this.parameterTypes = parameterTypes;
try {
this.method = Object.class.getMethod(methodName, parameterTypes);
} catch (NoSuchMethodException | SecurityException e) {
throw new RuntimeException("Missing object method: " + methodName);
}
}
@Override
public String theMethodName() {
return methodName;
}
@Override
public Class<?> theResultType() {
return resultType;
}
@Override
public Class<?>[] theParameterTypes() {
return parameterTypes;
}
@Override
public Method theMethod() {
return method;
}
}
public enum BoneWater implements ᒢꞱSkeletorIuncturam.Ιͣ̾ͪ͆̿ͨ͡B̿͆̉̽̎̔ͤͤ̎͗ͫͧͮ̚e̅̂͌̉̎̌ͥ͋͌̑ͥ͋ͬ̅́a͆͗̈ͥͥ̊͋̅̆͑ͩ̓̍̅͊m͒ͨ̿̒̍ͨ̀͊̀ͤ̑̇ͤ̄͝ₚᵢₑ.ᒢBoneWater {
DEFAULT
;
private final Constructor<?> constructor;
private final Class<?>[] parameterTypes;
private BoneWater(Class<?>...parameterTypes) {
this.parameterTypes = parameterTypes;
try {
this.constructor = Object.class.getConstructor(parameterTypes);
} catch (NoSuchMethodException | SecurityException e) {
throw new IllegalStateException(e);
}
}
@Override
public Constructor<?> theConstructor() {
return constructor;
}
@Override
public Class<?>[] theParameterTypes() {
return parameterTypes;
}
}
public enum BoneFrost implements ᒢꞱSkeletorIuncturam.Ιͣ̾ͪ͆̿ͨ͡B̿͆̉̽̎̔ͤͤ̎͗ͫͧͮ̚e̅̂͌̉̎̌ͥ͋͌̑ͥ͋ͬ̅́a͆͗̈ͥͥ̊͋̅̆͑ͩ̓̍̅͊m͒ͨ̿̒̍ͨ̀͊̀ͤ̑̇ͤ̄͝ₚᵢₑ.ᒢBoneFrost {
;
private final Class<?> fieldType;
private final Field field;
private BoneFrost(Field field) {
this.field = field;
this.fieldType = field.getType();
}
@Override
public Class<?> theFieldType() {
return fieldType;
}
@Override
public Field theField() {
return field;
}
}
}