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

175 lines
6.5 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package javax.baja.naming;
import javax.baja.naming.BOrdScheme;
import javax.baja.naming.InvalidOrdBaseException;
import javax.baja.naming.OrdQuery;
import javax.baja.naming.OrdTarget;
import javax.baja.naming.SlotPath;
import javax.baja.naming.SyntaxException;
import javax.baja.naming.UnresolvedException;
import javax.baja.space.BComponentSpace;
import javax.baja.sys.BComplex;
import javax.baja.sys.BComponent;
import javax.baja.sys.BIPropertyContainer;
import javax.baja.sys.BObject;
import javax.baja.sys.BValue;
import javax.baja.sys.Property;
import javax.baja.sys.Slot;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
import javax.baja.virtual.BVirtualGateway;
import javax.baja.virtual.VirtualPath;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class BSlotScheme
extends BOrdScheme {
public static final BSlotScheme INSTANCE = new BSlotScheme();
public static final Type TYPE;
static /* synthetic */ Class class$javax$baja$naming$BSlotScheme;
public OrdQuery parse(String string) {
return new SlotPath(this.getId(), string);
}
public OrdTarget resolve(OrdTarget ordTarget, OrdQuery ordQuery) throws SyntaxException, UnresolvedException {
BObject bObject;
BObject bObject2 = ordTarget.get();
BIPropertyContainer bIPropertyContainer = null;
SlotPath slotPath = (SlotPath)ordQuery;
boolean bl = slotPath instanceof VirtualPath;
BComponentSpace bComponentSpace = null;
if (bObject2 instanceof BVirtualGateway && bl) {
bComponentSpace = ((BVirtualGateway)bObject2).getVirtualSpace();
bIPropertyContainer = bComponentSpace.getRootComponent();
} else if (bObject2 instanceof BComponentSpace) {
bComponentSpace = (BComponentSpace)bObject2;
bIPropertyContainer = bComponentSpace.getRootComponent();
} else if (bObject2 instanceof BComponent) {
bObject = bObject2.asComponent();
bComponentSpace = ((BComponent)bObject).getComponentSpace();
if (slotPath.isAbsolute()) {
bObject = bComponentSpace.getRootComponent();
}
bIPropertyContainer = bObject;
} else if (bObject2 instanceof BIPropertyContainer) {
bIPropertyContainer = (BIPropertyContainer)((Object)bObject2);
}
if (bl && slotPath.getBody().equals("")) {
return new OrdTarget(ordTarget, bComponentSpace);
}
bObject = (BObject)((Object)bIPropertyContainer);
if (bObject == null) {
if (!(bObject2 instanceof BValue)) {
throw new InvalidOrdBaseException("" + bObject2);
}
bObject = bObject2;
}
BIPropertyContainer bIPropertyContainer2 = bIPropertyContainer;
Slot slot = null;
int n = slotPath.depth();
Property[] propertyArray = null;
int n2 = 0;
int n3 = slotPath.getBackupDepth();
int n4 = 0;
while (n4 < n3) {
bObject = (BObject)((Object)(bIPropertyContainer2 = bIPropertyContainer2 instanceof BComponent ? (BComponent)((BComplex)((Object)bIPropertyContainer2)).getParent() : null));
if (bObject == null) {
throw new UnresolvedException("Cannot walk backup depth" + bObject2);
}
++n4;
}
n4 = 0;
while (n4 < n) {
String string = slotPath.nameAt(n4);
if (bl) {
string = SlotPath.escape(string);
}
boolean bl2 = true;
if (bComponentSpace != null && bObject.isComponent()) {
slot = bComponentSpace.getLoadCallbacks().loadSlot(bObject.asComponent(), string);
boolean bl3 = false;
if (slot == null) {
bl3 = true;
}
bl2 = bl3;
}
boolean bl4 = bObject instanceof BIPropertyContainer;
if (bl2) {
if (bl4) {
((BIPropertyContainer)((Object)bObject)).loadSlots();
slot = ((BIPropertyContainer)((Object)bObject)).getSlot(string);
} else {
bObject.asComplex().loadSlots();
slot = bObject.asComplex().getSlot(string);
}
}
if (slot == null) {
throw new UnresolvedException(slotPath.getBody());
}
if (!(slot instanceof Property)) {
if (n4 != n - 1) {
throw new UnresolvedException(slotPath.getBody());
}
return new OrdTarget(ordTarget, bIPropertyContainer2, null, slot, null);
}
Property property = (Property)slot;
BObject bObject3 = bObject = bl4 ? ((BIPropertyContainer)((Object)bObject)).get(property) : bObject.asComplex().get(property);
if (n2 == 0 && bObject instanceof BIPropertyContainer) {
bIPropertyContainer2 = (BIPropertyContainer)((Object)bObject);
} else {
if (propertyArray == null) {
propertyArray = new Property[32];
}
propertyArray[n2++] = property;
}
++n4;
}
if (n2 == 0) {
return new OrdTarget(ordTarget, (BObject)((Object)bIPropertyContainer2));
}
slot = propertyArray[0];
Property[] propertyArray2 = new Property[n2];
System.arraycopy(propertyArray, 0, propertyArray2, 0, n2);
return new OrdTarget(ordTarget, bIPropertyContainer2, bObject, slot, propertyArray2);
}
public 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 BSlotScheme() {
super("slot");
}
protected BSlotScheme(String string) {
super(string);
}
static {
Class clazz = class$javax$baja$naming$BSlotScheme;
if (clazz == null) {
clazz = class$javax$baja$naming$BSlotScheme = BSlotScheme.class("[Ljavax.baja.naming.BSlotScheme;", false);
}
TYPE = Sys.loadType(clazz);
}
}