Class InsertRowOperationBase

    • Field Detail

      • CUSTOM_INSERTION_ARGUMENT_DESCRIPTOR

        protected static final ArgumentDescriptor CUSTOM_INSERTION_ARGUMENT_DESCRIPTOR
        Argument descriptor for the argument that specifies whether a custom insertion should be used.
    • Constructor Detail

      • InsertRowOperationBase

        public InsertRowOperationBase​(AuthorTableHelper documentTypeHelper)
        Constructor.
        Parameters:
        documentTypeHelper - Author Document type helper, has methods specific to a document type.
    • Method Detail

      • insertRows

        public void insertRows​(AuthorAccess authorAccess,
                               java.lang.String xPathLocation,
                               java.lang.String namespace,
                               AuthorNode nodeAtCaret,
                               AuthorElement tableElement,
                               int noOfRowsToBeInserted,
                               java.lang.String relativePosition)
                        throws javax.swing.text.BadLocationException,
                               AuthorOperationException
        Insert rows.
        Parameters:
        authorAccess - The author access.
        xPathLocation - The xPath location.
        namespace - The rows namespace.
        nodeAtCaret - The node at caret
        tableElement - The parent table element.
        noOfRowsToBeInserted - Number of rows to be inserted.
        relativePosition - One of AuthorConstants.POSITION_AFTER or AuthorConstants.POSITION_BEFORE constants.
        Throws:
        javax.swing.text.BadLocationException
        AuthorOperationException
      • getRowXMLFragment

        public java.lang.String getRowXMLFragment​(AuthorAccess authorAccess,
                                                  AuthorElement tableElement,
                                                  java.lang.String namespace,
                                                  java.lang.String newCellFragment,
                                                  int newCellColumnIndex,
                                                  int initialNumberOfColumns)
                                           throws javax.swing.text.BadLocationException
        Creates the XML fragment representing a new table row to be inserted.
        Parameters:
        authorAccess - The author access.
        tableElement - The table element.
        namespace - The namespace of the table row.
        newCellFragment - The row will contain an additional cell added at the given column index.
        newCellColumnIndex - The column index of the additional cell
        initialNumberOfColumns - The initial number of columns.
        Returns:
        The XML fragment to be inserted.
        Throws:
        javax.swing.text.BadLocationException
      • createCellXMLFragment

        protected java.lang.String createCellXMLFragment​(AuthorElement cell,
                                                         java.lang.String[] skippedAttributes,
                                                         java.lang.String[] allowedAttributes,
                                                         java.lang.String cellContent)
                                                  throws javax.swing.text.BadLocationException
        Create a cell XML fragment by copying the element and attributes from a given cell element.
        Parameters:
        cell - The cell to copy the element name and attributes from.
        skippedAttributes - List of skipped attributes names.
        cellContent - The cell content.
        Returns:
        The cell fragment.
        Throws:
        javax.swing.text.BadLocationException
      • getDescription

        public java.lang.String getDescription()
        Returns:
        The description of the extension.
        See Also:
        Extension.getDescription()
      • getCellElementName

        protected abstract java.lang.String getCellElementName​(AuthorElement tableElement,
                                                               int columnIndex)
        Get the name of the element that represents a cell.
        Parameters:
        tableElement - The table element
        columnIndex - The column index.
        Returns:
        The name of the element that represent a cell in the table.
      • getRowElementName

        protected abstract java.lang.String getRowElementName​(AuthorElement tableElement)
        Get the name of the element that represents a row.
        Parameters:
        tableElement - The table parent element.
        Returns:
        The name of the element that represent a row in the table.
      • useCurrentRowTemplateOnInsert

        protected boolean useCurrentRowTemplateOnInsert()
        Returns:
        true if the current row template should be used to create the new row that must be inserted. Default: false
      • getDefaultContentForEmptyCells

        protected java.lang.String getDefaultContentForEmptyCells()
        Get the default content that must be introduced in empty cells.
        Returns:
        The default content that must be introduced in empty cells. Default: null.
        Since:
        14.1
      • removeCustomInsertionDescriptor

        protected static ArgumentDescriptor[] removeCustomInsertionDescriptor​(ArgumentDescriptor[] superArguments)
        Removes the argument descriptor for custom insertion from an arguments list.
        Parameters:
        superArguments - The input arguments list.
        Returns:
        The filtered arguments list.