
io.crossbar.autobahn.wamp.reflectionRoles.ArgumentUnpacker Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of autobahn-java Show documentation
Show all versions of autobahn-java Show documentation
WebSocket & WAMP for Java8+
The newest version!
package io.crossbar.autobahn.wamp.reflectionRoles;
import io.crossbar.autobahn.wamp.interfaces.ISerializer;
import io.crossbar.autobahn.wamp.utils.Platform;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.List;
import java.util.Map;
public class ArgumentUnpacker {
private final ParameterInfo[] mParameters;
public ArgumentUnpacker(Method method) {
if (!io.crossbar.autobahn.utils.Platform.isAndroid() || Platform.getAndroidAPIVersion() >= 26) {
Parameter[] parameters = method.getParameters();
mParameters = new ParameterInfo[parameters.length];
for (int i = 0; i < parameters.length; i++) {
Parameter parameter = parameters[i];
String parameterName = parameter.getName();
Class> parameterType = parameter.getType();
mParameters[i] = new ParameterInfo(i, parameterName, parameterType);
}
} else {
Class>[] parameterTypes = method.getParameterTypes();
mParameters = new ParameterInfo[parameterTypes.length];
for (int i = 0; i < parameterTypes.length; i++) {
String parameterName = "arg" + i;
Class> parameterType = parameterTypes[i];
mParameters[i] = new ParameterInfo(i, parameterName, parameterType);
}
}
}
public Object[] unpackParameters(ISerializer serializer, List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy