Interface ProtectedNodeImporter

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void end​(NodeImpl protectedParent)
      Informs this importer that the tree to be imported below protectedParent has bee completed.
      void end​(NodeState protectedParent)
      Informs this importer that the tree to be imported below protectedParent has bee completed.
      void endChildInfo()
      Informs this importer about the end of a child info.
      boolean start​(NodeImpl protectedParent)
      Notifies this importer about the existence of a protected node that has either been created (NEW) or has been found to be existing.
      boolean start​(NodeState protectedParent)
      Notifies this importer about the existence of a protected node that has either been created (NEW) or has been found to be existing.
      void startChildInfo​(NodeInfo childInfo, List<PropInfo> propInfos)
      Informs this importer about a new childInfo and it's properties.
    • Method Detail

      • start

        boolean start​(NodeImpl protectedParent)
               throws IllegalStateException,
                      RepositoryException
        Notifies this importer about the existence of a protected node that has either been created (NEW) or has been found to be existing. This importer implementation is in charge of evaluating the nature of that protected node in order to determine, if it is able to handle subsequent protected or non-protected child nodes in the tree below that parent.
        Parameters:
        protectedParent - A protected node that has either been created during the current XML import or that has been found to be existing without allowing same-name siblings.
        Returns:
        true If this importer is able to deal with the tree that may be present below the given protected Node.
        Throws:
        IllegalStateException - If this method is called on this importer without having reached end(NodeImpl).
        RepositoryException - If an error occurs.
      • start

        boolean start​(NodeState protectedParent)
               throws IllegalStateException,
                      RepositoryException
        Notifies this importer about the existence of a protected node that has either been created (NEW) or has been found to be existing. This importer implementation is in charge of evaluating the nature of that protected node in order to determine, if it is able to handle subsequent protected or non-protected child nodes in the tree below that parent.
        Parameters:
        protectedParent - A protected node that has either been created during the current XML import or that has been found to be existing without allowing same-name siblings.
        Returns:
        true If this importer is able to deal with the tree that may be present below the given protected NodeState.
        Throws:
        IllegalStateException - If this method is called on this importer without having reached end(NodeState).
        RepositoryException - If an error occurs.
      • startChildInfo

        void startChildInfo​(NodeInfo childInfo,
                            List<PropInfo> propInfos)
                     throws IllegalStateException,
                            ConstraintViolationException,
                            RepositoryException
        Informs this importer about a new childInfo and it's properties. If the importer is able to successfully import the given information this method returns silently. Otherwise ConstraintViolationException is thrown, in which case the whole import fails.

        In case this importer deals with multiple levels of nodes, it is in charge of maintaining the hierarchical structure (see also {#link endChildInfo()}.

        If start(NodeImpl) hasn't been called before, this method returns silently.

        Parameters:
        childInfo -
        propInfos -
        Throws:
        IllegalStateException - If called in an illegal state.
        ConstraintViolationException - If the given infos contain invalid or incomplete data and therefore cannot be properly handled by this importer.
        RepositoryException - If another error occurs.