Interface IReflectiveModel

All Superinterfaces:
AutoCloseable, IModel
All Known Implementing Classes:
AbstractReflectiveEmfModel, CDOModel, DecoratorEmfModel, EmfM0Model, EmfModel, HutnModel, InMemoryEmfModel, InMemoryFlexmiModel, JavaModel, ReflectiveModelReference, UmlModel, XmlModel

public interface IReflectiveModel extends IModel
  • Method Details

    • 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

      Object getContainerOf(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

      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(String type, String property) throws EolModelElementTypeNotFoundException
      Throws:
      EolModelElementTypeNotFoundException
    • isEnumerationValue

      boolean isEnumerationValue(Object object)
      Returns true iff object is an enumeration value.
    • getEnumerationTypeOf

      String getEnumerationTypeOf(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

      String getEnumerationLabelOf(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(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 -