Class InsertColumnOperationBase

    • Field Detail

      • POSITION_ARGUMENT

        public static final java.lang.String POSITION_ARGUMENT
        The insertPosition argument descriptor.
        See Also:
        Constant Field Values
      • INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR

        public static final ArgumentDescriptor INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR
        The insertMultipleColumns argument descriptor.
      • POSITION_ARGUMENT_DESCRIPTOR

        public static final ArgumentDescriptor POSITION_ARGUMENT_DESCRIPTOR
        The position argument descriptor.
    • Constructor Detail

      • InsertColumnOperationBase

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

      • performInsertColumn

        public void performInsertColumn​(AuthorAccess authorAccess,
                                        java.lang.String namespace,
                                        AuthorDocumentFragment[] fragments,
                                        TableColumnSpecificationInformation columnSpecification,
                                        boolean cellsFragments,
                                        InsertRowOperationBase insertRowOperation,
                                        InsertTableOperationBase insertTableOperation)
                                 throws AuthorOperationException
        Insert column.
        Parameters:
        authorAccess - The author access.
        namespace - The cells namespace.
        fragments - An array of AuthorDocumentFragments that are used as content of the inserted cells.
        columnSpecification - The column specification data.
        cellsFragments - If the value is true then the fragments where originally cells.
        insertRowOperation - The insert row operation used to insert new rows when there are fragments that cannot be inserted in the new column.
        insertTableOperation - The insert table operation used to insert the column wrapped in a new table when the insert offset is not inside a table.
        Throws:
        java.lang.IllegalArgumentException
        AuthorOperationException
      • insertColumns

        public void insertColumns​(AuthorAccess authorAccess,
                                  AuthorElement tableElement,
                                  java.lang.String namespace,
                                  java.lang.String insertPosition,
                                  int caretOffset,
                                  int noOfColumnsToBeInserted)
                           throws javax.swing.text.BadLocationException,
                                  AuthorOperationException
        Insert columns in a table
        Parameters:
        authorAccess - The author access.
        tableElement - The table element.
        namespace - The table elements namespace.
        insertPosition - The insert position. One of AuthorConstants.POSITION_AFTER or AuthorConstants.POSITION_BEFORE constants.
        caretOffset - The caret offset.
        noOfColumnsToBeInserted - The number of columns to be inserted.
        Throws:
        javax.swing.text.BadLocationException
        AuthorOperationException
      • insertColumns

        public void insertColumns​(AuthorAccess authorAccess,
                                  java.lang.String namespace,
                                  java.lang.String insertPosition,
                                  AuthorDocumentFragment[] fragments,
                                  TableColumnSpecificationInformation columnSpecification,
                                  boolean cellsFragments,
                                  InsertRowOperationBase insertRowOperation,
                                  int caretOffset,
                                  int noOfColumnsToBeInserted,
                                  AuthorElement tableElement)
                           throws javax.swing.text.BadLocationException,
                                  AuthorOperationException
        Insert columns in a table
        Parameters:
        authorAccess - The author access.
        namespace - The table elements namespace.
        insertPosition - The insert position. One of AuthorConstants.POSITION_AFTER or AuthorConstants.POSITION_BEFORE constants.
        fragments - The fragments to be inserted in cells
        columnSpecification - Column specification information
        cellsFragments - If the value is true then the fragments where originally cells.
        insertRowOperation - Insert row operation.
        caretOffset - The caret offset.
        noOfColumnsToBeInserted - The number of columns to be inserted.
        tableElement - The table element.
        Throws:
        javax.swing.text.BadLocationException
        AuthorOperationException
      • updateColumnCellsSpan

        protected void updateColumnCellsSpan​(AuthorAccess authorAccess,
                                             AuthorTableCellSpanProvider tableSupport,
                                             AuthorElement tableElem,
                                             int newColumnIndex,
                                             TableColumnSpecificationInformation columnSpecification,
                                             java.lang.String namespace,
                                             int noOfColumnsToBeInserted)
                                      throws AuthorOperationException
        Increments the column span of the cells intersecting the new column. A cell intersects the column to insert if its start column index is less than the new column index and the end column index of the cell is greater or equal than the new column (startColSpan < newColumnIndex && endColSpan >= newColumnIndex).
        Parameters:
        authorAccess - The author access. Provides access to specific informations and actions for editor, document, workspace, tables, change tracking, utility a.s.o.
        tableSupport - The table cell span provider.
        tableElem - The table element.
        newColumnIndex - The index of the column to insert.
        columnSpecification - The table column specification data.
        namespace - The namespace to be used.
        noOfColumnsToBeInserted - The number of columns to be inserted.
        Throws:
        AuthorOperationException - When the insertion fails.
      • getDescription

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

        protected abstract java.lang.String getCellElementName​(AuthorElement rowElement,
                                                               int newColumnIndex)
        Get the name of the element that will be inserted as a cell into the table.
        Parameters:
        rowElement - The row element where the new cell will be inserted.
        newColumnIndex - The new column index. 0 based.
        Returns:
        The name of cell element.
      • 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
      • removeMultipleInsertionDescriptor

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