public class ImplementationMap
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.ConcurrentHashMap<java.lang.Class,java.util.concurrent.ConcurrentHashMap<java.lang.Class,java.lang.Integer>> |
impsMap
This maintains a mapping from uninstantiable classes to their instantiable
set of implementations.
|
protected java.util.concurrent.ConcurrentHashMap<java.lang.Class,java.lang.Integer> |
knownInstantiableClasses
The set of instantiable classes known to this map.
|
Constructor and Description |
---|
ImplementationMap(java.lang.String[] classesDirs,
java.lang.Class... someKnownClasses)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<java.lang.Class> |
getAllKnownInstantiableClasses() |
java.lang.Class |
getImp1(java.lang.Class C)
As getImps, but returns only one implementation-class, chosen randomly.
|
java.util.List<java.lang.Class> |
getImps(java.lang.Class C)
Inquiry for known concrete and instantiable implementations of a given class C.
|
static java.util.List<java.lang.reflect.Method> |
getPublicCreatorMethods(java.lang.Class C)
Return the creator-methods of the class C.
|
static boolean |
isPubliclyInstantiable(java.lang.Class C)
Check if a given class has a public constructor or creator method.
|
static void |
main(java.lang.String[] args) |
static java.lang.Class[] |
standardKnownInstantiableClasses() |
protected java.util.concurrent.ConcurrentHashMap<java.lang.Class,java.lang.Integer> knownInstantiableClasses
protected java.util.concurrent.ConcurrentHashMap<java.lang.Class,java.util.concurrent.ConcurrentHashMap<java.lang.Class,java.lang.Integer>> impsMap
public ImplementationMap(java.lang.String[] classesDirs, java.lang.Class... someKnownClasses)
public static java.lang.Class[] standardKnownInstantiableClasses()
public java.util.List<java.lang.Class> getAllKnownInstantiableClasses()
public static java.util.List<java.lang.reflect.Method> getPublicCreatorMethods(java.lang.Class C)
public static boolean isPubliclyInstantiable(java.lang.Class C)
public java.util.List<java.lang.Class> getImps(java.lang.Class C)
public java.lang.Class getImp1(java.lang.Class C)
public static void main(java.lang.String[] args) throws java.io.IOException
java.io.IOException