Class InsertColumnOperation
- java.lang.Object
-
- ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
-
- ro.sync.ecss.extensions.commons.table.operations.InsertColumnOperationBase
-
- ro.sync.ecss.extensions.dita.topic.table.simpletable.InsertColumnOperation
-
- All Implemented Interfaces:
AuthorOperation
,Extension
,InsertTableCellsContentConstants
,SimpleTableConstants
- Direct Known Subclasses:
InsertSingleColumnOperation
@API(type=INTERNAL, src=PUBLIC) public class InsertColumnOperation extends InsertColumnOperationBase implements SimpleTableConstants, InsertTableCellsContentConstants
Operation used to insert one or more DITA simple table columns.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
cellContent
The fragment that must be introduced in the table cells-
Fields inherited from class ro.sync.ecss.extensions.commons.table.operations.InsertColumnOperationBase
INSERT_MULTIPLE_COLUMNS_ARGUMENT_DESCRIPTOR, POSITION_ARGUMENT, POSITION_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
-
Fields inherited from interface ro.sync.ecss.extensions.commons.table.operations.InsertTableCellsContentConstants
CELL_FRAGMENT_ARGUMENT, CELL_FRAGMENT_ARGUMENT_IN_ARRAY, CELL_FRAGMENT_ARGUMENT_NAME
-
Fields inherited from interface ro.sync.ecss.extensions.dita.topic.table.simpletable.SimpleTableConstants
ATTRIBUTE_NAME_ID, ELEMENT_NAME_CHDESC_CHOICETABLE, ELEMENT_NAME_CHDESCHD_CHOICETABLE, ELEMENT_NAME_CHOICETABLE, ELEMENT_NAME_CHOPTION_CHOICETABLE, ELEMENT_NAME_CHOPTIONHD_CHOICETABLE, ELEMENT_NAME_ENTRY_SIMPLETABLE, ELEMENT_NAME_HEADER_CHOICETABLE, ELEMENT_NAME_HEADER_PROPERTIES, ELEMENT_NAME_HEADER_SIMPLETABLE, ELEMENT_NAME_PROPDESC_PROPERTIES, ELEMENT_NAME_PROPDESCHD_PROPERTIES, ELEMENT_NAME_PROPERTIES, ELEMENT_NAME_PROPTYPE_PROPERTIES, ELEMENT_NAME_PROPTYPEHD_PROPERTIES, ELEMENT_NAME_PROPVALUE_PROPERTIES, ELEMENT_NAME_PROPVALUEHD_PROPERTIES, ELEMENT_NAME_ROW_CHOICETABLE, ELEMENT_NAME_ROW_PROPERTIES, ELEMENT_NAME_ROW_SIMPLETABLE, ELEMENT_NAME_SIMPLETABLE
-
-
Constructor Summary
Constructors Modifier Constructor Description InsertColumnOperation()
Constructor.protected
InsertColumnOperation(AuthorTableHelper documentTypeHelper)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doOperationInternal(AuthorAccess authorAccess, ArgumentsMap args)
Perform the actual operation.ArgumentDescriptor[]
getArguments()
protected 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.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.InsertColumnOperationBase
getDescription, insertColumns, insertColumns, performInsertColumn, removeMultipleInsertionDescriptor
-
Methods inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
createEmptyCell, doOperation, findCellInsertionOffset, getElementAncestor, isElement, isTableElement
-
-
-
-
Constructor Detail
-
InsertColumnOperation
public InsertColumnOperation()
Constructor.
-
InsertColumnOperation
protected InsertColumnOperation(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.- Overrides:
doOperationInternal
in classInsertColumnOperationBase
- 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:
InsertColumnOperationBase.doOperationInternal(ro.sync.ecss.extensions.api.AuthorAccess, ro.sync.ecss.extensions.api.ArgumentsMap)
-
getCellElementName
protected java.lang.String getCellElementName(AuthorElement rowElement, int newColumnIndex)
Description copied from class:InsertColumnOperationBase
Get the name of the element that will be inserted as a cell into the table.- Specified by:
getCellElementName
in classInsertColumnOperationBase
- 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.
- See Also:
InsertColumnOperationBase.getCellElementName(ro.sync.ecss.extensions.api.node.AuthorElement, int)
-
getDefaultContentForEmptyCells
protected java.lang.String getDefaultContentForEmptyCells()
Description copied from class:InsertColumnOperationBase
Get the default content that must be introduced in empty cells.- Overrides:
getDefaultContentForEmptyCells
in classInsertColumnOperationBase
- Returns:
- The default content that must be introduced in empty cells.
Default:
null
. - See Also:
InsertColumnOperationBase.getDefaultContentForEmptyCells()
-
getArguments
public ArgumentDescriptor[] getArguments()
- Specified by:
getArguments
in interfaceAuthorOperation
- Overrides:
getArguments
in classInsertColumnOperationBase
- Returns:
- An array of
ArgumentDescriptor
representing the arguments this operation uses. - See Also:
InsertColumnOperationBase.getArguments()
-
updateColumnCellsSpan
protected void updateColumnCellsSpan(AuthorAccess authorAccess, AuthorTableCellSpanProvider tableSupport, AuthorElement tableElem, int newColumnIndex, TableColumnSpecificationInformation columnSpecification, java.lang.String namespace, int noOfColumnsToBeInserted) throws AuthorOperationException
Description copied from class:InsertColumnOperationBase
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)
.- Overrides:
updateColumnCellsSpan
in classInsertColumnOperationBase
- 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.- See Also:
InsertColumnOperationBase.updateColumnCellsSpan(ro.sync.ecss.extensions.api.AuthorAccess, ro.sync.ecss.extensions.api.AuthorTableCellSpanProvider, ro.sync.ecss.extensions.api.node.AuthorElement, int, ro.sync.ecss.extensions.api.table.operations.TableColumnSpecificationInformation, java.lang.String, int)
-
-