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
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_TABLE_MODEL_ARGUMENT_NAME
The table model argument name.static ArgumentDescriptor
TABLE_MODEL_ARGUMENT
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 Constructor Description InsertTableOperation()
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()
The operation will display a dialog for choosing table attributes.java.lang.String
getDescription()
void
insertTable(AuthorDocumentFragment[] fragments, boolean cellsFragments, AuthorAccess authorAccess, java.lang.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, java.util.List<java.util.Map<java.lang.String,java.lang.String>> rowAttributes, boolean cellsFragments, AuthorAccess authorAccess, java.lang.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 Detail
-
DEFAULT_TABLE_MODEL_ARGUMENT_NAME
public static final java.lang.String DEFAULT_TABLE_MODEL_ARGUMENT_NAME
The table model argument name.- See Also:
- Constant Field Values
-
TABLE_MODEL_ARGUMENT
public static final ArgumentDescriptor TABLE_MODEL_ARGUMENT
Argument for default table model.
-
-
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)
-
getArguments
public ArgumentDescriptor[] 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:
AuthorOperation.getArguments()
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription
in interfaceExtension
- Returns:
- The description of the extension.
- See Also:
Extension.getDescription()
-
insertTable
public void insertTable(AuthorDocumentFragment[] fragments, boolean cellsFragments, AuthorAccess authorAccess, java.lang.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:
InsertTableOperationBase.insertTable(ro.sync.ecss.extensions.api.node.AuthorDocumentFragment[], boolean, ro.sync.ecss.extensions.api.AuthorAccess, java.lang.String, ro.sync.ecss.extensions.commons.table.operations.AuthorTableHelper, ro.sync.ecss.extensions.commons.table.operations.TableInfo)
-
insertTable
public void insertTable(AuthorDocumentFragment[] fragments, java.util.List<java.util.Map<java.lang.String,java.lang.String>> rowAttributes, boolean cellsFragments, AuthorAccess authorAccess, java.lang.String namespace, AuthorTableHelper tableHelper, TableInfo tableInfo) throws AuthorOperationException
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)- 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
-
-