/* * 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); } }