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
Fields Modifier and Type Field Description static ArgumentDescriptor
INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR
TheinsertMultipleColumns
argument descriptor.static java.lang.String
POSITION_ARGUMENT
TheinsertPosition
argument descriptor.static ArgumentDescriptor
POSITION_ARGUMENT_DESCRIPTOR
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
Constructors Constructor Description InsertColumnOperationBase(AuthorTableHelper documentTypeHelper)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
doOperationInternal(AuthorAccess authorAccess, ArgumentsMap args)
Perform the actual operation.ArgumentDescriptor[]
getArguments()
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.protected java.lang.String
getDefaultContentForEmptyCells()
Get the default content that must be introduced in empty cells.java.lang.String
getDescription()
Get the description for this operation.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)
Insert columns in a tablevoid
insertColumns(AuthorAccess authorAccess, AuthorElement tableElement, java.lang.String namespace, java.lang.String insertPosition, int caretOffset, int noOfColumnsToBeInserted)
Insert columns in a tablevoid
performInsertColumn(AuthorAccess authorAccess, java.lang.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, java.lang.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 Detail
-
POSITION_ARGUMENT
public static final java.lang.String POSITION_ARGUMENT
TheinsertPosition
argument descriptor.- See Also:
- Constant Field Values
-
INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR
public static final ArgumentDescriptor INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR
TheinsertMultipleColumns
argument descriptor.
-
POSITION_ARGUMENT_DESCRIPTOR
public static final ArgumentDescriptor POSITION_ARGUMENT_DESCRIPTOR
Theposition
argument descriptor.
-
-
Constructor Detail
-
InsertColumnOperationBase
public InsertColumnOperationBase(AuthorTableHelper documentTypeHelper)
Constructor.- Parameters:
documentTypeHelper
- Document type helper, has methods specific to a document type.
-
-
Method Detail
-
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:
AbstractTableOperation.doOperationInternal(ro.sync.ecss.extensions.api.AuthorAccess, ro.sync.ecss.extensions.api.ArgumentsMap)
-
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 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:
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 ofAuthorConstants.POSITION_AFTER
orAuthorConstants.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 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:
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.
-
getArguments
public ArgumentDescriptor[] getArguments()
- Returns:
- An array of
ArgumentDescriptor
representing the arguments this operation uses. - See Also:
AuthorOperation.getArguments()
-
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.
-
-