Class InsertColumnOperationBase
java.lang.Object
ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
ro.sync.ecss.extensions.commons.table.operations.InsertColumnOperationBase
- All Implemented Interfaces:
AuthorOperation
,Extension
- Direct Known Subclasses:
InsertColumnOperation
,InsertColumnOperation
,InsertColumnOperation
,InsertColumnOperation
,InsertColumnOperation
@API(type=INTERNAL,
src=PUBLIC)
public abstract class InsertColumnOperationBase
extends AbstractTableOperation
Operation used to insert a table column.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ArgumentDescriptor
TheinsertMultipleColumns
argument descriptor.static final String
TheinsertPosition
argument descriptor.static final ArgumentDescriptor
Theposition
argument descriptor.Fields inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
CHANGE_TRACKING_BEHAVIOR_ARGUMENT, TABLE_INFO_ARGUMENT_DESCRIPTOR, TABLE_INFO_ARGUMENT_NAME, tableHelper
Fields inherited from interface ro.sync.ecss.extensions.api.AuthorOperation
NAMESPACE_ARGUMENT, NAMESPACE_ARGUMENT_DESCRIPTOR, SCHEMA_AWARE_ARGUMENT, SCHEMA_AWARE_ARGUMENT_DESCRIPTOR
-
Constructor Summary
ConstructorsConstructorDescriptionInsertColumnOperationBase
(AuthorTableHelper documentTypeHelper) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doOperationInternal
(AuthorAccess authorAccess, ArgumentsMap args) Perform the actual operation.protected abstract String
getCellElementName
(AuthorElement rowElement, int newColumnIndex) Get the name of the element that will be inserted as a cell into the table.protected String
Get the default content that must be introduced in empty cells.Get the description for this operation.void
insertColumns
(AuthorAccess authorAccess, String namespace, String insertPosition, AuthorDocumentFragment[] fragments, TableColumnSpecificationInformation columnSpecification, boolean cellsFragments, InsertRowOperationBase insertRowOperation, int caretOffset, int noOfColumnsToBeInserted, AuthorElement tableElement) Insert columns in a tablevoid
insertColumns
(AuthorAccess authorAccess, AuthorElement tableElement, String namespace, String insertPosition, int caretOffset, int noOfColumnsToBeInserted) Insert columns in a tablevoid
performInsertColumn
(AuthorAccess authorAccess, String namespace, AuthorDocumentFragment[] fragments, TableColumnSpecificationInformation columnSpecification, boolean cellsFragments, InsertRowOperationBase insertRowOperation, InsertTableOperationBase insertTableOperation) Insert column.protected static ArgumentDescriptor[]
removeMultipleInsertionDescriptor
(ArgumentDescriptor[] superArguments) Removes the argument descriptor for multiple insertion from an arguments list.protected void
updateColumnCellsSpan
(AuthorAccess authorAccess, AuthorTableCellSpanProvider tableSupport, AuthorElement tableElem, int newColumnIndex, TableColumnSpecificationInformation columnSpecification, String namespace, int noOfColumnsToBeInserted) Increments the column span of the cells intersecting the new column.Methods inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
createEmptyCell, doOperation, findCellInsertionOffset, getElementAncestor, isElement, isTableElement
-
Field Details
-
POSITION_ARGUMENT
TheinsertPosition
argument descriptor.- See Also:
-
INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR
TheinsertMultipleColumns
argument descriptor. -
POSITION_ARGUMENT_DESCRIPTOR
Theposition
argument descriptor.
-
-
Constructor Details
-
InsertColumnOperationBase
Constructor.- Parameters:
documentTypeHelper
- Document type helper, has methods specific to a document type.
-
-
Method Details
-
doOperationInternal
protected void doOperationInternal(AuthorAccess authorAccess, ArgumentsMap args) throws AuthorOperationException Description copied from class:AbstractTableOperation
Perform the actual operation.- Specified by:
doOperationInternal
in classAbstractTableOperation
- Parameters:
authorAccess
- The author access. Provides access to specific informations and actions for editor, document, workspace, tables, change tracking, utility a.s.o.args
- The map of arguments. All the arguments defined by methodAuthorOperation.getArguments()
must be present in the map of arguments.- Throws:
AuthorOperationException
- Thrown when the operation fails.- See Also:
-
performInsertColumn
public void performInsertColumn(AuthorAccess authorAccess, 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 istrue
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:
IllegalArgumentException
AuthorOperationException
-
insertColumns
public void insertColumns(AuthorAccess authorAccess, AuthorElement tableElement, String namespace, String insertPosition, int caretOffset, int noOfColumnsToBeInserted) throws 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 ofAuthorConstants.POSITION_AFTER
orAuthorConstants.POSITION_BEFORE
constants.caretOffset
- The caret offset.noOfColumnsToBeInserted
- The number of columns to be inserted.- Throws:
BadLocationException
AuthorOperationException
-
insertColumns
public void insertColumns(AuthorAccess authorAccess, String namespace, String insertPosition, AuthorDocumentFragment[] fragments, TableColumnSpecificationInformation columnSpecification, boolean cellsFragments, InsertRowOperationBase insertRowOperation, int caretOffset, int noOfColumnsToBeInserted, AuthorElement tableElement) throws BadLocationException, AuthorOperationException Insert columns in a table- Parameters:
authorAccess
- The author access.namespace
- The table elements namespace.insertPosition
- The insert position. One ofAuthorConstants.POSITION_AFTER
orAuthorConstants.POSITION_BEFORE
constants.fragments
- The fragments to be inserted in cellscolumnSpecification
- Column specification informationcellsFragments
- If the value istrue
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:
BadLocationException
AuthorOperationException
-
updateColumnCellsSpan
protected void updateColumnCellsSpan(AuthorAccess authorAccess, AuthorTableCellSpanProvider tableSupport, AuthorElement tableElem, int newColumnIndex, TableColumnSpecificationInformation columnSpecification, 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.
-
getArguments
- Returns:
- An array of
ArgumentDescriptor
representing the arguments this operation uses. - See Also:
-
getDescription
Get the description for this operation.- Returns:
- The description of the extension.
- See Also:
-
getCellElementName
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
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.
-