Package org.eclipse.epsilon.emc.jdt
Class JdtModel
- java.lang.Object
-
- org.eclipse.epsilon.eol.models.Model
-
- org.eclipse.epsilon.eol.models.CachedModel<Object>
-
- org.eclipse.epsilon.emc.jdt.JdtModel
-
- All Implemented Interfaces:
AutoCloseable
,IModel
public class JdtModel extends CachedModel<Object>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.epsilon.eol.models.IModel
IModel.AmbiguityCheckResult
-
-
Field Summary
Fields Modifier and Type Field Description protected List<org.eclipse.jdt.core.IJavaProject>
projects
static String
PROPERTY_PROJECTS
static String
PROPERTY_RESOLVE_BINDINGS
protected JdtPropertyGetter
propertyGetter
protected boolean
resolveBindings
protected List<String>
supportedTypes
protected ReflectiveASTVisitor
visitor
-
Fields inherited from class org.eclipse.epsilon.eol.models.CachedModel
allContentsCache, kindCache, PROPERTY_CACHED, PROPERTY_CONCURRENT, typeCache
-
Fields inherited from class org.eclipse.epsilon.eol.models.Model
aliases, ENV_PREFIX, name, PROPERTY_ALIASES, PROPERTY_NAME, PROPERTY_READONLOAD, PROPERTY_READONLY, PROPERTY_STOREONDISPOSAL, propertySetter, readOnLoad, storeOnDisposal
-
-
Constructor Summary
Constructors Constructor Description JdtModel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Collection<Object>
allContentsFromModel()
protected Object
createInstanceInModel(String type)
protected boolean
deleteElementInModel(Object instance)
Returns true iff the given instance was deleted from the model.protected void
disposeModel()
Collection<Object>
getAllOfKind(String type)
protected Collection<Object>
getAllOfKindFromModel(String kind)
Collection<Object>
getAllOfType(String type)
protected Collection<Object>
getAllOfTypeFromModel(String type)
protected Collection<String>
getAllTypeNamesOf(Object instance)
Returns the fully qualified names of every type to which the given object conforms.protected Object
getCacheKeyForType(String type)
Returns an identity for the given type, which will be used byCachedModel
as a key for the memoization of model elements by type.Object
getElementById(String id)
String
getElementId(Object instance)
Object
getEnumerationValue(String enumeration, String label)
IPropertyGetter
getPropertyGetter()
String
getTypeNameOf(Object instance)
Returns a string representing the type of the instance object.boolean
hasType(String type)
boolean
isInstantiable(String type)
boolean
isOfKind(Object instance, String metaClass)
boolean
isOfType(Object instance, String metaClass)
void
load(StringProperties properties, IRelativePathResolver resolver)
protected void
loadModel()
boolean
owns(Object instance)
Used to test whether an object is contained in this model.void
setElementId(Object instance, String newId)
boolean
store()
boolean
store(String location)
-
Methods inherited from class org.eclipse.epsilon.eol.models.CachedModel
addToCache, allContents, clearCache, createInstance, deleteElement, dispose, getAllOfKindOrType, initCaches, isCachingEnabled, isConcurrent, isLoaded, load, removeFromCache, setCachingEnabled, setConcurrent, wrap
-
Methods inherited from class org.eclipse.epsilon.eol.models.Model
allInstances, createInstance, getAliases, getFullyQualifiedTypeNameOf, getMetamodel, getName, getPropertySetter, getTransactionSupport, getTypeOf, isModelElement, isPropertySet, isReadOnLoad, isStoredOnDisposal, knowsAboutProperty, load, load, setName, setReadOnLoad, setStoredOnDisposal
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.epsilon.eol.models.IModel
checkAmbiguity, close
-
-
-
-
Field Detail
-
visitor
protected ReflectiveASTVisitor visitor
-
resolveBindings
protected boolean resolveBindings
-
projects
protected List<org.eclipse.jdt.core.IJavaProject> projects
-
propertyGetter
protected JdtPropertyGetter propertyGetter
-
PROPERTY_PROJECTS
public static final String PROPERTY_PROJECTS
- See Also:
- Constant Field Values
-
PROPERTY_RESOLVE_BINDINGS
public static final String PROPERTY_RESOLVE_BINDINGS
- See Also:
- Constant Field Values
-
-
Method Detail
-
getEnumerationValue
public Object getEnumerationValue(String enumeration, String label) throws EolEnumerationValueNotFoundException
-
getTypeNameOf
public String getTypeNameOf(Object instance)
Description copied from interface:IModel
Returns a string representing the type of the instance object. The value returned by this function can be passed to createInstance to instantiate another object of the same type as instance.- Parameters:
instance
- The model object whose type is to be determined.- Returns:
- the name of the type of the model object, instance.
-
owns
public boolean owns(Object instance)
Description copied from interface:IModel
Used to test whether an object is contained in this model.- Parameters:
instance
- the Java object to test.- Returns:
- true if and only if instance is contained by this model.
-
isInstantiable
public boolean isInstantiable(String type)
-
getAllOfType
public Collection<Object> getAllOfType(String type) throws EolModelElementTypeNotFoundException
- Specified by:
getAllOfType
in interfaceIModel
- Overrides:
getAllOfType
in classCachedModel<Object>
- Throws:
EolModelElementTypeNotFoundException
-
getAllOfKind
public Collection<Object> getAllOfKind(String type) throws EolModelElementTypeNotFoundException
- Specified by:
getAllOfKind
in interfaceIModel
- Overrides:
getAllOfKind
in classCachedModel<Object>
- Throws:
EolModelElementTypeNotFoundException
-
hasType
public boolean hasType(String type)
-
store
public boolean store(String location)
-
store
public boolean store()
-
allContentsFromModel
protected Collection<Object> allContentsFromModel()
- Specified by:
allContentsFromModel
in classCachedModel<Object>
-
getAllOfTypeFromModel
protected Collection<Object> getAllOfTypeFromModel(String type) throws EolModelElementTypeNotFoundException
- Specified by:
getAllOfTypeFromModel
in classCachedModel<Object>
- Throws:
EolModelElementTypeNotFoundException
-
getAllOfKindFromModel
protected Collection<Object> getAllOfKindFromModel(String kind) throws EolModelElementTypeNotFoundException
- Specified by:
getAllOfKindFromModel
in classCachedModel<Object>
- Throws:
EolModelElementTypeNotFoundException
-
createInstanceInModel
protected Object createInstanceInModel(String type) throws EolModelElementTypeNotFoundException, EolNotInstantiableModelElementTypeException
- Specified by:
createInstanceInModel
in classCachedModel<Object>
- Throws:
EolModelElementTypeNotFoundException
EolNotInstantiableModelElementTypeException
-
load
public void load(StringProperties properties, IRelativePathResolver resolver) throws EolModelLoadingException
- Specified by:
load
in interfaceIModel
- Overrides:
load
in classCachedModel<Object>
- Throws:
EolModelLoadingException
-
loadModel
protected void loadModel() throws EolModelLoadingException
- Specified by:
loadModel
in classCachedModel<Object>
- Throws:
EolModelLoadingException
-
disposeModel
protected void disposeModel()
- Specified by:
disposeModel
in classCachedModel<Object>
-
deleteElementInModel
protected boolean deleteElementInModel(Object instance) throws EolRuntimeException
Description copied from class:CachedModel
Returns true iff the given instance was deleted from the model.- Specified by:
deleteElementInModel
in classCachedModel<Object>
- Throws:
EolRuntimeException
-
getCacheKeyForType
protected Object getCacheKeyForType(String type) throws EolModelElementTypeNotFoundException
Description copied from class:CachedModel
Returns an identity for the given type, which will be used byCachedModel
as a key for the memoization of model elements by type.- Specified by:
getCacheKeyForType
in classCachedModel<Object>
- Throws:
EolModelElementTypeNotFoundException
-
isOfKind
public boolean isOfKind(Object instance, String metaClass) throws EolModelElementTypeNotFoundException
- Specified by:
isOfKind
in interfaceIModel
- Overrides:
isOfKind
in classModel
- Throws:
EolModelElementTypeNotFoundException
-
isOfType
public boolean isOfType(Object instance, String metaClass) throws EolModelElementTypeNotFoundException
- Specified by:
isOfType
in interfaceIModel
- Overrides:
isOfType
in classModel
- Throws:
EolModelElementTypeNotFoundException
-
getAllTypeNamesOf
protected Collection<String> getAllTypeNamesOf(Object instance)
Description copied from class:CachedModel
Returns the fully qualified names of every type to which the given object conforms. The values are used by byCachedModel
for the memoization of model elements by their kind (CachedModel.getAllOfKind(String)
).- Specified by:
getAllTypeNamesOf
in classCachedModel<Object>
-
getPropertyGetter
public IPropertyGetter getPropertyGetter()
- Specified by:
getPropertyGetter
in interfaceIModel
- Overrides:
getPropertyGetter
in classModel
-
-