Skip to content

Commit

Permalink
add function to find generic type params
Browse files Browse the repository at this point in the history
  • Loading branch information
MrNavaStar committed Aug 17, 2024
1 parent 770458a commit 08c8397
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/main/java/me/mrnavastar/r/R.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package me.mrnavastar.r;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.*;
import java.util.Arrays;

public class R {
Expand Down Expand Up @@ -87,4 +85,17 @@ public R call(String name, Object... args) {
call(name, null, args);
return this;
}

public Class<?>[] generics() {
if (clazz.getGenericSuperclass() instanceof ParameterizedType type) {
return Arrays.stream(type.getActualTypeArguments()).map(t -> {
try {
return Class.forName(t.getTypeName());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}).toArray(Class[]::new);
}
return null;
}
}

0 comments on commit 08c8397

Please sign in to comment.