org.eclipse.epsilon.eol.models
Interface IReflectiveModel

All Superinterfaces:
IModel
All Known Implementing Classes:
DecoratorEmfModel, EmfM0Model, EmfModel, HutnModel, InMemoryEmfModel, JavaModel, ReflectiveModelReference, UmlModel

public interface IReflectiveModel
extends IModel


Method Summary
 java.lang.Object getContainerOf(java.lang.Object object)
          Returns the model element that contains the given model element, or null if the given model element is top-level.
 java.lang.String getEnumerationLabelOf(java.lang.Object literal)
          Returns the enumeration label of the literal parameter.
 java.lang.String getEnumerationTypeOf(java.lang.Object literal)
          Returns the name of the enumeration type of the literal parameter.
 java.util.Collection<java.lang.String> getPropertiesOf(java.lang.String type)
          Returns a collection containing all of the properties that instances of type know about.
 IReflectivePropertySetter getPropertySetter()
           
 boolean hasPackage(java.lang.String packageName)
          Returns true iff this model contains a package with the given name.
 boolean hasProperty(java.lang.String type, java.lang.String property)
           
 boolean isEnumerationValue(java.lang.Object object)
          Returns true iff object is an enumeration value.
 boolean preventLoadingOfExternalModelElements()
          Prevents the loading of model elements that are referenced by this model but are not contained in this model.
 
Methods inherited from interface org.eclipse.epsilon.eol.models.IModel
allContents, createInstance, createInstance, deleteElement, dispose, getAliases, getAllOfKind, getAllOfType, getElementById, getElementId, getEnumerationValue, getFullyQualifiedTypeNameOf, getName, getPropertyGetter, getTransactionSupport, getTypeNameOf, getTypeOf, hasType, isInstantiable, isModelElement, isOfKind, isOfType, isReadOnLoad, isStoredOnDisposal, knowsAboutProperty, load, load, owns, setElementId, setName, setReadOnLoad, setStoredOnDisposal, store, store
 

Method Detail

preventLoadingOfExternalModelElements

boolean preventLoadingOfExternalModelElements()
Prevents the loading of model elements that are referenced by this model but are not contained in this model. This is useful for clients, such as Epsilon Flock, which create a clone or conservative copy of this model.

Returns:
true iff this method had an effect (i.e. when this model supports external references, was configured to load external references and is no longer configured to load external references).

getContainerOf

java.lang.Object getContainerOf(java.lang.Object object)
Returns the model element that contains the given model element, or null if the given model element is top-level.

Parameters:
object - The model element whose container is to be found.
Returns:
the model element that contains object, or null if object is not contained in any other model element.

getPropertiesOf

java.util.Collection<java.lang.String> getPropertiesOf(java.lang.String type)
                                                       throws EolModelElementTypeNotFoundException
Returns a collection containing all of the properties that instances of type know about.

Parameters:
type - The type of model object whose properties are to be determined.
Returns:
all of the properties that instances of type knows about.
Throws:
EolModelElementTypeNotFoundException - when this model has no such type

getPropertySetter

IReflectivePropertySetter getPropertySetter()
Specified by:
getPropertySetter in interface IModel

hasProperty

boolean hasProperty(java.lang.String type,
                    java.lang.String property)
                    throws EolModelElementTypeNotFoundException
Throws:
EolModelElementTypeNotFoundException

isEnumerationValue

boolean isEnumerationValue(java.lang.Object object)
Returns true iff object is an enumeration value.


getEnumerationTypeOf

java.lang.String getEnumerationTypeOf(java.lang.Object literal)
                                      throws EolNotAnEnumerationValueException
Returns the name of the enumeration type of the literal parameter.

Throws:
EolEnumerationTypeNotFoundException - when the enumeration type of literal is not present in this model
EolNotAnEnumerationValueException - when literal is not an enumeration value

getEnumerationLabelOf

java.lang.String getEnumerationLabelOf(java.lang.Object literal)
                                       throws EolNotAnEnumerationValueException
Returns the enumeration label of the literal parameter.

Throws:
EolEnumerationTypeNotFoundException - when the enumeration type of literal is not present in this model
EolNotAnEnumerationValueException - when literal is not an enumeration value

hasPackage

boolean hasPackage(java.lang.String packageName)
Returns true iff this model contains a package with the given name. In general, a "package" is a group of types (and potentially other packages) and a namespace for the grouped elements. The precise semantics of "package" is specific to the implementation. For example, an Ecore implementation might use EPackage. An XML implementation might use XML namespaces. A CSV implementation might not support any notion of packages (and hence always return false).

Parameters:
packageName -