Class PamelaMetaModel


  • public class PamelaMetaModel
    extends java.lang.Object
    A PamelaMetaModel represents a PAMELA meta-model dynamically infered from the exploration of compiled code
    Build and access to a PamelaMetaModel should be performed using API provided by PamelaMetaModelLibrary
    • Method Detail

      • getBaseClass

        public java.lang.Class<?> getBaseClass()
      • getModelEntity

        public ModelEntity<?> getModelEntity​(java.lang.String xmlElementName)
      • getEntities

        public java.util.Iterator<ModelEntity> getEntities()
      • getEntityCount

        public int getEntityCount()
      • getModelEntity

        public <I> ModelEntity<I> getModelEntity​(java.lang.Class<I> implementedInterface)
      • getPropertyForXMLTag

        public <I> ModelPropertyXMLTag<I> getPropertyForXMLTag​(ModelEntity<I> entity,
                                                               PamelaModelFactory pamelaModelFactory,
                                                               java.lang.String xmlTag)
                                                        throws ModelDefinitionException
        Return the appropriate ModelPropertyXMLTag matching searched XML Tag, supplied as parameter (xmlTag).
        Note that required parameters include the entity which gives the context where such XML tag is to be looked-up, and the PamelaModelFactory to use.
        TODO: Also note that this implementation is not safe when using multiple factories, because caching is performed whithout taking modelFactory under account.
        Parameters:
        entity -
        pamelaModelFactory -
        xmlTag -
        Returns:
        Throws:
        ModelDefinitionException
      • getUpperEntities

        public java.util.List<ModelEntity<?>> getUpperEntities​(java.lang.Object object)
      • debug

        public java.lang.String debug()
      • getExecutionMonitors

        public java.util.Set<ExecutionMonitor> getExecutionMonitors()
      • removeExecutionMonitor

        public boolean removeExecutionMonitor​(ExecutionMonitor m)
      • getPatternDefinitions

        public <P extends PatternDefinition> java.util.List<P> getPatternDefinitions​(java.lang.Class<P> patternDefinitionClass)
      • notifiedNewInstance

        public <I> void notifiedNewInstance​(I newInstance,
                                            ModelEntity<I> modelEntity)
      • isMethodInvolvedInPattern

        public boolean isMethodInvolvedInPattern​(java.lang.reflect.Method method)
      • registerStakeHolderForPatternInstance

        public void registerStakeHolderForPatternInstance​(java.lang.Object stakeHolder,
                                                          java.lang.String role,
                                                          PatternInstance<?> patternInstance)
      • getPatternInstances

        public java.util.Set<PatternInstance<?>> getPatternInstances​(java.lang.Object stakeholder)