208 lines
6.1 KiB
Java
208 lines
6.1 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
package javax.baja.sys;
|
|
|
|
import java.io.DataInput;
|
|
import java.io.DataOutput;
|
|
import java.io.IOException;
|
|
import javax.baja.data.BIDataValue;
|
|
import javax.baja.sys.BBoolean;
|
|
import javax.baja.sys.BEnum;
|
|
import javax.baja.sys.BEnumRange;
|
|
import javax.baja.sys.BFrozenEnum;
|
|
import javax.baja.sys.BObject;
|
|
import javax.baja.sys.Context;
|
|
import javax.baja.sys.Sys;
|
|
import javax.baja.sys.Type;
|
|
|
|
/*
|
|
* Illegal identifiers - consider using --renameillegalidents true
|
|
*/
|
|
public final class BDynamicEnum
|
|
extends BEnum
|
|
implements BIDataValue {
|
|
public static final BDynamicEnum DEFAULT = BDynamicEnum.make(0);
|
|
public static final Type TYPE;
|
|
private int ordinal;
|
|
private BEnumRange range;
|
|
private String string;
|
|
private int hashCode;
|
|
static /* synthetic */ Class class$javax$baja$sys$BDynamicEnum;
|
|
|
|
public static final BDynamicEnum make(int n, BEnumRange bEnumRange) {
|
|
if (bEnumRange == null) {
|
|
bEnumRange = BEnumRange.NULL;
|
|
}
|
|
return (BDynamicEnum)new BDynamicEnum(n, bEnumRange).intern();
|
|
}
|
|
|
|
public static final BDynamicEnum make(int n) {
|
|
return BDynamicEnum.make(n, BEnumRange.NULL);
|
|
}
|
|
|
|
public static final BDynamicEnum make(BEnum bEnum) {
|
|
if (bEnum instanceof BDynamicEnum) {
|
|
return (BDynamicEnum)bEnum;
|
|
}
|
|
if (bEnum instanceof BFrozenEnum) {
|
|
BFrozenEnum bFrozenEnum = (BFrozenEnum)bEnum;
|
|
if (bFrozenEnum.asDynamic == null) {
|
|
bFrozenEnum.asDynamic = BDynamicEnum.make(bEnum.getOrdinal(), bEnum.getRange());
|
|
}
|
|
return bFrozenEnum.asDynamic;
|
|
}
|
|
if (bEnum instanceof BBoolean) {
|
|
BBoolean bBoolean = (BBoolean)bEnum;
|
|
if (bBoolean.asDynamic == null) {
|
|
bBoolean.asDynamic = BDynamicEnum.make(bEnum.getOrdinal(), bEnum.getRange());
|
|
}
|
|
return bBoolean.asDynamic;
|
|
}
|
|
throw new IllegalStateException();
|
|
}
|
|
|
|
public final boolean isActive() {
|
|
boolean bl = false;
|
|
if (this.ordinal != 0) {
|
|
bl = true;
|
|
}
|
|
return bl;
|
|
}
|
|
|
|
public final int getOrdinal() {
|
|
return this.ordinal;
|
|
}
|
|
|
|
public final String getTag() {
|
|
return this.range.getTag(this.ordinal);
|
|
}
|
|
|
|
public final String getDisplayTag(Context context) {
|
|
return this.range.getDisplayTag(this.ordinal, context);
|
|
}
|
|
|
|
public final BEnumRange getRange() {
|
|
return this.range;
|
|
}
|
|
|
|
public final String toString(Context context) {
|
|
BEnumRange bEnumRange;
|
|
if (context != null && (bEnumRange = (BEnumRange)context.getFacet("range")) != null) {
|
|
return bEnumRange.getDisplayTag(this.ordinal, context);
|
|
}
|
|
return this.getDisplayTag(context);
|
|
}
|
|
|
|
public final int hashCode() {
|
|
try {
|
|
if (this.hashCode == -1) {
|
|
this.hashCode = this.encodeToString().hashCode();
|
|
}
|
|
return this.hashCode;
|
|
}
|
|
catch (Exception exception) {
|
|
return System.identityHashCode(this);
|
|
}
|
|
}
|
|
|
|
public final boolean equals(Object object) {
|
|
if (object instanceof BDynamicEnum) {
|
|
BDynamicEnum bDynamicEnum = (BDynamicEnum)object;
|
|
if (this.ordinal != bDynamicEnum.ordinal) {
|
|
return false;
|
|
}
|
|
return this.range.equals(bDynamicEnum.range);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public final void encode(DataOutput dataOutput) throws IOException {
|
|
dataOutput.writeUTF(this.encodeToString());
|
|
}
|
|
|
|
public final BObject decode(DataInput dataInput) throws IOException {
|
|
return this.decodeFromString(dataInput.readUTF());
|
|
}
|
|
|
|
public final String encodeToString() throws IOException {
|
|
if (this.string == null) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append(this.ordinal);
|
|
if (!this.range.isNull()) {
|
|
stringBuffer.append('@');
|
|
stringBuffer.append(this.range.encodeToString());
|
|
}
|
|
this.string = stringBuffer.toString();
|
|
}
|
|
return this.string;
|
|
}
|
|
|
|
public final BObject decodeFromString(String string) throws IOException {
|
|
try {
|
|
String string2 = string;
|
|
String string3 = null;
|
|
int n = string.indexOf(64);
|
|
if (n > 0) {
|
|
string2 = string.substring(0, n);
|
|
string3 = string.substring(n + 1);
|
|
}
|
|
int n2 = Integer.parseInt(string2);
|
|
BEnumRange bEnumRange = BEnumRange.NULL;
|
|
if (string3 != null) {
|
|
bEnumRange = (BEnumRange)bEnumRange.decodeFromString(string3);
|
|
}
|
|
BDynamicEnum bDynamicEnum = BDynamicEnum.make(n2, bEnumRange);
|
|
bDynamicEnum.string = string;
|
|
return bDynamicEnum;
|
|
}
|
|
catch (IOException iOException) {
|
|
throw iOException;
|
|
}
|
|
catch (Exception exception) {
|
|
exception.printStackTrace();
|
|
throw new IOException(string);
|
|
}
|
|
}
|
|
|
|
public final BIDataValue toDataValue() {
|
|
return this;
|
|
}
|
|
|
|
public final Type getType() {
|
|
return TYPE;
|
|
}
|
|
|
|
static /* synthetic */ Class class(String string, boolean bl) {
|
|
try {
|
|
Class<?> clazz = Class.forName(string);
|
|
if (!bl) {
|
|
clazz = clazz.getComponentType();
|
|
}
|
|
return clazz;
|
|
}
|
|
catch (ClassNotFoundException classNotFoundException) {
|
|
throw new NoClassDefFoundError(classNotFoundException.getMessage());
|
|
}
|
|
}
|
|
|
|
private final /* synthetic */ void this() {
|
|
this.hashCode = -1;
|
|
}
|
|
|
|
private BDynamicEnum(int n, BEnumRange bEnumRange) {
|
|
this.this();
|
|
this.ordinal = n;
|
|
this.range = bEnumRange;
|
|
}
|
|
|
|
static {
|
|
Class clazz = class$javax$baja$sys$BDynamicEnum;
|
|
if (clazz == null) {
|
|
clazz = class$javax$baja$sys$BDynamicEnum = BDynamicEnum.class("[Ljavax.baja.sys.BDynamicEnum;", false);
|
|
}
|
|
TYPE = Sys.loadType(clazz);
|
|
}
|
|
}
|
|
|