Interface IMergeSession


  • public interface IMergeSession
    The merge session.

    Merge sessions are based on comparison sessions where the main data source is a V8 project.

    • Method Detail

      • getComparisonSession

        IComparisonSession getComparisonSession()
        Returns the comparison session this merge session is based on.
        Returns:
        the comparison session, never null
      • getBmModel

        IBmModel getBmModel()
        Returns the BM model.
        Returns:
        the BM model, never null
      • getMainDataSource

        IActiveComparisonDataSource getMainDataSource()
        Returns the main data source of the session.
        Returns:
        the main data source, never null
      • getMainRuntimeVersion

        Version getMainRuntimeVersion()
        Returns the runtime version of the main datasource.
        Returns:
        main datasource runtime version, never null
      • registerImportedObject

        void registerImportedObject​(ComparisonNode node,
                                    IBmObject importedObject)
        Registers a BM object imported during the merge of the specified node.
        Parameters:
        node - the node for which to register the imported object
        importedObject - the imported BM object
      • getImportedObjectId

        Long getImportedObjectId​(ComparisonNode node)
        Returns the id of the imported BM object registered for the specified node.
        Parameters:
        node - the node to get the id of the BM object imported and registered for it
        Returns:
        the imported object id or null
      • getImportedObjectSymlink

        String getImportedObjectSymlink​(String otherSymlink)
        In case when a partial other datasource object is to be merged according to current settings, returns the symbolic link of the object in terms of the main datasource, or null if the other object will not be imported.
        Parameters:
        otherSymlink - the symbolic link of the other object, not null
        Returns:
        a main symlink or null (if not imported)
      • registerRenamingObject

        void registerRenamingObject​(SymlinkComparisonNode node,
                                    String newSymlink)
        Registers a new symbolic link of the object to be renamed during the merge process.
        Parameters:
        node - the comparison node related to the renaming object, cannot be null
        newSymlink - the new symbolic link the object will have after renaming, cannot be null or empty
      • getMainSymlink

        String getMainSymlink​(SymlinkComparisonNode node)
        Gets actual symbolic link (a.k.a. FQN) of the object from the MAIN side during the merge process. The FQN can be changed if the object is going to be renamed, so all participants have to use this method during the merge phase to obtain actual symbolic link instead of direct ComparisonNode#getMainSymlink() method.
        Parameters:
        node - the comparison node related to the object to get main symbolic link for, cannot be null
        Returns:
        the actual symbolic link or null if there is no object from the MAIN side
      • registerRenamingObjectSymlink

        void registerRenamingObjectSymlink​(String currentSymlink,
                                           String newSymlink)
        Registers a new symbolic link of the object to be renamed during the merge process.
        Parameters:
        currentSymlink - the object symlink before rename operation, cannot be null
        newSymlink - the object symlink after rename operation, cannot be null
      • getRenamingObjectNewSymlink

        String getRenamingObjectNewSymlink​(String symlinkBeforeRename)
        Gets symbolic link of a renaming object after rename operation finish, if it registered by registerRenamingObjectSymlink(String, String).
        Parameters:
        symlinkBeforeRename - the object's symbolic link before renaming, cannot be null
        Returns:
        the actual object's symbolic link after renaming, may be null
      • addPostponedFileOperation

        void addPostponedFileOperation​(IPostponedFileOperation operation)
        Adds a postponed file operation.
        Parameters:
        operation - the postponed file operation, cannot be null
      • getPostponedFileOperations

        List<IPostponedFileOperation> getPostponedFileOperations()
        Gets the list of postponed file operations in the order of addition.
        Returns:
        the list of postponed file operations, never null
      • getLibraryDescriptorChangeType

        LibraryDescriptorChangeType getLibraryDescriptorChangeType()
        Returns the library descriptor change type during the merge.
        Returns:
        the library descriptor change type, never null