The future is now. Read Hardware inputs from devices plugged into a computer, cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
jinput2.10/docs/net/java/games/util/plugins/Plugins.html

429 lines
14 KiB

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Wed Jun 08 18:29:23 UTC 2022 -->
<title>Plugins (jinput API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-06-08">
<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.5.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="Plugins (jinput API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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="class-use/Plugins.html">Use</a></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">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<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>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">net.java.games.util.plugins</a></div>
<h2 title="Class Plugins" class="title">Class Plugins</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>net.java.games.util.plugins.Plugins</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">Plugins</span>
extends java.lang.Object</pre>
<div class="block">This is the application interface to the Plugin system.
One Plugins object should be created for each plug-in
directory tree root.
On creation the Plugins object will scan its assigned
directory tree and examine all Jar files in that tree to
see if they qualify as Plug-ins.
The Plugin classes may then be retrived from the Plugins object by calling
the appropriate get function (see below).
If a plugin requires a native code library, that library must be present
in the same directory as the plugin Jar file UNLESS the property
"net.java.games.util.plugins.nolocalnative" is set. In that case
it will fall abck to the VM or environment's default way of finding
native libraries. (This is n ecessary for Java Web Start apps.)</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.io.File)">Plugins</a></span>&#8203;(java.io.File&nbsp;pluginRoot)</code></th>
<td class="colLast">
<div class="block">Creates a new instance of Plugins</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<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>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.lang.Class[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get()">get</a></span>()</code></th>
<td class="colLast">
<div class="block">This method returns all the Plugins found in the
directory passed in at object creation time or any of its
sub-directories.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.Class[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExtends(java.lang.Class)">getExtends</a></span>&#8203;(java.lang.Class&nbsp;superclass)</code></th>
<td class="colLast">
<div class="block">This method returns a sub-list of all the found Plugin
classes that extend the passed in Class
(either directly or through inheritance.)</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.Class[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImplementsAll(java.lang.Class%5B%5D)">getImplementsAll</a></span>&#8203;(java.lang.Class[]&nbsp;interfaces)</code></th>
<td class="colLast">
<div class="block">This method returns a sub-list of all the found Plugin
classes that implement <B>all</B> of the passed in set of
Interfaces (either directly or through inheritance.)</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.Class[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImplementsAny(java.lang.Class%5B%5D)">getImplementsAny</a></span>&#8203;(java.lang.Class[]&nbsp;interfaces)</code></th>
<td class="colLast">
<div class="block">This method returns a sub-list of all the found Plugin
classes that implement <B>any</B> of the passed in set of
Interfaces (either directly or through inheritance.)</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.io.File)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Plugins</h4>
<pre>public&nbsp;Plugins&#8203;(java.io.File&nbsp;pluginRoot)
throws java.io.IOException</pre>
<div class="block">Creates a new instance of Plugins</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pluginRoot</code> - The root od the directory tree to scan for Jars</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - containing plugins.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="get()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;java.lang.Class[]&nbsp;get()</pre>
<div class="block">This method returns all the Plugins found in the
directory passed in at object creation time or any of its
sub-directories.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array of Plugin objects</dd>
</dl>
</li>
</ul>
<a id="getImplementsAny(java.lang.Class[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getImplementsAny</h4>
<pre class="methodSignature">public&nbsp;java.lang.Class[]&nbsp;getImplementsAny&#8203;(java.lang.Class[]&nbsp;interfaces)</pre>
<div class="block">This method returns a sub-list of all the found Plugin
classes that implement <B>any</B> of the passed in set of
Interfaces (either directly or through inheritance.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>interfaces</code> - A set of interfaces to match against the interfaces
implemented by the plugin classes.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The list of plugin classes that implement at least
one member of the passed in set of interfaces.</dd>
</dl>
</li>
</ul>
<a id="getImplementsAll(java.lang.Class[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getImplementsAll</h4>
<pre class="methodSignature">public&nbsp;java.lang.Class[]&nbsp;getImplementsAll&#8203;(java.lang.Class[]&nbsp;interfaces)</pre>
<div class="block">This method returns a sub-list of all the found Plugin
classes that implement <B>all</B> of the passed in set of
Interfaces (either directly or through inheritance.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>interfaces</code> - A set of interfaces to match against the interfaces
implemented by the plugin classes.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The list of plugin classes that implement at least
one member of the passed in set of interfaces.</dd>
</dl>
</li>
</ul>
<a id="getExtends(java.lang.Class)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getExtends</h4>
<pre class="methodSignature">public&nbsp;java.lang.Class[]&nbsp;getExtends&#8203;(java.lang.Class&nbsp;superclass)</pre>
<div class="block">This method returns a sub-list of all the found Plugin
classes that extend the passed in Class
(either directly or through inheritance.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>superclass</code> - The class to match.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The list of plugin classes that extend the passed
in class.</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="class-use/Plugins.html">Use</a></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">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>