@API(type=INTERNAL, src=PUBLIC) public abstract class InsertRowOperationBase extends AbstractTableOperation
Modifier and Type | Field and Description |
---|---|
protected static ArgumentDescriptor |
CUSTOM_INSERTION_ARGUMENT_DESCRIPTOR
Argument descriptor for the argument that specifies whether a custom insertion should be used.
|
TABLE_INFO_ARGUMENT_DESCRIPTOR, TABLE_INFO_ARGUMENT_NAME, tableHelper
NAMESPACE_ARGUMENT, NAMESPACE_ARGUMENT_DESCRIPTOR, SCHEMA_AWARE_ARGUMENT, SCHEMA_AWARE_ARGUMENT_DESCRIPTOR
Constructor and Description |
---|
InsertRowOperationBase(AuthorTableHelper documentTypeHelper)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
createCellXMLFragment(AuthorElement cell,
java.lang.String[] skippedAttributes,
java.lang.String[] allowedAttributes,
java.lang.String cellContent)
Create a cell XML fragment by copying the element and attributes
from a given cell element.
|
protected void |
doOperationInternal(AuthorAccess authorAccess,
ArgumentsMap args)
Perform the actual operation.
|
ArgumentDescriptor[] |
getArguments()
The operation will display a dialog for choose table attributes.
|
protected abstract java.lang.String |
getCellElementName(AuthorElement tableElement,
int columnIndex)
Get the name of the element that represents a cell.
|
protected java.lang.String |
getDefaultContentForEmptyCells()
Get the default content that must be introduced in empty cells.
|
java.lang.String |
getDescription() |
protected ArgumentDescriptor[] |
getOperationArguments()
Get the array of arguments used for this operation.
|
protected abstract java.lang.String |
getRowElementName(AuthorElement tableElement)
Get the name of the element that represents a row.
|
java.lang.String |
getRowXMLFragment(AuthorAccess authorAccess,
AuthorElement tableElement,
java.lang.String namespace,
java.lang.String newCellFragment,
int newCellColumnIndex)
Creates the XML fragment representing a new table row to be inserted.
|
void |
insertRows(AuthorAccess authorAccess,
java.lang.String xPathLocation,
java.lang.String namespace,
AuthorNode nodeAtCaret,
AuthorElement tableElement,
int noOfRowsToBeInserted,
java.lang.String relativePosition)
Insert rows.
|
protected static ArgumentDescriptor[] |
removeCustomInsertionDescriptor(ArgumentDescriptor[] superArguments)
Removes the argument descriptor for custom insertion from an arguments list.
|
protected boolean |
useCurrentRowTemplateOnInsert() |
createEmptyCell, doOperation, findCellInsertionOffset, getElementAncestor, isElement, isTableElement
protected static final ArgumentDescriptor CUSTOM_INSERTION_ARGUMENT_DESCRIPTOR
public InsertRowOperationBase(AuthorTableHelper documentTypeHelper)
documentTypeHelper
- Author Document type helper, has methods specific to a document type.protected ArgumentDescriptor[] getOperationArguments()
AuthorConstants.POSITION_BEFORE
,
AuthorConstants.POSITION_AFTER
,
AuthorConstants.POSITION_INSIDE_FIRST
AuthorConstants.POSITION_INSIDE_LAST
protected void doOperationInternal(AuthorAccess authorAccess, ArgumentsMap args) throws java.lang.IllegalArgumentException, AuthorOperationException
AbstractTableOperation
doOperationInternal
in class AbstractTableOperation
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 method
AuthorOperation.getArguments()
must be present in the map of arguments.java.lang.IllegalArgumentException
- Thrown when one or more arguments are illegal.AuthorOperationException
- Thrown when the operation fails.AbstractTableOperation.doOperationInternal(ro.sync.ecss.extensions.api.AuthorAccess, ro.sync.ecss.extensions.api.ArgumentsMap)
public void insertRows(AuthorAccess authorAccess, java.lang.String xPathLocation, java.lang.String namespace, AuthorNode nodeAtCaret, AuthorElement tableElement, int noOfRowsToBeInserted, java.lang.String relativePosition) throws javax.swing.text.BadLocationException, AuthorOperationException
authorAccess
- The author access.xPathLocation
- The xPath location.namespace
- The rows namespace.nodeAtCaret
- The node at carettableElement
- The parent table element.noOfRowsToBeInserted
- Number of rows to be inserted.relativePosition
- One of AuthorConstants.POSITION_AFTER
or
AuthorConstants.POSITION_BEFORE
constants.javax.swing.text.BadLocationException
AuthorOperationException
public java.lang.String getRowXMLFragment(AuthorAccess authorAccess, AuthorElement tableElement, java.lang.String namespace, java.lang.String newCellFragment, int newCellColumnIndex) throws javax.swing.text.BadLocationException
authorAccess
- The author access.tableElement
- The table element.namespace
- The namespace of the table row.newCellFragment
- The row will contain an additional cell added at the given
column index.newCellColumnIndex
- The column index of the additional celljavax.swing.text.BadLocationException
protected java.lang.String createCellXMLFragment(AuthorElement cell, java.lang.String[] skippedAttributes, java.lang.String[] allowedAttributes, java.lang.String cellContent) throws javax.swing.text.BadLocationException
cell
- The cell to copy the element name and attributes from.skippedAttributes
- List of skipped attributes names.cellContent
- The cell content.javax.swing.text.BadLocationException
public ArgumentDescriptor[] getArguments()
ArgumentDescriptor
representing
the arguments this operation uses.AuthorOperation.getArguments()
public java.lang.String getDescription()
Extension.getDescription()
protected abstract java.lang.String getCellElementName(AuthorElement tableElement, int columnIndex)
tableElement
- The table elementcolumnIndex
- The column index.protected abstract java.lang.String getRowElementName(AuthorElement tableElement)
tableElement
- The table parent element.protected boolean useCurrentRowTemplateOnInsert()
true
if the current row template should be used to create
the new row that must be inserted.
Default: false
protected java.lang.String getDefaultContentForEmptyCells()
null
.protected static ArgumentDescriptor[] removeCustomInsertionDescriptor(ArgumentDescriptor[] superArguments)
superArguments
- The input arguments list.© Copyright SyncRO Soft SRL 2002 - 2016. All rights reserved.