2019-08-05 11:13:19 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
< html lang = "fi" >
< head >
2020-03-21 15:43:05 +01:00
<!-- Generated by javadoc -->
< title > Reflection (Plan 5.1-SNAPSHOT API)< / title >
2019-08-05 11:13:19 +02:00
< link rel = "stylesheet" type = "text/css" href = "../../../../../stylesheet.css" title = "Style" >
< script type = "text/javascript" src = "../../../../../script.js" > < / script >
< / head >
< body >
< script type = "text/javascript" > < ! - -
try {
if (location.href.indexOf('is-external=true') == -1) {
2020-03-21 15:43:05 +01:00
parent.document.title="Reflection (Plan 5.1-SNAPSHOT API)";
2019-08-05 11:13:19 +02:00
}
}
catch(err) {
}
//-->
2020-01-24 11:56:15 +01:00
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
2019-08-05 11:13:19 +02:00
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
< / script >
< noscript >
< div > JavaScript is disabled on your browser.< / div >
< / noscript >
<!-- ========= START OF TOP NAVBAR ======= -->
< div class = "topNav" > < a name = "navbar.top" >
<!-- -->
< / a >
< div class = "skipNav" > < a href = "#skip.navbar.top" title = "Skip navigation links" > Skip navigation links< / a > < / div >
< a name = "navbar.top.firstrow" >
<!-- -->
< / a >
< ul class = "navList" title = "Navigation" >
< li > < a href = "../../../../../overview-summary.html" > Overview< / a > < / li >
< li > < a href = "package-summary.html" > Package< / a > < / li >
< li class = "navBarCell1Rev" > Class< / li >
< li > < a href = "package-tree.html" > Tree< / a > < / li >
< li > < a href = "../../../../../deprecated-list.html" > Deprecated< / a > < / li >
< li > < a href = "../../../../../index-all.html" > Index< / a > < / li >
< li > < a href = "../../../../../help-doc.html" > Help< / a > < / li >
< / ul >
< / div >
< div class = "subNav" >
< ul class = "navList" >
2020-03-21 15:43:05 +01:00
< li > < a href = "../../../../../com/djrapitops/plan/utilities/java/Maps.Builder.html" title = "class in com.djrapitops.plan.utilities.java" > < span class = "typeNameLink" > Prev Class< / span > < / a > < / li >
2020-01-24 11:56:15 +01:00
< li > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.FieldAccessor.html" title = "interface in com.djrapitops.plan.utilities.java" > < span class = "typeNameLink" > Next Class< / span > < / a > < / li >
2019-08-05 11:13:19 +02:00
< / ul >
< ul class = "navList" >
< li > < a href = "../../../../../index.html?com/djrapitops/plan/utilities/java/Reflection.html" target = "_top" > Frames< / a > < / li >
< li > < a href = "Reflection.html" target = "_top" > No Frames< / a > < / li >
< / ul >
< ul class = "navList" id = "allclasses_navbar_top" >
< li > < a href = "../../../../../allclasses-noframe.html" > All Classes< / a > < / li >
< / ul >
< div >
< script type = "text/javascript" > < ! - -
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
< / script >
< / div >
< div >
< ul class = "subNavList" >
< li > Summary: < / li >
< li > < a href = "#nested.class.summary" > Nested< / a > | < / li >
< li > Field | < / li >
< li > Constr | < / li >
< li > < a href = "#method.summary" > Method< / a > < / li >
< / ul >
< ul class = "subNavList" >
< li > Detail: < / li >
< li > Field | < / li >
< li > Constr | < / li >
< li > < a href = "#method.detail" > Method< / a > < / li >
< / ul >
< / div >
< a name = "skip.navbar.top" >
<!-- -->
< / a > < / div >
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
< div class = "header" >
< div class = "subTitle" > com.djrapitops.plan.utilities.java< / div >
< h2 title = "Class Reflection" class = "title" > Class Reflection< / h2 >
< / div >
< div class = "contentContainer" >
< ul class = "inheritance" >
< li > java.lang.Object< / li >
< li >
< ul class = "inheritance" >
< li > com.djrapitops.plan.utilities.java.Reflection< / li >
< / ul >
< / li >
< / ul >
< div class = "description" >
< ul class = "blockList" >
< li class = "blockList" >
< hr >
< br >
< pre > public final class < span class = "typeNameLabel" > Reflection< / span >
extends java.lang.Object< / pre >
< div class = "block" > An utility class that simplifies reflection in Bukkit plugins.
< p >
Modified Reflection utility from LagMonitor plugin.
https://github.com/games647/LagMonitor/blob/master/src/main/java/com/github/games647/lagmonitor/traffic/Reflection.java< / div >
< / li >
< / ul >
< / div >
< div class = "summary" >
< ul class = "blockList" >
< li class = "blockList" >
<!-- ======== NESTED CLASS SUMMARY ======== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "nested.class.summary" >
<!-- -->
< / a >
< h3 > Nested Class Summary< / h3 >
< table class = "memberSummary" border = "0" cellpadding = "3" cellspacing = "0" summary = "Nested Class Summary table, listing nested classes, and an explanation" >
< caption > < span > Nested Classes< / span > < span class = "tabEnd" > < / span > < / caption >
< tr >
< th class = "colFirst" scope = "col" > Modifier and Type< / th >
< th class = "colLast" scope = "col" > Class and Description< / th >
< / tr >
< tr class = "altColor" >
< td class = "colFirst" > < code > static interface < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.FieldAccessor.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.FieldAccessor< / a > < < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.FieldAccessor.html" title = "type parameter in Reflection.FieldAccessor" > T< / a > > < / span > < / code >
< div class = "block" > An interface for retrieving the field content.< / div >
< / td >
< / tr >
2020-01-24 11:56:15 +01:00
< tr class = "rowColor" >
2019-08-05 11:13:19 +02:00
< td class = "colFirst" > < code > static interface < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.MethodInvoker.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.MethodInvoker< / a > < / span > < / code >
< div class = "block" > An interface for invoking a specific method.< / div >
< / td >
< / tr >
< / table >
< / li >
< / ul >
<!-- ========== METHOD SUMMARY =========== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "method.summary" >
<!-- -->
< / a >
< h3 > Method Summary< / h3 >
< table class = "memberSummary" border = "0" cellpadding = "3" cellspacing = "0" summary = "Method Summary table, listing methods, and an explanation" >
< caption > < span id = "t0" class = "activeTableTab" > < span > All Methods< / span > < span class = "tabEnd" > < / span > < / span > < span id = "t1" class = "tableTab" > < span > < a href = "javascript:show(1);" > Static Methods< / a > < / span > < span class = "tabEnd" > < / span > < / span > < span id = "t4" class = "tableTab" > < span > < a href = "javascript:show(8);" > Concrete Methods< / a > < / span > < span class = "tabEnd" > < / span > < / span > < / caption >
< tr >
< th class = "colFirst" scope = "col" > Modifier and Type< / th >
< th class = "colLast" scope = "col" > Method and Description< / th >
< / tr >
< tr id = "i0" class = "altColor" >
< td class = "colFirst" > < code > static java.lang.Class< ?> < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.html#getCraftBukkitClass-java.lang.String-" > getCraftBukkitClass< / a > < / span > (java.lang.String name)< / code >
< div class = "block" > Retrieve a class in the org.bukkit.craftbukkit.VERSION.* package.< / div >
< / td >
< / tr >
2020-01-24 11:56:15 +01:00
< tr id = "i1" class = "rowColor" >
2019-08-05 11:13:19 +02:00
< td class = "colFirst" > < code > static < T> < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.FieldAccessor.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.FieldAccessor< / a > < T> < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.html#getField-java.lang.Class-java.lang.String-java.lang.Class-" > getField< / a > < / span > (java.lang.Class< ?> target,
java.lang.String name,
java.lang.Class< T> fieldType)< / code >
< div class = "block" > Retrieve a field accessor for a specific field type and name.< / div >
< / td >
< / tr >
2020-01-24 11:56:15 +01:00
< tr id = "i2" class = "altColor" >
2019-08-05 11:13:19 +02:00
< td class = "colFirst" > < code > static < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.MethodInvoker.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.MethodInvoker< / a > < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.html#getMethod-java.lang.Class-java.lang.String-java.lang.Class...-" > getMethod< / a > < / span > (java.lang.Class< ?> clazz,
java.lang.String methodName,
java.lang.Class< ?> ... params)< / code >
< div class = "block" > Search for the first publicly and privately defined method of the given name and parameter count.< / div >
< / td >
< / tr >
2020-01-24 11:56:15 +01:00
< tr id = "i3" class = "rowColor" >
2019-08-05 11:13:19 +02:00
< td class = "colFirst" > < code > static java.lang.Class< ?> < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.html#getMinecraftClass-java.lang.String-" > getMinecraftClass< / a > < / span > (java.lang.String name)< / code >
< div class = "block" > Retrieve a class in the net.minecraft.server.VERSION.* package.< / div >
< / td >
< / tr >
2020-01-24 11:56:15 +01:00
< tr id = "i4" class = "altColor" >
2019-08-05 11:13:19 +02:00
< td class = "colFirst" > < code > static < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.MethodInvoker.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.MethodInvoker< / a > < / code > < / td >
< td class = "colLast" > < code > < span class = "memberNameLink" > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.html#getTypedMethod-java.lang.Class-java.lang.String-java.lang.Class-java.lang.Class...-" > getTypedMethod< / a > < / span > (java.lang.Class< ?> clazz,
java.lang.String methodName,
java.lang.Class< ?> returnType,
java.lang.Class< ?> ... params)< / code >
< div class = "block" > Search for the first publicly and privately defined method of the given name and parameter count.< / div >
< / td >
< / tr >
< / table >
< ul class = "blockList" >
< li class = "blockList" > < a name = "methods.inherited.from.class.java.lang.Object" >
<!-- -->
< / a >
< h3 > Methods inherited from class java.lang.Object< / h3 >
< code > clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait< / code > < / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< div class = "details" >
< ul class = "blockList" >
< li class = "blockList" >
<!-- ============ METHOD DETAIL ========== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "method.detail" >
<!-- -->
< / a >
< h3 > Method Detail< / h3 >
< a name = "getField-java.lang.Class-java.lang.String-java.lang.Class-" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > getField< / h4 >
< pre > public static < T> < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.FieldAccessor.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.FieldAccessor< / a > < T> getField(java.lang.Class< ?> target,
java.lang.String name,
java.lang.Class< T> fieldType)< / pre >
< div class = "block" > Retrieve a field accessor for a specific field type and name.< / div >
< dl >
2020-01-24 11:56:15 +01:00
< dt > < span class = "paramLabel" > Type Parameters:< / span > < / dt >
< dd > < code > T< / code > - Type of the field.< / dd >
2019-08-05 11:13:19 +02:00
< dt > < span class = "paramLabel" > Parameters:< / span > < / dt >
< dd > < code > target< / code > - - the target type.< / dd >
< dd > < code > name< / code > - - the name of the field, or NULL to ignore.< / dd >
< dd > < code > fieldType< / code > - - a compatible field type.< / dd >
< dt > < span class = "returnLabel" > Returns:< / span > < / dt >
< dd > The field accessor.< / dd >
< / dl >
< / li >
< / ul >
< a name = "getMethod-java.lang.Class-java.lang.String-java.lang.Class...-" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > getMethod< / h4 >
< pre > public static < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.MethodInvoker.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.MethodInvoker< / a > getMethod(java.lang.Class< ?> clazz,
java.lang.String methodName,
java.lang.Class< ?> ... params)< / pre >
< div class = "block" > Search for the first publicly and privately defined method of the given name and parameter count.< / div >
< dl >
< dt > < span class = "paramLabel" > Parameters:< / span > < / dt >
< dd > < code > clazz< / code > - - a class to start with.< / dd >
< dd > < code > methodName< / code > - - the method name, or NULL to skip.< / dd >
< dd > < code > params< / code > - - the expected parameters.< / dd >
< dt > < span class = "returnLabel" > Returns:< / span > < / dt >
< dd > An object that invokes this specific method.< / dd >
< dt > < span class = "throwsLabel" > Throws:< / span > < / dt >
< dd > < code > java.lang.IllegalStateException< / code > - If we cannot find this method.< / dd >
< / dl >
< / li >
< / ul >
< a name = "getTypedMethod-java.lang.Class-java.lang.String-java.lang.Class-java.lang.Class...-" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > getTypedMethod< / h4 >
< pre > public static < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.MethodInvoker.html" title = "interface in com.djrapitops.plan.utilities.java" > Reflection.MethodInvoker< / a > getTypedMethod(java.lang.Class< ?> clazz,
java.lang.String methodName,
java.lang.Class< ?> returnType,
java.lang.Class< ?> ... params)< / pre >
< div class = "block" > Search for the first publicly and privately defined method of the given name and parameter count.< / div >
< dl >
< dt > < span class = "paramLabel" > Parameters:< / span > < / dt >
< dd > < code > clazz< / code > - - a class to start with.< / dd >
< dd > < code > methodName< / code > - - the method name, or NULL to skip.< / dd >
< dd > < code > returnType< / code > - - the expected return type, or NULL to ignore.< / dd >
< dd > < code > params< / code > - - the expected parameters.< / dd >
< dt > < span class = "returnLabel" > Returns:< / span > < / dt >
< dd > An object that invokes this specific method.< / dd >
< dt > < span class = "throwsLabel" > Throws:< / span > < / dt >
< dd > < code > java.lang.IllegalStateException< / code > - If we cannot find this method.< / dd >
< / dl >
< / li >
< / ul >
< a name = "getMinecraftClass-java.lang.String-" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > getMinecraftClass< / h4 >
< pre > public static java.lang.Class< ?> getMinecraftClass(java.lang.String name)< / pre >
< div class = "block" > Retrieve a class in the net.minecraft.server.VERSION.* package.< / div >
< dl >
< dt > < span class = "paramLabel" > Parameters:< / span > < / dt >
< dd > < code > name< / code > - - the name of the class, excluding the package.< / dd >
< dt > < span class = "throwsLabel" > Throws:< / span > < / dt >
< dd > < code > java.lang.IllegalArgumentException< / code > - If the class doesn't exist.< / dd >
< / dl >
< / li >
< / ul >
< a name = "getCraftBukkitClass-java.lang.String-" >
<!-- -->
< / a >
< ul class = "blockListLast" >
< li class = "blockList" >
< h4 > getCraftBukkitClass< / h4 >
< pre > public static java.lang.Class< ?> getCraftBukkitClass(java.lang.String name)< / pre >
< div class = "block" > Retrieve a class in the org.bukkit.craftbukkit.VERSION.* package.< / div >
< dl >
< dt > < span class = "paramLabel" > Parameters:< / span > < / dt >
< dd > < code > name< / code > - - the name of the class, excluding the package.< / dd >
< dt > < span class = "throwsLabel" > Throws:< / span > < / dt >
< dd > < code > java.lang.IllegalArgumentException< / code > - If the class doesn't exist.< / dd >
< / dl >
< / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< / div >
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
< div class = "bottomNav" > < a name = "navbar.bottom" >
<!-- -->
< / a >
< div class = "skipNav" > < a href = "#skip.navbar.bottom" title = "Skip navigation links" > Skip navigation links< / a > < / div >
< a name = "navbar.bottom.firstrow" >
<!-- -->
< / a >
< ul class = "navList" title = "Navigation" >
< li > < a href = "../../../../../overview-summary.html" > Overview< / a > < / li >
< li > < a href = "package-summary.html" > Package< / a > < / li >
< li class = "navBarCell1Rev" > Class< / li >
< li > < a href = "package-tree.html" > Tree< / a > < / li >
< li > < a href = "../../../../../deprecated-list.html" > Deprecated< / a > < / li >
< li > < a href = "../../../../../index-all.html" > Index< / a > < / li >
< li > < a href = "../../../../../help-doc.html" > Help< / a > < / li >
< / ul >
< / div >
< div class = "subNav" >
< ul class = "navList" >
2020-03-21 15:43:05 +01:00
< li > < a href = "../../../../../com/djrapitops/plan/utilities/java/Maps.Builder.html" title = "class in com.djrapitops.plan.utilities.java" > < span class = "typeNameLink" > Prev Class< / span > < / a > < / li >
2020-01-24 11:56:15 +01:00
< li > < a href = "../../../../../com/djrapitops/plan/utilities/java/Reflection.FieldAccessor.html" title = "interface in com.djrapitops.plan.utilities.java" > < span class = "typeNameLink" > Next Class< / span > < / a > < / li >
2019-08-05 11:13:19 +02:00
< / ul >
< ul class = "navList" >
< li > < a href = "../../../../../index.html?com/djrapitops/plan/utilities/java/Reflection.html" target = "_top" > Frames< / a > < / li >
< li > < a href = "Reflection.html" target = "_top" > No Frames< / a > < / li >
< / ul >
< ul class = "navList" id = "allclasses_navbar_bottom" >
< li > < a href = "../../../../../allclasses-noframe.html" > All Classes< / a > < / li >
< / ul >
< div >
< script type = "text/javascript" > < ! - -
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
< / script >
< / div >
< div >
< ul class = "subNavList" >
< li > Summary: < / li >
< li > < a href = "#nested.class.summary" > Nested< / a > | < / li >
< li > Field | < / li >
< li > Constr | < / li >
< li > < a href = "#method.summary" > Method< / a > < / li >
< / ul >
< ul class = "subNavList" >
< li > Detail: < / li >
< li > Field | < / li >
< li > Constr | < / li >
< li > < a href = "#method.detail" > Method< / a > < / li >
< / ul >
< / div >
< a name = "skip.navbar.bottom" >
<!-- -->
< / a > < / div >
<!-- ======== END OF BOTTOM NAVBAR ======= -->
< / body >
< / html >