blob: 73d45b51eda4099cbdcb75e0917697bdc5696e27 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 20:48:08 PDT 2021 -->
<title>BaseContainer.Instantiator (Eclipse Communication Framework (ECF) 3.14.22 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="dc.created" content="2021-06-15">
<meta name="description" content="declaration: package: org.eclipse.ecf.core, class: BaseContainer, class: Instantiator">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":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 = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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/BaseContainer.Instantiator.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">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.ecf.core</a></div>
<h1 title="Class BaseContainer.Instantiator" class="title">Class BaseContainer.Instantiator</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance"><a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">org.eclipse.ecf.core.provider.BaseContainerInstantiator</a>
<div class="inheritance">org.eclipse.ecf.core.BaseContainer.Instantiator</div>
</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="provider/IContainerInstantiator.html" title="interface in org.eclipse.ecf.core.provider">IContainerInstantiator</a></code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="BaseContainer.html" title="class in org.eclipse.ecf.core">BaseContainer</a></dd>
</dl>
<hr>
<pre>public static class <span class="typeNameLabel">BaseContainer.Instantiator</span>
extends <a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseContainerInstantiator</a></pre>
</section>
<section class="summary">
<ul class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<li class="blockList">
<section class="fieldSummary"><a id="field.summary">
<!-- -->
</a>
<h2>Field Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#NAME">NAME</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="inheritedList">
<h3>Fields inherited from class&nbsp;org.eclipse.ecf.core.provider.<a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseContainerInstantiator</a></h3>
<a id="fields.inherited.from.class.org.eclipse.ecf.core.provider.BaseContainerInstantiator">
<!-- -->
</a><code><a href="provider/BaseContainerInstantiator.html#EMPTY_CLASS_ARRAY">EMPTY_CLASS_ARRAY</a>, <a href="provider/BaseContainerInstantiator.html#EMPTY_STRING_ARRAY">EMPTY_STRING_ARRAY</a>, <a href="provider/BaseContainerInstantiator.html#NO_ADAPTERS_ARRAY">NO_ADAPTERS_ARRAY</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Instantiator</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<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="t2" class="tableTab" onclick="show(2);">Instance 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">
<thead>
<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>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="IContainer.html" title="interface in org.eclipse.ecf.core">IContainer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)">createInstance</a></span>&#8203;(<a href="ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&nbsp;parameters)</code></th>
<td class="colLast">
<div class="block">Create instance of IContainer.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSupportedAdapterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedAdapterTypes</a></span>&#8203;(<a href="ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Get array of supported adapters for the given container type description.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>[][]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSupportedParameterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedParameterTypes</a></span>&#8203;(<a href="ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Get array of parameter types for given container type description.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.ecf.core.provider.<a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseContainerInstantiator</a></h3>
<a id="methods.inherited.from.class.org.eclipse.ecf.core.provider.BaseContainerInstantiator">
<!-- -->
</a><code><a href="provider/BaseContainerInstantiator.html#getAdaptersForClass(java.lang.Class)">getAdaptersForClass</a>, <a href="provider/BaseContainerInstantiator.html#getIDParameterValue(org.eclipse.ecf.core.identity.Namespace,java.util.Map,java.lang.String)">getIDParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getIDParameterValue(org.eclipse.ecf.core.identity.Namespace,java.util.Map,java.lang.String,java.lang.Class,T)">getIDParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getIDParameterValue(org.eclipse.ecf.core.identity.Namespace,java.util.Map,java.lang.String,java.lang.String)">getIDParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getIntegerFromArg(java.lang.Object)">getIntegerFromArg</a>, <a href="provider/BaseContainerInstantiator.html#getInterfacesAndAdaptersForClass(java.lang.Class)">getInterfacesAndAdaptersForClass</a>, <a href="provider/BaseContainerInstantiator.html#getInterfacesForClass(java.lang.Class)">getInterfacesForClass</a>, <a href="provider/BaseContainerInstantiator.html#getInterfacesForClass(java.util.Set,java.lang.Class)">getInterfacesForClass</a>, <a href="provider/BaseContainerInstantiator.html#getMap(java.lang.Object%5B%5D)">getMap</a>, <a href="provider/BaseContainerInstantiator.html#getMapParameterString(java.lang.Object%5B%5D,java.lang.String)">getMapParameterString</a>, <a href="provider/BaseContainerInstantiator.html#getMapParameterString(java.lang.Object%5B%5D,java.lang.String,java.lang.String)">getMapParameterString</a>, <a href="provider/BaseContainerInstantiator.html#getParameterValue(java.lang.Object%5B%5D,java.lang.String,java.lang.Class)">getParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getParameterValue(java.lang.Object%5B%5D,java.lang.String,java.lang.Class,T)">getParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getParameterValue(java.util.Map,java.lang.String)">getParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getParameterValue(java.util.Map,java.lang.String,java.lang.Class,T)">getParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getParameterValue(java.util.Map,java.lang.String,java.lang.String)">getParameterValue</a>, <a href="provider/BaseContainerInstantiator.html#getStringFromArg(java.lang.Object)">getStringFromArg</a>, <a href="provider/BaseContainerInstantiator.html#getSupportedIntents(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedIntents</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<li class="blockList">
<section class="fieldDetails"><a id="field.detail">
<!-- -->
</a>
<h2>Field Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="NAME">NAME</a></h3>
<div class="memberSignature"><span class="modifiers">public static final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">NAME</span></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.4</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.ecf.core.BaseContainer.Instantiator.NAME">Constant Field Values</a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">Instantiator</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">Instantiator</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object[])">createInstance</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="IContainer.html" title="interface in org.eclipse.ecf.core">IContainer</a></span>&nbsp;<span class="memberName">createInstance</span>&#8203;(<span class="arguments"><a href="ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&nbsp;parameters)</span>
throws <span class="exceptions"><a href="ContainerCreateException.html" title="class in org.eclipse.ecf.core">ContainerCreateException</a></span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="provider/IContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)">IContainerInstantiator</a></code></span></div>
<div class="block">Create instance of IContainer. This is the interface that container
provider implementations must implement for the containerFactory
extension point. The caller may optionally specify both argument types
and arguments that will be passed into this method (and therefore to the
provider implementation implementing this method). For example:
<p>
<b> ContainerFactory.getDefault().createContainer("foocontainer",new
Object { "hello" });</b>
<p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="provider/IContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)">createInstance</a></code>&nbsp;in interface&nbsp;<code><a href="provider/IContainerInstantiator.html" title="interface in org.eclipse.ecf.core.provider">IContainerInstantiator</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="provider/BaseContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)">createInstance</a></code>&nbsp;in class&nbsp;<code><a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseContainerInstantiator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the ContainerTypeDescription associated with the registered
container provider implementation</dd>
<dd><code>parameters</code> - parameters specified by the caller. May be null if no
parameters are passed in by caller to
ContainerFactory.getDefault().createContainer(...)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IContainer instance. The provider implementation must return a
valid object implementing IContainer OR throw a
ContainerCreateException. Null will not be returned.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ContainerCreateException.html" title="class in org.eclipse.ecf.core">ContainerCreateException</a></code> - thrown if instance cannot be created</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSupportedAdapterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedAdapterTypes</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]</span>&nbsp;<span class="memberName">getSupportedAdapterTypes</span>&#8203;(<span class="arguments"><a href="ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="provider/IContainerInstantiator.html#getSupportedAdapterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">IContainerInstantiator</a></code></span></div>
<div class="block">Get array of supported adapters for the given container type description.
Providers implement this method to allow clients to inspect the adapter
types exposed by the container described by the given description.
The returned array entries will be the fully qualified names of the
adapter classes.
Note that the returned types do not guarantee that a subsequent call to
<a href="IContainer.html#getAdapter(java.lang.Class)"><code>IContainer.getAdapter(Class)</code></a> with the same type name as a
returned value will return a non-<code>null</code> result. In other
words, even if the class name is in the returned array, subsequent calls
to <a href="IContainer.html#getAdapter(java.lang.Class)"><code>IContainer.getAdapter(Class)</code></a> may still return
<code>null</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="provider/IContainerInstantiator.html#getSupportedAdapterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedAdapterTypes</a></code>&nbsp;in interface&nbsp;<code><a href="provider/IContainerInstantiator.html" title="interface in org.eclipse.ecf.core.provider">IContainerInstantiator</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="provider/BaseContainerInstantiator.html#getSupportedAdapterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedAdapterTypes</a></code>&nbsp;in class&nbsp;<code><a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseContainerInstantiator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the ContainerTypeDescription to report adapters for. Must not
be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String[] of supported adapters. The entries in the returned array
will be the fully qualified class names of adapters supported by
the given description. <code>null</code> may be returned by
the provider if no adapters are supported for this description.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSupportedParameterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedParameterTypes</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>[][]</span>&nbsp;<span class="memberName">getSupportedParameterTypes</span>&#8203;(<span class="arguments"><a href="ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="provider/IContainerInstantiator.html#getSupportedParameterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">IContainerInstantiator</a></code></span></div>
<div class="block">Get array of parameter types for given container type description.
Providers implement this method to allow clients to inspect the available
set of parameter types understood for calls to
<a href="provider/IContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)"><code>IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])</code></a>.
<p>
Each of the rows of the returned array specifies a Class[] of parameter
types. These parameter types correspond to the types of Object[] that can
be passed into the second parameter of
<a href="provider/IContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)"><code>IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])</code></a>.
<p>
Consider the following example:
<pre>
public Class[][] getSupportedParameterTypes() {
return new Class[][] { { String.class }, { String.class, String.class } };
}
</pre>
The above means that there are two acceptable values for the Object []
passed into <a href="provider/IContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)"><code>IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])</code></a>:
1) a single String, and 2) two Strings. These would therefore be
acceptable as input to createInstance:
<pre>
IContainer container = ContainerFactory.getDefault().createContainer(
description, new Object[] { &quot;Hello&quot; });
IContainer container2 = ContainerFactory.getDefault().createContainer(
description, new Object[] { &quot;Hello&quot; });
</pre>
<p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="provider/IContainerInstantiator.html#getSupportedParameterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedParameterTypes</a></code>&nbsp;in interface&nbsp;<code><a href="provider/IContainerInstantiator.html" title="interface in org.eclipse.ecf.core.provider">IContainerInstantiator</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="provider/BaseContainerInstantiator.html#getSupportedParameterTypes(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedParameterTypes</a></code>&nbsp;in class&nbsp;<code><a href="provider/BaseContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseContainerInstantiator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the ContainerTypeDescription to return parameter types for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Class[][] array of Class[]s. Each row in the table corresponds to
a Class[] that describes the types of Objects in Object[] for
second parameter to
<a href="provider/IContainerInstantiator.html#createInstance(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.Object%5B%5D)"><code>IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])</code></a>.
<code>null</code> returned if no parameter types supported for
given description.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<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/BaseContainer.Instantiator.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">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020 <a href="https://www.eclipse.org/">Eclipse Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>