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 ArgumentDescriptorTheinsertMultipleColumnsargument descriptor.static final StringTheinsertPositionargument descriptor.static final ArgumentDescriptorThepositionargument 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, tableHelperFields 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 voiddoOperationInternal(AuthorAccess authorAccess, ArgumentsMap args) Perform the actual operation.protected abstract StringgetCellElementName(AuthorElement rowElement, int newColumnIndex) Get the name of the element that will be inserted as a cell into the table.protected StringGet the default content that must be introduced in empty cells.Get the description for this operation.voidinsertColumns(AuthorAccess authorAccess, String namespace, String insertPosition, AuthorDocumentFragment[] fragments, TableColumnSpecificationInformation columnSpecification, boolean cellsFragments, InsertRowOperationBase insertRowOperation, int caretOffset, int noOfColumnsToBeInserted, AuthorElement tableElement) Insert columns in a tablevoidinsertColumns(AuthorAccess authorAccess, AuthorElement tableElement, String namespace, String insertPosition, int caretOffset, int noOfColumnsToBeInserted) Insert columns in a tablevoidperformInsertColumn(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 voidupdateColumnCellsSpan(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
TheinsertPositionargument descriptor.- See Also:
-
INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR
TheinsertMultipleColumnsargument descriptor. -
POSITION_ARGUMENT_DESCRIPTOR
Thepositionargument 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:AbstractTableOperationPerform the actual operation.- Specified by:
doOperationInternalin 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 istruethen 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:
IllegalArgumentExceptionAuthorOperationException
-
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_AFTERorAuthorConstants.POSITION_BEFOREconstants.caretOffset- The caret offset.noOfColumnsToBeInserted- The number of columns to be inserted.- Throws:
BadLocationExceptionAuthorOperationException
-
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_AFTERorAuthorConstants.POSITION_BEFOREconstants.fragments- The fragments to be inserted in cellscolumnSpecification- Column specification informationcellsFragments- If the value istruethen 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:
BadLocationExceptionAuthorOperationException
-
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
ArgumentDescriptorrepresenting 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.
-