Class InsertTableOperation
java.lang.Object
ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
ro.sync.ecss.extensions.docbook.table.InsertTableOperation
- All Implemented Interfaces:
AuthorOperation
,Extension
,InsertTableCellsContentConstants
,InsertTableOperationBase
@API(type=INTERNAL,
src=PUBLIC)
public class InsertTableOperation
extends AbstractTableOperation
implements InsertTableOperationBase, InsertTableCellsContentConstants
Operation used to insert a CALS Docbook table or
an HTML table in a DocBook document.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The table model argument name.static final ArgumentDescriptor
Argument for default table model.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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doOperationInternal
(AuthorAccess authorAccess, ArgumentsMap args) Perform the actual operation.The operation will display a dialog for choosing table attributes.void
insertTable
(AuthorDocumentFragment[] fragments, boolean cellsFragments, AuthorAccess authorAccess, String namespace, AuthorTableHelper tableHelper, TableInfo tableInfo) If the fragments array is not null, this method converts the given fragments array into a table.void
insertTable
(AuthorDocumentFragment[] fragments, List<Map<String, String>> rowAttributes, boolean cellsFragments, AuthorAccess authorAccess, String namespace, AuthorTableHelper tableHelper, TableInfo tableInfo) If the fragments array is not null, this method converts the given fragments array into a table.Methods inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
createEmptyCell, doOperation, findCellInsertionOffset, getElementAncestor, isElement, isTableElement
-
Field Details
-
DEFAULT_TABLE_MODEL_ARGUMENT_NAME
The table model argument name.- See Also:
-
TABLE_MODEL_ARGUMENT
Argument for default table model.
-
-
Constructor Details
-
InsertTableOperation
public InsertTableOperation()Constructor.
-
-
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:
-
getArguments
The operation will display a dialog for choosing table attributes.- Specified by:
getArguments
in interfaceAuthorOperation
- Returns:
- An array of
ArgumentDescriptor
representing the arguments this operation uses. - See Also:
-
getDescription
- Specified by:
getDescription
in interfaceExtension
- Returns:
- The description of the extension.
- See Also:
-
insertTable
public void insertTable(AuthorDocumentFragment[] fragments, boolean cellsFragments, AuthorAccess authorAccess, String namespace, AuthorTableHelper tableHelper, TableInfo tableInfo) throws AuthorOperationException Description copied from interface:InsertTableOperationBase
If the fragments array is not null, this method converts the given fragments array into a table. Each fragments will correspond to a cell. The resulting table will have one column and as many rows as fragments length. If no fragment is provided an empty table is inserted (a dialog is shown to choose all the table properties)- Specified by:
insertTable
in interfaceInsertTableOperationBase
- Parameters:
fragments
- An array of AuthorDocumentFragments that are used as content of the inserted cells.cellsFragments
- If the value istrue
then the fragments where originally cells.authorAccess
- The author access.namespace
- The namespace.tableHelper
- The table helper.tableInfo
- The details about table creation. If null, a dialog is presented to let the user choose the details.- Throws:
AuthorOperationException
- See Also:
-
insertTable
public void insertTable(AuthorDocumentFragment[] fragments, List<Map<String, String>> rowAttributes, boolean cellsFragments, AuthorAccess authorAccess, String namespace, AuthorTableHelper tableHelper, TableInfo tableInfo) throws AuthorOperationExceptionIf the fragments array is not null, this method converts the given fragments array into a table. Each fragments will correspond to a cell. The resulting table will have one column and as many rows as fragments length. If no fragment is provided an empty table is inserted (a dialog is shown to choose all the table properties)- Parameters:
fragments
- An array of AuthorDocumentFragments that are used as content of the inserted cells.rowAttributes
- For each fragment this list can contain a list of corresponding attributes that can be set on the row element.cellsFragments
- If the value istrue
then the fragments where originally cells.authorAccess
- The author access.namespace
- The namespace.tableHelper
- The table helper.tableInfo
- The details about table creation. If null, a dialog is presented to let the user choose the details.- Throws:
AuthorOperationException
-