public abstract class AbstractJvmTypeProvider extends java.lang.Object implements IJvmTypeProvider, org.eclipse.emf.ecore.resource.Resource.Factory
Modifier and Type | Class and Description |
---|---|
static class |
AbstractJvmTypeProvider.ClassNameVariants
An iterator over all permutations of a given name that are not equal to the original name.
|
IJvmTypeProvider.Factory
Modifier and Type | Field and Description |
---|---|
protected TypeResourceServices |
services |
Modifier | Constructor and Description |
---|---|
protected |
AbstractJvmTypeProvider(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IndexedJvmTypeAccess indexedJvmTypeAccess)
Deprecated.
|
protected |
AbstractJvmTypeProvider(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
IndexedJvmTypeAccess indexedJvmTypeAccess,
TypeResourceServices services) |
Modifier and Type | Method and Description |
---|---|
IMirror |
createMirror(org.eclipse.emf.common.util.URI resourceURI) |
protected abstract IMirror |
createMirrorForFQN(java.lang.String name) |
TypeResource |
createResource(org.eclipse.emf.common.util.URI uri) |
protected TypeResource |
doCreateResource(org.eclipse.emf.common.util.URI uri) |
protected JvmType |
findNestedType(JvmDeclaredType outer,
java.util.List<java.lang.String> segments,
int i) |
abstract JvmType |
findTypeByName(java.lang.String name)
Find a type by its fully qualified name, e.g.
|
abstract JvmType |
findTypeByName(java.lang.String name,
boolean binaryNestedTypeDelimiter)
Find a type by its fully qualified name, e.g.
|
IndexedJvmTypeAccess |
getIndexedJvmTypeAccess() |
org.eclipse.emf.ecore.resource.ResourceSet |
getResourceSet()
Returns the resource set that will contain dynamically created resources.
|
protected boolean |
isBinaryNestedTypeDelimiter(java.lang.String name,
boolean binaryNestedTypeDelimiter) |
protected void |
registerProtocol(org.eclipse.emf.ecore.resource.ResourceSet resourceSet) |
protected final TypeResourceServices services
@Deprecated protected AbstractJvmTypeProvider(org.eclipse.emf.ecore.resource.ResourceSet resourceSet, IndexedJvmTypeAccess indexedJvmTypeAccess)
protected AbstractJvmTypeProvider(org.eclipse.emf.ecore.resource.ResourceSet resourceSet, IndexedJvmTypeAccess indexedJvmTypeAccess, TypeResourceServices services)
protected void registerProtocol(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
public abstract 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
JvmType
or null if no such type could be found.IJvmTypeProvider.findTypeByName(String, boolean)
protected boolean isBinaryNestedTypeDelimiter(java.lang.String name, boolean binaryNestedTypeDelimiter)
public abstract 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
JvmType
or null if no such type could be found.IJvmTypeProvider.findTypeByName(String, boolean)
public TypeResource createResource(org.eclipse.emf.common.util.URI uri)
createResource
in interface org.eclipse.emf.ecore.resource.Resource.Factory
protected TypeResource doCreateResource(org.eclipse.emf.common.util.URI uri)
public org.eclipse.emf.ecore.resource.ResourceSet getResourceSet()
IJvmTypeProvider
getResourceSet
in interface IJvmTypeProvider
public IMirror createMirror(org.eclipse.emf.common.util.URI resourceURI)
protected abstract IMirror createMirrorForFQN(java.lang.String name)
public IndexedJvmTypeAccess getIndexedJvmTypeAccess()
protected JvmType findNestedType(JvmDeclaredType outer, java.util.List<java.lang.String> segments, int i)