Package org.eclipse.epsilon.emc.plainxml
Class PlainXmlModel
- All Implemented Interfaces:
AutoCloseable
,IOperationContributorProvider
,IModel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.epsilon.eol.models.IModel
IModel.AmbiguityCheckResult
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
protected Document
protected static final String
protected File
protected String
protected PlainXMLOperationContributor
static final String
static final String
protected String
protected String
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, propertyGetter, propertySetter, readOnLoad, storeOnDisposal
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<Element>
void
bind
(String sourceTag, String sourceAttribute, String targetTag, String targetAttribute, boolean many) void
collectAllElements
(Node root, Collection<Element> elements) createInstance
(String type, Collection<Object> parameters) protected Element
createInstanceInModel
(String type) protected boolean
deleteElementInModel
(Object instance) Returns true iff the given instance was deleted from the model.protected void
protected Collection<Element>
getAllOfKindFromModel
(String type) protected Collection<Element>
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.getElementById
(String id) getElementId
(Object instance) getEnumerationValue
(String enumeration, String label) getFile()
getRoot()
getTypeNameOf
(Object instance) Returns a string representing the type of the instance object.getUri()
getXml()
boolean
boolean
isInstantiable
(String type) boolean
isLoaded()
Convenience method for determining when a model has been loaded.boolean
isModelElement
(Object instance) Used to test whether a Java object can be contained by this model.void
load
(StringProperties properties, IRelativePathResolver resolver) protected void
boolean
Used to test whether an object is contained in this model.void
setElementId
(Object instance, String newId) void
void
setIdAttributeName
(String idAttributeName) void
void
void
boolean
store()
boolean
boolean
tagMatches
(Element element, String name) Methods inherited from class org.eclipse.epsilon.eol.models.CachedModel
addToCache, allContents, clearCache, createInstance, deleteElement, dispose, getAllOfKind, getAllOfKindOrType, getAllOfType, initCaches, isCachingEnabled, isConcurrent, load, removeFromCache, setCachingEnabled, setConcurrent, wrap
Methods inherited from class org.eclipse.epsilon.eol.models.Model
allInstances, getAliases, getFullyQualifiedTypeNameOf, getMetamodel, getName, getPropertyGetter, getPropertySetter, getTransactionSupport, isOfKind, isOfType, 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 Details
-
idAttributeName
-
document
-
uri
-
file
-
xml
-
operationContributor
-
createdElements
-
bindings
-
ELEMENT_TYPE
- See Also:
-
DEFAULT_NEW_TAG_NAME
- See Also:
-
PROPERTY_FILE
- See Also:
-
PROPERTY_URI
- See Also:
-
-
Constructor Details
-
PlainXmlModel
public PlainXmlModel()
-
-
Method Details
-
getRoot
-
setRoot
-
allContentsFromModel
- Specified by:
allContentsFromModel
in classCachedModel<Element>
-
getBindings
-
getUri
-
setUri
-
getXml
-
setXml
-
getFile
-
setFile
-
getDocument
-
bind
-
isLoaded
public boolean isLoaded()Description copied from class:CachedModel
Convenience method for determining when a model has been loaded.- Overrides:
isLoaded
in classCachedModel<Element>
- Returns:
- Whether the cache has been populated.
- Since:
- 1.6
-
createInstanceInModel
protected Element createInstanceInModel(String type) throws EolModelElementTypeNotFoundException, EolNotInstantiableModelElementTypeException - Specified by:
createInstanceInModel
in classCachedModel<Element>
- Throws:
EolModelElementTypeNotFoundException
EolNotInstantiableModelElementTypeException
-
createInstance
public Element createInstance(String type, Collection<Object> parameters) throws EolModelElementTypeNotFoundException, EolNotInstantiableModelElementTypeException - Specified by:
createInstance
in interfaceIModel
- Overrides:
createInstance
in classModel
- Throws:
EolModelElementTypeNotFoundException
EolNotInstantiableModelElementTypeException
-
deleteElementInModel
Description copied from class:CachedModel
Returns true iff the given instance was deleted from the model.- Specified by:
deleteElementInModel
in classCachedModel<Element>
- Throws:
EolRuntimeException
-
collectAllElements
-
getAllOfKindFromModel
protected Collection<Element> getAllOfKindFromModel(String type) throws EolModelElementTypeNotFoundException - Specified by:
getAllOfKindFromModel
in classCachedModel<Element>
- Throws:
EolModelElementTypeNotFoundException
-
getAllOfTypeFromModel
protected Collection<Element> getAllOfTypeFromModel(String type) throws EolModelElementTypeNotFoundException - Specified by:
getAllOfTypeFromModel
in classCachedModel<Element>
- Throws:
EolModelElementTypeNotFoundException
-
tagMatches
-
disposeModel
protected void disposeModel()- Specified by:
disposeModel
in classCachedModel<Element>
-
getElementById
- Specified by:
getElementById
in interfaceIModel
-
getElementId
- Specified by:
getElementId
in interfaceIModel
-
setElementId
- Specified by:
setElementId
in interfaceIModel
-
setIdAttributeName
-
getIdAttributeName
-
getEnumerationValue
public Object getEnumerationValue(String enumeration, String label) throws EolEnumerationValueNotFoundException - Specified by:
getEnumerationValue
in interfaceIModel
- Throws:
EolEnumerationValueNotFoundException
-
getTypeNameOf
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.- Specified by:
getTypeNameOf
in interfaceIModel
- Parameters:
instance
- The model object whose type is to be determined.- Returns:
- the name of the type of the model object, instance.
-
getCacheKeyForType
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<Element>
- Throws:
EolModelElementTypeNotFoundException
-
getAllTypeNamesOf
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<Element>
-
getTypeOf
-
hasType
-
isInstantiable
- Specified by:
isInstantiable
in interfaceIModel
-
isModelElement
Description copied from interface:IModel
Used to test whether a Java object can be contained by this model. For example, EMF models can contain instances of EObject, but not instances of just Object.- Specified by:
isModelElement
in interfaceIModel
- Overrides:
isModelElement
in classModel
- Parameters:
instance
- the Java object to test.- Returns:
- true if and only if instance can be contained by this model.
-
loadModel
- Specified by:
loadModel
in classCachedModel<Element>
- Throws:
EolModelLoadingException
-
load
public void load(StringProperties properties, IRelativePathResolver resolver) throws EolModelLoadingException - Specified by:
load
in interfaceIModel
- Overrides:
load
in classCachedModel<Element>
- Throws:
EolModelLoadingException
-
owns
Description copied from interface:IModel
Used to test whether an object is contained in this model. -
store
-
store
public boolean store() -
getOperationContributor
- Specified by:
getOperationContributor
in interfaceIOperationContributorProvider
-