2026-03-17 13:31:18 -07:00

124 lines
4.3 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package com.tridium.util;
import com.tridium.sys.schema.SimpleType;
import java.util.HashMap;
import java.util.Map;
import javax.baja.io.BIContextEncodable;
import javax.baja.log.Log;
import javax.baja.sys.BSimple;
import javax.baja.sys.Context;
import javax.baja.sys.Type;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class SimpleFactory {
static Log log = Log.getLog("sys.schema");
private Map pool;
static /* synthetic */ Class class$javax$baja$sys$BSimple;
public BSimple make(Type type, String string) throws Exception {
return this.make(type, string, null);
}
public BSimple make(Type type, String string, Context context) throws Exception {
Class clazz = class$javax$baja$sys$BSimple;
if (clazz == null) {
clazz = class$javax$baja$sys$BSimple = SimpleFactory.class("[Ljavax.baja.sys.BSimple;", false);
}
if (!clazz.isAssignableFrom(type.getTypeClass())) {
throw new IllegalStateException(type.toString() + " is not a BSimple.");
}
String string2 = type.toString();
Entry entry = (Entry)this.pool.get(string2);
if (entry == null) {
boolean bl;
HashMap<String, BSimple> hashMap;
BSimple bSimple;
BSimple bSimple2;
block14: {
bSimple2 = type.getInstance().asSimple();
bSimple = null;
bSimple = bSimple instanceof BIContextEncodable ? (BSimple)((BIContextEncodable)((Object)bSimple2)).decodeFromString(string, context) : (BSimple)bSimple2.decodeFromString(string);
hashMap = null;
bl = false;
try {
bl = ((SimpleType)type).interningEnabled();
if (bl) {
bSimple = bSimple.intern();
}
}
catch (Exception exception) {
bl = false;
if (!log.isTraceOn()) break block14;
log.trace("Could not intern type " + bSimple.getType() + ". Make sure hashCode() method is overridden.");
}
}
if (!bl) {
hashMap = new HashMap<String, BSimple>();
hashMap.put(string, bSimple);
}
this.pool.put(string2, new Entry(hashMap, bSimple2, 1));
return bSimple;
}
++entry.requests;
BSimple bSimple = null;
if (entry.typeMap != null) {
bSimple = (BSimple)entry.typeMap.get(string);
if (bSimple == null) {
bSimple = entry.decoder instanceof BIContextEncodable ? (BSimple)((BIContextEncodable)((Object)entry.decoder)).decodeFromString(string, context) : (BSimple)entry.decoder.decodeFromString(string);
entry.typeMap.put(string, bSimple);
}
} else {
bSimple = entry.decoder instanceof BIContextEncodable ? (BSimple)((BIContextEncodable)((Object)entry.decoder)).decodeFromString(string, context) : (BSimple)entry.decoder.decodeFromString(string);
try {
bSimple = bSimple.intern();
}
catch (Exception exception) {
try {
log.warning("Failed to intern type " + bSimple.getType() + " for instance " + bSimple.toString(null), exception);
}
catch (Exception exception2) {}
}
}
return bSimple;
}
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.pool = new HashMap();
}
public SimpleFactory() {
this.this();
}
static class Entry {
Map typeMap;
BSimple decoder;
int requests;
Entry(Map map, BSimple bSimple, int n) {
this.typeMap = map;
this.decoder = bSimple;
this.requests = n;
}
}
}