in atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/ContextImpl.java [72:103]
public void addReflecionMethod(String mName, Class<?>[] parameterTypes,
Class<?> clazz)
{
for (Method m : clazz.getDeclaredMethods())
{
if (mName.equals(m.getName()))
{
if (parameterTypes == null)
{
DefaultReflectionClassConfiguration config = computeIfAbsent(
clazz.getName());
config.add(new DefaultReflectionMethodConfiguration(mName, null));
break;
}
else if (Arrays.equals(m.getParameterTypes(), parameterTypes))
{
DefaultReflectionClassConfiguration config = computeIfAbsent(
clazz.getName());
String[] sParameterTypes = Stream.of(parameterTypes).sequential().map(
Class::getName).toArray(String[]::new);
config.add(
new DefaultReflectionMethodConfiguration(mName, sParameterTypes));
break;
}
}
}
Class<?> superClass = clazz.getSuperclass();
if (superClass != null)
{
addReflecionMethod(mName, parameterTypes, superClass);
}
}