Oxygen XML Editor 14.2 Author API

ro.sync.ecss.extensions.commons.table.operations
Class InsertColumnOperationBase

java.lang.Object
  extended by ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
      extended by 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 inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
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
InsertColumnOperationBase(AuthorTableHelper documentTypeHelper)
          Constructor.
 
Method Summary
 void doOperation(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 performInsertColumn(AuthorAccess authorAccess, java.lang.String namespace, AuthorDocumentFragment[] fragments, TableColumnSpecificationInformation columnSpecification, boolean cellsFragments, InsertRowOperationBase insertRowOperation, InsertTableOperationBase insertTableOperation)
          Insert column.
protected  void updateColumnCellsSpan(AuthorAccess authorAccess, AuthorTableCellSpanProvider tableSupport, AuthorElement tableElem, int newColumnIndex, TableColumnSpecificationInformation columnSpecification, java.lang.String namespace)
          Increments the column span of the cells intersecting the new column.
 
Methods inherited from class ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
createEmptyCell, findCellInsertionOffset, getElementAncestor, isElement, isTableElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InsertColumnOperationBase

public InsertColumnOperationBase(AuthorTableHelper documentTypeHelper)
Constructor.

Parameters:
documentTypeHelper - Document type helper, has methods specific to a document type.
Method Detail

doOperation

public void doOperation(AuthorAccess authorAccess,
                        ArgumentsMap args)
                 throws java.lang.IllegalArgumentException,
                        AuthorOperationException
Description copied from interface: AuthorOperation
Perform the actual operation. You can check if the operation was invoked from the oXygen standalone application or from the oXygen plugin for Eclipse by using the method: Workspace.isStandalone(). To get to the Workspace you may use: AuthorAccess.getWorkspaceAccess().

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 method AuthorOperation.getArguments() must be present in the map of arguments.
Throws:
java.lang.IllegalArgumentException - Thrown when one or more arguments are illegal.
AuthorOperationException - Thrown when the operation fails.
See Also:
AuthorOperation.doOperation(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 is true 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

updateColumnCellsSpan

protected void updateColumnCellsSpan(AuthorAccess authorAccess,
                                     AuthorTableCellSpanProvider tableSupport,
                                     AuthorElement tableElem,
                                     int newColumnIndex,
                                     TableColumnSpecificationInformation columnSpecification,
                                     java.lang.String namespace)
                              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.
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

Oxygen XML Editor 14.2 Author API

© Copyright SyncRO Soft SRL 2002 - 2013. All rights reserved.