|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.ecf.core.provider.BaseContainerInstantiator
public class BaseContainerInstantiator
Default implementation of IContainerInstantiator
. ECF provider implementers
may subclass as desired.
Field Summary | |
---|---|
protected static java.lang.Class[][] |
EMPTY_CLASS_ARRAY
|
protected static java.lang.String[] |
EMPTY_STRING_ARRAY
|
protected static java.lang.String[] |
NO_ADAPTERS_ARRAY
|
Constructor Summary | |
---|---|
BaseContainerInstantiator()
|
Method Summary | ||
---|---|---|
IContainer |
createInstance(ContainerTypeDescription description,
java.lang.Object[] parameters)
Create instance of IContainer. |
|
protected java.util.Set |
getAdaptersForClass(java.lang.Class clazz)
|
|
protected java.lang.Integer |
getIntegerFromArg(java.lang.Object arg)
|
|
protected java.lang.String[] |
getInterfacesAndAdaptersForClass(java.lang.Class clazz)
|
|
protected java.util.Set |
getInterfacesForClass(java.lang.Class clazz)
|
|
protected java.util.Set |
getInterfacesForClass(java.util.Set s,
java.lang.Class clazz)
|
|
protected java.util.Map<java.lang.String,?> |
getMap(java.lang.Object[] parameters)
|
|
protected java.lang.String |
getMapParameterString(java.lang.Object[] parameters,
java.lang.String key)
|
|
protected java.lang.String |
getMapParameterString(java.lang.Object[] parameters,
java.lang.String key,
java.lang.String def)
|
|
protected java.lang.String |
getParameterValue(java.util.Map<java.lang.String,?> parameters,
java.lang.String key)
|
|
protected
|
getParameterValue(java.util.Map<java.lang.String,?> parameters,
java.lang.String key,
java.lang.Class<T> clazz,
T def)
|
|
protected java.lang.String |
getParameterValue(java.util.Map<java.lang.String,?> parameters,
java.lang.String key,
java.lang.String def)
|
|
protected
|
getParameterValue(java.lang.Object[] parameters,
java.lang.String key,
java.lang.Class<T> clazz)
|
|
protected
|
getParameterValue(java.lang.Object[] parameters,
java.lang.String key,
java.lang.Class<T> clazz,
T def)
|
|
protected java.lang.String |
getStringFromArg(java.lang.Object arg)
|
|
java.lang.String[] |
getSupportedAdapterTypes(ContainerTypeDescription description)
Get array of supported adapters for the given container type description. |
|
java.lang.String[] |
getSupportedIntents(ContainerTypeDescription description)
|
|
java.lang.Class[][] |
getSupportedParameterTypes(ContainerTypeDescription description)
Get array of parameter types for given container type description. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static java.lang.String[] NO_ADAPTERS_ARRAY
protected static java.lang.String[] EMPTY_STRING_ARRAY
protected static java.lang.Class[][] EMPTY_CLASS_ARRAY
Constructor Detail |
---|
public BaseContainerInstantiator()
Method Detail |
---|
protected java.lang.Integer getIntegerFromArg(java.lang.Object arg)
protected java.lang.String getStringFromArg(java.lang.Object arg)
protected java.util.Set getAdaptersForClass(java.lang.Class clazz)
protected java.util.Set getInterfacesForClass(java.util.Set s, java.lang.Class clazz)
protected java.util.Set getInterfacesForClass(java.lang.Class clazz)
protected java.lang.String[] getInterfacesAndAdaptersForClass(java.lang.Class clazz)
protected java.util.Map<java.lang.String,?> getMap(java.lang.Object[] parameters)
protected <T> T getParameterValue(java.util.Map<java.lang.String,?> parameters, java.lang.String key, java.lang.Class<T> clazz, T def)
protected java.lang.String getParameterValue(java.util.Map<java.lang.String,?> parameters, java.lang.String key, java.lang.String def)
protected java.lang.String getParameterValue(java.util.Map<java.lang.String,?> parameters, java.lang.String key)
protected <T> T getParameterValue(java.lang.Object[] parameters, java.lang.String key, java.lang.Class<T> clazz, T def)
protected <T> T getParameterValue(java.lang.Object[] parameters, java.lang.String key, java.lang.Class<T> clazz)
protected java.lang.String getMapParameterString(java.lang.Object[] parameters, java.lang.String key, java.lang.String def)
protected java.lang.String getMapParameterString(java.lang.Object[] parameters, java.lang.String key)
public IContainer createInstance(ContainerTypeDescription description, java.lang.Object[] parameters) throws ContainerCreateException
IContainerInstantiator
ContainerFactory.getDefault().createContainer("foocontainer",new Object { "hello" });
createInstance
in interface IContainerInstantiator
description
- the ContainerTypeDescription associated with the registered
container provider implementationparameters
- parameters specified by the caller. May be null if no
parameters are passed in by caller to
ContainerFactory.getDefault().createContainer(...)
ContainerCreateException
public java.lang.String[] getSupportedAdapterTypes(ContainerTypeDescription description)
IContainerInstantiator
IContainer.getAdapter(Class)
with the same type name as a
returned value will return a non-null
result. In other
words, even if the class name is in the returned array, subsequent calls
to IContainer.getAdapter(Class)
may still return
null
.
getSupportedAdapterTypes
in interface IContainerInstantiator
description
- the ContainerTypeDescription to report adapters for. Must not
be null
.
null
may be returned by
the provider if no adapters are supported for this description.public java.lang.Class[][] getSupportedParameterTypes(ContainerTypeDescription description)
IContainerInstantiator
IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])
.
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
IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])
.
Consider the following example:
public Class[][] getSupportedParameterTypes() { return new Class[][] { { String.class }, { String.class, String.class } }; }The above means that there are two acceptable values for the Object [] passed into
IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])
:
1) a single String, and 2) two Strings. These would therefore be
acceptable as input to createInstance:
IContainer container = ContainerFactory.getDefault().createContainer( description, new Object[] { "Hello" }); IContainer container2 = ContainerFactory.getDefault().createContainer( description, new Object[] { "Hello" });
getSupportedParameterTypes
in interface IContainerInstantiator
description
- the ContainerTypeDescription to return parameter types for
IContainerInstantiator.createInstance(ContainerTypeDescription, Object[])
.
null
returned if no parameter types supported for
given description.public java.lang.String[] getSupportedIntents(ContainerTypeDescription description)
getSupportedIntents
in interface IContainerInstantiator
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |