Class AbstractRepository

  • All Implemented Interfaces:
    com.nomagic.uml2.ext.jmi.MapOwner, AbstractRefBaseObject, com.nomagic.uml2.ext.jmi.reflect.RepositoryProvider, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefPackage

    public abstract class AbstractRepository
    extends AbstractRefPackage
    • Field Detail

      • objectCount

        private final java.util.concurrent.atomic.AtomicLong objectCount
      • version

        private final java.util.concurrent.atomic.AtomicLong version
      • enumMap

        private final java.util.Map<java.lang.String,​javax.jmi.reflect.RefEnum> enumMap
      • interfacePackagePrefixToRefPackage

        protected java.util.Map interfacePackagePrefixToRefPackage
      • interfacePackagePrefixes

        protected java.util.Collection interfacePackagePrefixes
      • eventSupport

        private com.nomagic.uml2.ext.jmi.EventSupport eventSupport
      • mofRepository

        protected com.io_software.catools.tas.mof.TASMofRepository mofRepository
      • alive

        private boolean alive
      • project

        private com.nomagic.uml2.ext.jmi.reflect.ElementRegistry project
      • canSetID

        private boolean canSetID
      • idCounter

        private com.nomagic.utils.Counter idCounter
      • valuesTable

        private final com.nomagic.uml2.impl.ValuesTable valuesTable
      • rawMode

        private boolean rawMode
      • candidatesForDispose

        private final java.util.Set<javax.jmi.reflect.RefObject> candidatesForDispose
    • Constructor Detail

      • AbstractRepository

        public AbstractRepository()
    • Method Detail

      • isFullPreLoad

        public boolean isFullPreLoad()
      • getVersion

        public long getVersion()
        Returns the repository version. It is a number that will be increased after any repository change.
        Returns:
        repository version.
      • nextVersion

        public void nextVersion()
        Sets new repository version.
      • setEventSupport

        protected void setEventSupport​(com.nomagic.uml2.ext.jmi.EventSupport eventSupport)
      • setElementsFactory

        public void setElementsFactory​(ElementsFactory elementsFactory)
      • setTransactionManager

        public void setTransactionManager​(TransactionManager modelTransactionImpl)
      • getElementById

        @CheckForNull
        public javax.jmi.reflect.RefObject getElementById​(java.lang.String id)
        Returns:
        element registered with such id.
      • checkAlive

        protected void checkAlive()
      • isAlive

        public boolean isAlive()
        Returns:
        true if repository is not killed.
      • kill

        public void kill()
        Destroys repository.
      • classProxies

        protected void classProxies()
      • getMofRepository

        public com.io_software.catools.tas.mof.TASMofRepository getMofRepository()
      • createMap

        public java.util.Map createMap​(com.nomagic.uml2.ext.jmi.MapOwner owner,
                                       java.lang.String mapName)
      • getEventSupport

        public com.nomagic.uml2.ext.jmi.EventSupport getEventSupport()
        Returns:
        Event support for this repository
      • registerElement

        public void registerElement​(javax.jmi.reflect.RefBaseObject object)
      • getObjectsCount

        public int getObjectsCount()
      • unRegisterElement

        public void unRegisterElement​(javax.jmi.reflect.RefBaseObject object)
      • getRepository

        public AbstractRepository getRepository()
        Specified by:
        getRepository in interface AbstractRefBaseObject
        Specified by:
        getRepository in interface com.nomagic.uml2.ext.jmi.reflect.RepositoryProvider
        Overrides:
        getRepository in class com.nomagic.uml2.ext.jmi.reflect.AbstractRefBaseObjectImpl
      • getProject

        public com.nomagic.uml2.ext.jmi.reflect.ElementRegistry getProject()
      • setProject

        public void setProject​(com.nomagic.uml2.ext.jmi.reflect.ElementRegistry project)
      • refGetEnum

        @CheckForNull
        public javax.jmi.reflect.RefEnum refGetEnum​(java.lang.String enumName,
                                                    java.lang.String args)
        Description copied from class: AbstractRefPackage
        The refGetEnum operation returns the instance of an enumeration (i.e., an enumeration literal) whose value is described by the value of literalName . Note that the type of enumeration is defined by the meta object that owns the metaLiteral object. InvalidCallException is raised if the enumType parameter does not designate a valid enumeration. InvalidNameException is raised when the enumName does not denote a valid enum name. This refGetEnum returns the enumeration object representing the enumeration literal. specific analog: none. return type: RefEnum parameters: RefObject enumType (or String enumName ) String literalName exceptions: JmiException (TypeMismatchException, InvalidCallException, InvalidNameException, java.lang.NullPointerException)
        Specified by:
        refGetEnum in interface javax.jmi.reflect.RefPackage
        Overrides:
        refGetEnum in class AbstractRefPackage
      • getMetamodelProvider

        public com.io_software.catools.tas.mof.TASRepository getMetamodelProvider()
      • getCounter

        public com.nomagic.utils.Counter getCounter()
        Standalone repositories (those, having no Project object) can have a separate counter assigned to them.
      • setCounter

        public void setCounter​(com.nomagic.utils.Counter count)
        Standalone repositories (those, having no Project object) can have a separate counter assigned to them.
      • canSetID

        public boolean canSetID()
      • setCanSetID

        public void setCanSetID​(boolean canSetID)
        Parameters:
        canSetID - The canSetID to set.
      • getValuesTable

        public com.nomagic.uml2.impl.ValuesTable getValuesTable()
      • invokeAfterTransaction

        public void invokeAfterTransaction​(java.lang.Runnable r)
        If at the current moment firing cached events, running runnable after these events are fired. Running now in other case.
        Parameters:
        r - Runnable to run.
      • isRawMode

        public boolean isRawMode()
        Raw mode is when binary associations is not synchronized. For example when raw mode is off setting owner element is added to the owned elements. For normal operations raw mode should be switched off.
      • setRawMode

        public void setRawMode​(boolean rawMode)
        Raw mode is when binary associations is not synchronized. For example when raw mode is off setting owner element is added to the owned elements. For normal operations raw mode should be switched off.
        Parameters:
        rawMode - new RawModeValue.
      • getTransactionModelListener

        public ModelListener getTransactionModelListener()
      • setTransactionModelListener

        public void setTransactionModelListener​(ModelListener listener)
      • addCandidateForDispose

        public void addCandidateForDispose​(javax.jmi.reflect.RefObject object)
      • removeCandidateForDispose

        public void removeCandidateForDispose​(javax.jmi.reflect.RefObject object)
      • getCandidatesForDispose

        public java.util.Set<javax.jmi.reflect.RefObject> getCandidatesForDispose()
      • clearCandidatesForDispose

        public void clearCandidatesForDispose()