<!DOCTYPE HTML> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (12.0.1) on Fri Nov 01 13:30:56 CDT 2019 --> <title>ReflectionUtils</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="dc.created" content="2019-11-01"> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> <script type="text/javascript" src="../../../../../script.js"></script> <script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script> <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> <!--[if IE]> <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> <![endif]--> <script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script> <script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script> <script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="ReflectionUtils"; } } catch(err) { } //--> var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9}; 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"; var pathtoroot = "../../../../../"; var useModuleDirectories = true; loadScripts(document, 'script');</script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <header role="banner"> <nav role="navigation"> <div class="fixedNav"> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a id="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a id="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../index.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-files/index-1.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <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> <ul class="navListSearch"> <li><label for="search">SEARCH:</label> <input type="text" id="search" value="search" disabled="disabled"> <input type="reset" id="reset" value="reset" disabled="disabled"> </li> </ul> </div> <a id="skip.navbar.top"> <!-- --> </a> <!-- ========= END OF TOP NAVBAR ========= --> </div> <div class="navPadding"> </div> <script type="text/javascript"><!-- $('.navPadding').css('padding-top', $('.fixedNav').css("height")); //--> </script> </nav> </header> <!-- ======== START OF CLASS DATA ======== --> <main role="main"> <div class="header"> <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">com.massivecraft.factions.util.Particles</a></div> <h2 title="Class ReflectionUtils" class="title">Class ReflectionUtils</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>com.massivecraft.factions.util.Particles.ReflectionUtils</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <pre>public final class <span class="typeNameLabel">ReflectionUtils</span> extends java.lang.Object</pre> <div class="block"><b>ReflectionUtils</b> <p> This class provides useful methods which makes dealing with reflection much easier, especially when working with Bukkit <p> You are welcome to use it, modify it and redistribute it under the following conditions: <ul> <li>Don't claim this class as your own <li>Don't remove this disclaimer </ul> <i>It would be nice if you provide credit to me if you use this class in a published project</i></div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== NESTED CLASS SUMMARY ======== --> <section role="region"> <ul class="blockList"> <li class="blockList"><a id="nested.class.summary"> <!-- --> </a> <h3>Nested Class Summary</h3> <div class="memberSummary"> <table> <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colSecond" scope="col">Class</th> <th class="colLast" scope="col">Description</th> </tr> <tbody> <tr class="altColor"> <td class="colFirst"><code>static class </code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ReflectionUtils.DataType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.DataType</a></span></code></th> <td class="colLast"> <div class="block">Represents an enumeration of Java data types with corresponding classes</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static class </code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a></span></code></th> <td class="colLast"> <div class="block">Represents an enumeration of dynamic packages of NMS and CraftBukkit</div> </td> </tr> </tbody> </table> </div> </li> </ul> </section> <!-- ========== METHOD SUMMARY =========== --> <section role="region"> <ul class="blockList"> <li class="blockList"><a id="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <div class="memberSummary"> <div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div> <div id="memberSummary_tabpanel" role="tabpanel"> <table aria-labelledby="t0"> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colSecond" scope="col">Method</th> <th class="colLast" scope="col">Description</th> </tr> <tbody> <tr class="altColor" id="i0"> <td class="colFirst"><code>static java.lang.reflect.Constructor<?></code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConstructor(java.lang.Class,java.lang.Class...)">getConstructor</a></span>​(java.lang.Class<?> clazz, java.lang.Class<?>... parameterTypes)</code></th> <td class="colLast"> <div class="block">Returns the constructor of a given class with the given parameter types</div> </td> </tr> <tr class="rowColor" id="i1"> <td class="colFirst"><code>static java.lang.reflect.Constructor<?></code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConstructor(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.Class...)">getConstructor</a></span>​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.Class<?>... parameterTypes)</code></th> <td class="colLast"> <div class="block">Returns the constructor of a desired class with the given parameter types</div> </td> </tr> <tr class="altColor" id="i2"> <td class="colFirst"><code>static java.lang.reflect.Field</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getField(java.lang.Class,boolean,java.lang.String)">getField</a></span>​(java.lang.Class<?> clazz, boolean declared, java.lang.String fieldName)</code></th> <td class="colLast"> <div class="block">Returns a field of the target class with the given name</div> </td> </tr> <tr class="rowColor" id="i3"> <td class="colFirst"><code>static java.lang.reflect.Field</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getField(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,boolean,java.lang.String)">getField</a></span>​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, boolean declared, java.lang.String fieldName)</code></th> <td class="colLast"> <div class="block">Returns a field of a desired class with the given name</div> </td> </tr> <tr class="altColor" id="i4"> <td class="colFirst"><code>static java.lang.reflect.Method</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMethod(java.lang.Class,java.lang.String,java.lang.Class...)">getMethod</a></span>​(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes)</code></th> <td class="colLast"> <div class="block">Returns a method of a class with the given parameter types</div> </td> </tr> <tr class="rowColor" id="i5"> <td class="colFirst"><code>static java.lang.reflect.Method</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMethod(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.String,java.lang.Class...)">getMethod</a></span>​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.String methodName, java.lang.Class<?>... parameterTypes)</code></th> <td class="colLast"> <div class="block">Returns a method of a desired class with the given parameter types</div> </td> </tr> <tr class="altColor" id="i6"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValue(java.lang.Object,boolean,java.lang.String)">getValue</a></span>​(java.lang.Object instance, boolean declared, java.lang.String fieldName)</code></th> <td class="colLast"> <div class="block">Returns the value of a field with the given name of an object</div> </td> </tr> <tr class="rowColor" id="i7"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValue(java.lang.Object,java.lang.Class,boolean,java.lang.String)">getValue</a></span>​(java.lang.Object instance, java.lang.Class<?> clazz, boolean declared, java.lang.String fieldName)</code></th> <td class="colLast"> <div class="block">Returns the value of a field of the given class of an object</div> </td> </tr> <tr class="altColor" id="i8"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValue(java.lang.Object,java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,boolean,java.lang.String)">getValue</a></span>​(java.lang.Object instance, java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, boolean declared, java.lang.String fieldName)</code></th> <td class="colLast"> <div class="block">Returns the value of a field of a desired class of an object</div> </td> </tr> <tr class="rowColor" id="i9"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#instantiateObject(java.lang.Class,java.lang.Object...)">instantiateObject</a></span>​(java.lang.Class<?> clazz, java.lang.Object... arguments)</code></th> <td class="colLast"> <div class="block">Returns an instance of a class with the given arguments</div> </td> </tr> <tr class="altColor" id="i10"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#instantiateObject(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.Object...)">instantiateObject</a></span>​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.Object... arguments)</code></th> <td class="colLast"> <div class="block">Returns an instance of a desired class with the given arguments</div> </td> </tr> <tr class="rowColor" id="i11"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#invokeMethod(java.lang.Object,java.lang.Class,java.lang.String,java.lang.Object...)">invokeMethod</a></span>​(java.lang.Object instance, java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Object... arguments)</code></th> <td class="colLast"> <div class="block">Invokes a method of the target class on an object with the given arguments</div> </td> </tr> <tr class="altColor" id="i12"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#invokeMethod(java.lang.Object,java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.String,java.lang.Object...)">invokeMethod</a></span>​(java.lang.Object instance, java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.String methodName, java.lang.Object... arguments)</code></th> <td class="colLast"> <div class="block">Invokes a method of a desired class on an object with the given arguments</div> </td> </tr> <tr class="rowColor" id="i13"> <td class="colFirst"><code>static java.lang.Object</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#invokeMethod(java.lang.Object,java.lang.String,java.lang.Object...)">invokeMethod</a></span>​(java.lang.Object instance, java.lang.String methodName, java.lang.Object... arguments)</code></th> <td class="colLast"> <div class="block">Invokes a method on an object with the given arguments</div> </td> </tr> <tr class="altColor" id="i14"> <td class="colFirst"><code>static void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValue(java.lang.Object,boolean,java.lang.String,java.lang.Object)">setValue</a></span>​(java.lang.Object instance, boolean declared, java.lang.String fieldName, java.lang.Object value)</code></th> <td class="colLast"> <div class="block">Sets the value of a field with the given name of an object</div> </td> </tr> <tr class="rowColor" id="i15"> <td class="colFirst"><code>static void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValue(java.lang.Object,java.lang.Class,boolean,java.lang.String,java.lang.Object)">setValue</a></span>​(java.lang.Object instance, java.lang.Class<?> clazz, boolean declared, java.lang.String fieldName, java.lang.Object value)</code></th> <td class="colLast"> <div class="block">Sets the value of a field of the given class of an object</div> </td> </tr> <tr class="altColor" id="i16"> <td class="colFirst"><code>static void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValue(java.lang.Object,java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,boolean,java.lang.String,java.lang.Object)">setValue</a></span>​(java.lang.Object instance, java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, boolean declared, java.lang.String fieldName, java.lang.Object value)</code></th> <td class="colLast"> <div class="block">Sets the value of a field of a desired class of an object</div> </td> </tr> </tbody> </table> </div> </div> <ul class="blockList"> <li class="blockList"><a id="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> </section> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ METHOD DETAIL ========== --> <section role="region"> <ul class="blockList"> <li class="blockList"><a id="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a id="getConstructor(java.lang.Class,java.lang.Class...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getConstructor</h4> <pre class="methodSignature">public static java.lang.reflect.Constructor<?> getConstructor​(java.lang.Class<?> clazz, java.lang.Class<?>... parameterTypes) throws java.lang.NoSuchMethodException</pre> <div class="block">Returns the constructor of a given class with the given parameter types</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>clazz</code> - Target class</dd> <dd><code>parameterTypes</code> - Parameter types of the desired constructor</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The constructor of the target class with the specified parameter types</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.NoSuchMethodException</code> - If the desired constructor with the specified parameter types cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="ReflectionUtils.DataType.html" title="enum in com.massivecraft.factions.util.Particles"><code>ReflectionUtils.DataType</code></a>, <a href="ReflectionUtils.DataType.html#getPrimitive(java.lang.Class%5B%5D)"><code>ReflectionUtils.DataType.getPrimitive(Class[])</code></a>, <a href="ReflectionUtils.DataType.html#compare(java.lang.Class%5B%5D,java.lang.Class%5B%5D)"><code>ReflectionUtils.DataType.compare(Class[], Class[])</code></a></dd> </dl> </li> </ul> <a id="getConstructor(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.Class...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getConstructor</h4> <pre class="methodSignature">public static java.lang.reflect.Constructor<?> getConstructor​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.Class<?>... parameterTypes) throws java.lang.NoSuchMethodException, java.lang.ClassNotFoundException</pre> <div class="block">Returns the constructor of a desired class with the given parameter types</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>parameterTypes</code> - Parameter types of the desired constructor</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The constructor of the desired target class with the specified parameter types</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.NoSuchMethodException</code> - If the desired constructor with the specified parameter types cannot be found</dd> <dd><code>java.lang.ClassNotFoundException</code> - ClassNotFoundException If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><code>(String, PackageType)</code>, <a href="#getConstructor(java.lang.Class,java.lang.Class...)"><code>getConstructor(Class, Class...)</code></a></dd> </dl> </li> </ul> <a id="instantiateObject(java.lang.Class,java.lang.Object...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>instantiateObject</h4> <pre class="methodSignature">public static java.lang.Object instantiateObject​(java.lang.Class<?> clazz, java.lang.Object... arguments) throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException</pre> <div class="block">Returns an instance of a class with the given arguments</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>clazz</code> - Target class</dd> <dd><code>arguments</code> - Arguments which are used to construct an object of the target class</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The instance of the target class with the specified arguments</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.InstantiationException</code> - If you cannot create an instance of the target class due to certain circumstances</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired constructor cannot be accessed due to certain circumstances</dd> <dd><code>java.lang.IllegalArgumentException</code> - If the types of the arguments do not match the parameter types of the constructor (this should not occur since it searches for a constructor with the types of the arguments)</dd> <dd><code>java.lang.reflect.InvocationTargetException</code> - If the desired constructor cannot be invoked</dd> <dd><code>java.lang.NoSuchMethodException</code> - If the desired constructor with the specified arguments cannot be found</dd> </dl> </li> </ul> <a id="instantiateObject(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.Object...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>instantiateObject</h4> <pre class="methodSignature">public static java.lang.Object instantiateObject​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.Object... arguments) throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, java.lang.ClassNotFoundException</pre> <div class="block">Returns an instance of a desired class with the given arguments</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>arguments</code> - Arguments which are used to construct an object of the desired target class</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The instance of the desired target class with the specified arguments</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.InstantiationException</code> - If you cannot create an instance of the desired target class due to certain circumstances</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired constructor cannot be accessed due to certain circumstances</dd> <dd><code>java.lang.IllegalArgumentException</code> - If the types of the arguments do not match the parameter types of the constructor (this should not occur since it searches for a constructor with the types of the arguments)</dd> <dd><code>java.lang.reflect.InvocationTargetException</code> - If the desired constructor cannot be invoked</dd> <dd><code>java.lang.NoSuchMethodException</code> - If the desired constructor with the specified arguments cannot be found</dd> <dd><code>java.lang.ClassNotFoundException</code> - If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><code>(String, PackageType)</code>, <a href="#instantiateObject(java.lang.Class,java.lang.Object...)"><code>instantiateObject(Class, Object...)</code></a></dd> </dl> </li> </ul> <a id="getMethod(java.lang.Class,java.lang.String,java.lang.Class...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getMethod</h4> <pre class="methodSignature">public static java.lang.reflect.Method getMethod​(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes) throws java.lang.NoSuchMethodException</pre> <div class="block">Returns a method of a class with the given parameter types</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>clazz</code> - Target class</dd> <dd><code>methodName</code> - Name of the desired method</dd> <dd><code>parameterTypes</code> - Parameter types of the desired method</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The method of the target class with the specified name and parameter types</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.NoSuchMethodException</code> - If the desired method of the target class with the specified name and parameter types cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="ReflectionUtils.DataType.html#getPrimitive(java.lang.Class%5B%5D)"><code>ReflectionUtils.DataType.getPrimitive(Class[])</code></a>, <a href="ReflectionUtils.DataType.html#compare(java.lang.Class%5B%5D,java.lang.Class%5B%5D)"><code>ReflectionUtils.DataType.compare(Class[], Class[])</code></a></dd> </dl> </li> </ul> <a id="getMethod(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.String,java.lang.Class...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getMethod</h4> <pre class="methodSignature">public static java.lang.reflect.Method getMethod​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.String methodName, java.lang.Class<?>... parameterTypes) throws java.lang.NoSuchMethodException, java.lang.ClassNotFoundException</pre> <div class="block">Returns a method of a desired class with the given parameter types</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>methodName</code> - Name of the desired method</dd> <dd><code>parameterTypes</code> - Parameter types of the desired method</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The method of the desired target class with the specified name and parameter types</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.NoSuchMethodException</code> - If the desired method of the desired target class with the specified name and parameter types cannot be found</dd> <dd><code>java.lang.ClassNotFoundException</code> - If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><code>(String, PackageType)</code>, <a href="#getMethod(java.lang.Class,java.lang.String,java.lang.Class...)"><code>getMethod(Class, String, Class...)</code></a></dd> </dl> </li> </ul> <a id="invokeMethod(java.lang.Object,java.lang.String,java.lang.Object...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>invokeMethod</h4> <pre class="methodSignature">public static java.lang.Object invokeMethod​(java.lang.Object instance, java.lang.String methodName, java.lang.Object... arguments) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException</pre> <div class="block">Invokes a method on an object with the given arguments</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>methodName</code> - Name of the desired method</dd> <dd><code>arguments</code> - Arguments which are used to invoke the desired method</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The result of invoking the desired method on the target object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalAccessException</code> - If the desired method cannot be accessed due to certain circumstances</dd> <dd><code>java.lang.IllegalArgumentException</code> - If the types of the arguments do not match the parameter types of the method (this should not occur since it searches for a method with the types of the arguments)</dd> <dd><code>java.lang.reflect.InvocationTargetException</code> - If the desired method cannot be invoked on the target object</dd> <dd><code>java.lang.NoSuchMethodException</code> - If the desired method of the class of the target object with the specified name and arguments cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getMethod(java.lang.Class,java.lang.String,java.lang.Class...)"><code>getMethod(Class, String, Class...)</code></a>, <a href="ReflectionUtils.DataType.html#getPrimitive(java.lang.Object%5B%5D)"><code>ReflectionUtils.DataType.getPrimitive(Object[])</code></a></dd> </dl> </li> </ul> <a id="invokeMethod(java.lang.Object,java.lang.Class,java.lang.String,java.lang.Object...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>invokeMethod</h4> <pre class="methodSignature">public static java.lang.Object invokeMethod​(java.lang.Object instance, java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Object... arguments) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException</pre> <div class="block">Invokes a method of the target class on an object with the given arguments</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>clazz</code> - Target class</dd> <dd><code>methodName</code> - Name of the desired method</dd> <dd><code>arguments</code> - Arguments which are used to invoke the desired method</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The result of invoking the desired method on the target object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalAccessException</code> - If the desired method cannot be accessed due to certain circumstances</dd> <dd><code>java.lang.IllegalArgumentException</code> - If the types of the arguments do not match the parameter types of the method (this should not occur since it searches for a method with the types of the arguments)</dd> <dd><code>java.lang.reflect.InvocationTargetException</code> - If the desired method cannot be invoked on the target object</dd> <dd><code>java.lang.NoSuchMethodException</code> - If the desired method of the target class with the specified name and arguments cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getMethod(java.lang.Class,java.lang.String,java.lang.Class...)"><code>getMethod(Class, String, Class...)</code></a>, <a href="ReflectionUtils.DataType.html#getPrimitive(java.lang.Object%5B%5D)"><code>ReflectionUtils.DataType.getPrimitive(Object[])</code></a></dd> </dl> </li> </ul> <a id="invokeMethod(java.lang.Object,java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,java.lang.String,java.lang.Object...)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>invokeMethod</h4> <pre class="methodSignature">public static java.lang.Object invokeMethod​(java.lang.Object instance, java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, java.lang.String methodName, java.lang.Object... arguments) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, java.lang.ClassNotFoundException</pre> <div class="block">Invokes a method of a desired class on an object with the given arguments</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>methodName</code> - Name of the desired method</dd> <dd><code>arguments</code> - Arguments which are used to invoke the desired method</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The result of invoking the desired method on the target object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalAccessException</code> - If the desired method cannot be accessed due to certain circumstances</dd> <dd><code>java.lang.IllegalArgumentException</code> - If the types of the arguments do not match the parameter types of the method (this should not occur since it searches for a method with the types of the arguments)</dd> <dd><code>java.lang.reflect.InvocationTargetException</code> - If the desired method cannot be invoked on the target object</dd> <dd><code>java.lang.NoSuchMethodException</code> - If the desired method of the desired target class with the specified name and arguments cannot be found</dd> <dd><code>java.lang.ClassNotFoundException</code> - If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><code>(String, PackageType)</code>, <a href="#invokeMethod(java.lang.Object,java.lang.Class,java.lang.String,java.lang.Object...)"><code>invokeMethod(Object, Class, String, Object...)</code></a></dd> </dl> </li> </ul> <a id="getField(java.lang.Class,boolean,java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getField</h4> <pre class="methodSignature">public static java.lang.reflect.Field getField​(java.lang.Class<?> clazz, boolean declared, java.lang.String fieldName) throws java.lang.NoSuchFieldException, java.lang.SecurityException</pre> <div class="block">Returns a field of the target class with the given name</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>clazz</code> - Target class</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The field of the target class with the specified name</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the given class cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> </dl> </li> </ul> <a id="getField(java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,boolean,java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getField</h4> <pre class="methodSignature">public static java.lang.reflect.Field getField​(java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, boolean declared, java.lang.String fieldName) throws java.lang.NoSuchFieldException, java.lang.SecurityException, java.lang.ClassNotFoundException</pre> <div class="block">Returns a field of a desired class with the given name</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The field of the desired target class with the specified name</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the desired class cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dd><code>java.lang.ClassNotFoundException</code> - If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getField(java.lang.Class,boolean,java.lang.String)"><code>getField(Class, boolean, String)</code></a></dd> </dl> </li> </ul> <a id="getValue(java.lang.Object,java.lang.Class,boolean,java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getValue</h4> <pre class="methodSignature">public static java.lang.Object getValue​(java.lang.Object instance, java.lang.Class<?> clazz, boolean declared, java.lang.String fieldName) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.NoSuchFieldException, java.lang.SecurityException</pre> <div class="block">Returns the value of a field of the given class of an object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>clazz</code> - Target class</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The value of field of the target object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - If the target object does not feature the desired field</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired field cannot be accessed</dd> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the target class cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getField(java.lang.Class,boolean,java.lang.String)"><code>getField(Class, boolean, String)</code></a></dd> </dl> </li> </ul> <a id="getValue(java.lang.Object,java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,boolean,java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getValue</h4> <pre class="methodSignature">public static java.lang.Object getValue​(java.lang.Object instance, java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, boolean declared, java.lang.String fieldName) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.NoSuchFieldException, java.lang.SecurityException, java.lang.ClassNotFoundException</pre> <div class="block">Returns the value of a field of a desired class of an object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The value of field of the target object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - If the target object does not feature the desired field</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired field cannot be accessed</dd> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the desired class cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dd><code>java.lang.ClassNotFoundException</code> - If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getValue(java.lang.Object,java.lang.Class,boolean,java.lang.String)"><code>getValue(Object, Class, boolean, String)</code></a></dd> </dl> </li> </ul> <a id="getValue(java.lang.Object,boolean,java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getValue</h4> <pre class="methodSignature">public static java.lang.Object getValue​(java.lang.Object instance, boolean declared, java.lang.String fieldName) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.NoSuchFieldException, java.lang.SecurityException</pre> <div class="block">Returns the value of a field with the given name of an object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>The value of field of the target object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - If the target object does not feature the desired field (should not occur since it searches for a field with the given name in the class of the object)</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired field cannot be accessed</dd> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the target object cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getValue(java.lang.Object,java.lang.Class,boolean,java.lang.String)"><code>getValue(Object, Class, boolean, String)</code></a></dd> </dl> </li> </ul> <a id="setValue(java.lang.Object,java.lang.Class,boolean,java.lang.String,java.lang.Object)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setValue</h4> <pre class="methodSignature">public static void setValue​(java.lang.Object instance, java.lang.Class<?> clazz, boolean declared, java.lang.String fieldName, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.NoSuchFieldException, java.lang.SecurityException</pre> <div class="block">Sets the value of a field of the given class of an object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>clazz</code> - Target class</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dd><code>value</code> - New value</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - If the type of the value does not match the type of the desired field</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired field cannot be accessed</dd> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the target class cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#getField(java.lang.Class,boolean,java.lang.String)"><code>getField(Class, boolean, String)</code></a></dd> </dl> </li> </ul> <a id="setValue(java.lang.Object,java.lang.String,com.massivecraft.factions.util.Particles.ReflectionUtils.PackageType,boolean,java.lang.String,java.lang.Object)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setValue</h4> <pre class="methodSignature">public static void setValue​(java.lang.Object instance, java.lang.String className, <a href="ReflectionUtils.PackageType.html" title="enum in com.massivecraft.factions.util.Particles">ReflectionUtils.PackageType</a> packageType, boolean declared, java.lang.String fieldName, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.NoSuchFieldException, java.lang.SecurityException, java.lang.ClassNotFoundException</pre> <div class="block">Sets the value of a field of a desired class of an object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>className</code> - Name of the desired target class</dd> <dd><code>packageType</code> - Package where the desired target class is located</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dd><code>value</code> - New value</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - If the type of the value does not match the type of the desired field</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired field cannot be accessed</dd> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the desired class cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dd><code>java.lang.ClassNotFoundException</code> - If the desired target class with the specified name and package cannot be found</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#setValue(java.lang.Object,java.lang.Class,boolean,java.lang.String,java.lang.Object)"><code>setValue(Object, Class, boolean, String, Object)</code></a></dd> </dl> </li> </ul> <a id="setValue(java.lang.Object,boolean,java.lang.String,java.lang.Object)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>setValue</h4> <pre class="methodSignature">public static void setValue​(java.lang.Object instance, boolean declared, java.lang.String fieldName, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.NoSuchFieldException, java.lang.SecurityException</pre> <div class="block">Sets the value of a field with the given name of an object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>instance</code> - Target object</dd> <dd><code>declared</code> - Whether the desired field is declared or not</dd> <dd><code>fieldName</code> - Name of the desired field</dd> <dd><code>value</code> - New value</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - If the type of the value does not match the type of the desired field</dd> <dd><code>java.lang.IllegalAccessException</code> - If the desired field cannot be accessed</dd> <dd><code>java.lang.NoSuchFieldException</code> - If the desired field of the target object cannot be found</dd> <dd><code>java.lang.SecurityException</code> - If the desired field cannot be made accessible</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="#setValue(java.lang.Object,java.lang.Class,boolean,java.lang.String,java.lang.Object)"><code>setValue(Object, Class, boolean, String, Object)</code></a></dd> </dl> </li> </ul> </li> </ul> </section> </li> </ul> </div> </div> </main> <!-- ========= END OF CLASS DATA ========= --> <footer role="contentinfo"> <nav role="navigation"> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a id="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a id="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../index.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-files/index-1.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <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> </div> <a id="skip.navbar.bottom"> <!-- --> </a> <!-- ======== END OF BOTTOM NAVBAR ======= --> </nav> </footer> </body> </html>