public class ReflectionTypeProvider extends AbstractRuntimeJvmTypeProvider
AbstractRuntimeJvmTypeProvider.ClassNotFoundExceptionWithBaseName, AbstractRuntimeJvmTypeProvider.TypeInResourceSetAdapter
AbstractJvmTypeProvider.ClassNameVariants
IJvmTypeProvider.Factory
services
Constructor and Description |
---|
ReflectionTypeProvider(java.lang.ClassLoader classLoader,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
Deprecated.
|
ReflectionTypeProvider(java.lang.ClassLoader classLoader,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IndexedJvmTypeAccess indexedJvmTypeAccess)
Deprecated.
|
ReflectionTypeProvider(java.lang.ClassLoader classLoader,
org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IndexedJvmTypeAccess indexedJvmTypeAccess,
TypeResourceServices services) |
Modifier and Type | Method and Description |
---|---|
protected ClassFinder |
createClassFinder(java.lang.ClassLoader classLoader) |
protected ReflectURIHelper |
createClassURIHelper() |
protected ReflectionTypeFactory |
createDeclaredTypeFactory() |
ClassMirror |
createMirror(java.lang.Class<?> clazz) |
protected IMirror |
createMirrorForFQN(java.lang.String name) |
JvmType |
findTypeByClass(java.lang.Class<?> clazz,
org.eclipse.emf.ecore.resource.Resource resource) |
JvmType |
findTypeByName(java.lang.String name)
Find a type by its fully qualified name, e.g.
|
JvmType |
findTypeByName(java.lang.String name,
boolean binaryNestedTypeDelimiter)
Find a type by its fully qualified name, e.g.
|
ClassFinder |
getClassFinder() |
ReflectURIHelper |
getClassURIHelper() |
ReflectionTypeFactory |
getDeclaredTypeFactory() |
protected JvmType |
tryFindTypeInIndex(java.lang.String name,
boolean binaryNestedTypeDelimiter) |
doTryFindInIndex, registerProtocol
createMirror, createResource, doCreateResource, findNestedType, getIndexedJvmTypeAccess, getResourceSet, isBinaryNestedTypeDelimiter
@Deprecated public ReflectionTypeProvider(java.lang.ClassLoader classLoader, org.eclipse.emf.ecore.resource.ResourceSet resourceSet, IndexedJvmTypeAccess indexedJvmTypeAccess)
public ReflectionTypeProvider(java.lang.ClassLoader classLoader, org.eclipse.emf.ecore.resource.ResourceSet resourceSet, IndexedJvmTypeAccess indexedJvmTypeAccess, TypeResourceServices services)
@Deprecated public ReflectionTypeProvider(java.lang.ClassLoader classLoader, org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
protected ClassFinder createClassFinder(java.lang.ClassLoader classLoader)
protected ReflectionTypeFactory createDeclaredTypeFactory()
protected ReflectURIHelper createClassURIHelper()
public ReflectURIHelper getClassURIHelper()
public ReflectionTypeFactory getDeclaredTypeFactory()
public ClassFinder getClassFinder()
public JvmType findTypeByName(java.lang.String name)
IJvmTypeProvider
java.util.Map$Entry
, int[]
, void
or
java.lang.String[][][]
. Nested class delimiters are expected to be the '$'
. This is fully
equivalent to findTypeByName(name, true)
.findTypeByName
in interface IJvmTypeProvider
findTypeByName
in class AbstractJvmTypeProvider
JvmType
or null if no such type could be found.IJvmTypeProvider.findTypeByName(String, boolean)
public JvmType findTypeByName(java.lang.String name, boolean binaryNestedTypeDelimiter)
IJvmTypeProvider
java.util.Map.Entry
, int[]
, void
or
java.lang.String[][][]
. If binaryNestedTypeDelimiter
is set to true
, the char '$'
is expected to be delimiter for nested classes. If it is set to false, a char '.'
is assumed to be a
valid nested type delimiter, too.
If the name contains a '$'
, it is assumed to be a class name that uses binary delimiters for nested types.findTypeByName
in interface IJvmTypeProvider
findTypeByName
in class AbstractJvmTypeProvider
JvmType
or null if no such type could be found.IJvmTypeProvider.findTypeByName(String, boolean)
protected JvmType tryFindTypeInIndex(java.lang.String name, boolean binaryNestedTypeDelimiter)
protected IMirror createMirrorForFQN(java.lang.String name)
createMirrorForFQN
in class AbstractJvmTypeProvider
public ClassMirror createMirror(java.lang.Class<?> clazz)
public JvmType findTypeByClass(java.lang.Class<?> clazz, org.eclipse.emf.ecore.resource.Resource resource)