111 lines
5.0 KiB
Java
111 lines
5.0 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*
|
|
* Could not load the following classes:
|
|
* javax.baja.nre.util.TextUtil
|
|
*/
|
|
package com.tridium.sys.schema;
|
|
|
|
import com.tridium.sys.schema.NAction;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.lang.reflect.Method;
|
|
import javax.baja.nre.util.TextUtil;
|
|
import javax.baja.sys.ActionInvokeException;
|
|
import javax.baja.sys.BComponent;
|
|
import javax.baja.sys.BFacets;
|
|
import javax.baja.sys.BValue;
|
|
import javax.baja.sys.Context;
|
|
import javax.baja.sys.Type;
|
|
|
|
public class NSyntheticAction
|
|
extends NAction {
|
|
static final SyntheticActionInvocationHandler DEFAULT_HANDLER = new SyntheticActionInvocationHandler();
|
|
SyntheticActionInvocationHandler handler;
|
|
|
|
public BValue invoke(int n, BComponent bComponent, BValue bValue, Context context) {
|
|
return this.handler.invoke(this, bComponent, bValue, context);
|
|
}
|
|
|
|
public NSyntheticAction(int n, BValue bValue, BFacets bFacets) {
|
|
this(n, bValue, bFacets, DEFAULT_HANDLER);
|
|
}
|
|
|
|
public NSyntheticAction(int n, BValue bValue, BFacets bFacets, SyntheticActionInvocationHandler syntheticActionInvocationHandler) {
|
|
super(n, bValue, bFacets);
|
|
this.handler = syntheticActionInvocationHandler;
|
|
if (bValue != null) {
|
|
this.parameterClass = bValue.getClass();
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Illegal identifiers - consider using --renameillegalidents true
|
|
*/
|
|
public static class SyntheticActionInvocationHandler {
|
|
static /* synthetic */ Class class$javax$baja$sys$Context;
|
|
|
|
public BValue invoke(NSyntheticAction nSyntheticAction, BComponent bComponent, BValue bValue, Context context) {
|
|
Class<?> clazz = bComponent.getClass();
|
|
Type type = nSyntheticAction.getParameterType();
|
|
try {
|
|
if (type == null) {
|
|
try {
|
|
Method method = clazz.getMethod("do" + TextUtil.capitalize((String)nSyntheticAction.getName()), new Class[0]);
|
|
return (BValue)method.invoke((Object)bComponent, new Object[0]);
|
|
}
|
|
catch (NoSuchMethodException noSuchMethodException) {
|
|
String string = "do" + TextUtil.capitalize((String)nSyntheticAction.getName());
|
|
Class[] classArray = new Class[1];
|
|
Class clazz2 = class$javax$baja$sys$Context;
|
|
if (clazz2 == null) {
|
|
clazz2 = class$javax$baja$sys$Context = SyntheticActionInvocationHandler.class("[Ljavax.baja.sys.Context;", false);
|
|
}
|
|
classArray[0] = clazz2;
|
|
Method method = clazz.getMethod(string, classArray);
|
|
return (BValue)method.invoke((Object)bComponent, bValue, context);
|
|
}
|
|
}
|
|
try {
|
|
Method method = clazz.getMethod("do" + TextUtil.capitalize((String)nSyntheticAction.getName()), type.getTypeClass());
|
|
return (BValue)method.invoke((Object)bComponent, bValue);
|
|
}
|
|
catch (NoSuchMethodException noSuchMethodException) {
|
|
String string = "do" + TextUtil.capitalize((String)nSyntheticAction.getName());
|
|
Class[] classArray = new Class[2];
|
|
classArray[0] = type.getTypeClass();
|
|
Class clazz3 = class$javax$baja$sys$Context;
|
|
if (clazz3 == null) {
|
|
clazz3 = class$javax$baja$sys$Context = SyntheticActionInvocationHandler.class("[Ljavax.baja.sys.Context;", false);
|
|
}
|
|
classArray[1] = clazz3;
|
|
Method method = clazz.getMethod(string, classArray);
|
|
return (BValue)method.invoke((Object)bComponent, bValue, context);
|
|
}
|
|
}
|
|
catch (IllegalAccessException illegalAccessException) {
|
|
throw new ActionInvokeException("Illegal acccess on action invocation callback for '" + nSyntheticAction.getName() + "'.", illegalAccessException);
|
|
}
|
|
catch (InvocationTargetException invocationTargetException) {
|
|
throw new ActionInvokeException("Action invocation callback failed for '" + nSyntheticAction.getName() + "'.", invocationTargetException);
|
|
}
|
|
catch (NoSuchMethodException noSuchMethodException) {
|
|
throw new ActionInvokeException("Action invocation callback undefined for '" + nSyntheticAction.getName() + "'.", noSuchMethodException);
|
|
}
|
|
}
|
|
|
|
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());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|