Oxygen XML Editor 14.2 Author API

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

java.lang.Object
  extended by ro.sync.ecss.extensions.commons.table.operations.AbstractTableOperation
      extended by ro.sync.ecss.extensions.commons.table.operations.InsertRowOperationBase
All Implemented Interfaces:
AuthorOperation, Extension
Direct Known Subclasses:
InsertRowOperation, InsertRowOperation, InsertRowOperation, InsertRowOperation, InsertRowOperation

@API(type=INTERNAL,
     src=PUBLIC)
public abstract class InsertRowOperationBase
extends AbstractTableOperation

Abstract class for operation used to insert a table row.


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
InsertRowOperationBase(AuthorTableHelper documentTypeHelper)
          Constructor.
 
Method Summary
protected  java.lang.String createCellXMLFragment(AuthorElement cell, java.lang.String[] skippedAttributes, java.lang.String cellContent)
          Create a cell XML fragment by copying the element and attributes from a given cell element.
 void doOperation(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, AuthorElement referenceRowElement, java.lang.String namespace)
          Creates the XML fragment representing a new table row to be inserted.
 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.
protected  boolean useCurrentRowTemplateOnInsert()
           
 
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

InsertRowOperationBase

public InsertRowOperationBase(AuthorTableHelper documentTypeHelper)
Constructor.

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

getOperationArguments

protected ArgumentDescriptor[] getOperationArguments()
Get the array of arguments used for this operation. The first argument define the location where the operation will be executed as an xpath expression, the second one define the relative position to the node obtained from the XPath location and the third is the namespace argument descriptor. For the second argument included in the returned arguments descriptor array, the allowed values are: AuthorConstants.POSITION_BEFORE, AuthorConstants.POSITION_AFTER, AuthorConstants.POSITION_INSIDE_FIRST AuthorConstants.POSITION_INSIDE_LAST

Returns:
The array with the arguments of the operation.

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)

getRowXMLFragment

public java.lang.String getRowXMLFragment(AuthorAccess authorAccess,
                                          AuthorElement tableElement,
                                          java.lang.String namespace,
                                          java.lang.String newCellFragment,
                                          int newCellColumnIndex)
                                   throws javax.swing.text.BadLocationException
Creates the XML fragment representing a new table row to be inserted.

Parameters:
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 cell
Returns:
The XML fragment to be inserted.
Throws:
javax.swing.text.BadLocationException

getRowXMLFragment

public java.lang.String getRowXMLFragment(AuthorAccess authorAccess,
                                          AuthorElement tableElement,
                                          AuthorElement referenceRowElement,
                                          java.lang.String namespace)
                                   throws javax.swing.text.BadLocationException
Creates the XML fragment representing a new table row to be inserted.

Parameters:
authorAccess - The author access.
referenceRowElement - The reference row element (from the caret position).
tableElement - The table element.
namespace - The namespace of the table row.
Returns:
The XML fragment to be inserted.
Throws:
javax.swing.text.BadLocationException

createCellXMLFragment

protected java.lang.String createCellXMLFragment(AuthorElement cell,
                                                 java.lang.String[] skippedAttributes,
                                                 java.lang.String cellContent)
                                          throws javax.swing.text.BadLocationException
Create a cell XML fragment by copying the element and attributes from a given cell element.

Parameters:
cell - The cell to copy the element name and attributes from.
skippedAttributes - List of skipped attributes names.
cellContent - The cell content.
Returns:
The cell fragment.
Throws:
javax.swing.text.BadLocationException

getArguments

public ArgumentDescriptor[] getArguments()
The operation will display a dialog for choose table attributes.

Returns:
An array of ArgumentDescriptor representing the arguments this operation uses.
See Also:
AuthorOperation.getArguments()

getDescription

public java.lang.String getDescription()
Returns:
The description of the extension.
See Also:
Extension.getDescription()

getCellElementName

protected abstract java.lang.String getCellElementName(AuthorElement tableElement,
                                                       int columnIndex)
Get the name of the element that represents a cell.

Parameters:
tableElement - The table element
columnIndex - The column index.
Returns:
The name of the element that represent a cell in the table.

getRowElementName

protected abstract java.lang.String getRowElementName(AuthorElement tableElement)
Get the name of the element that represents a row.

Parameters:
tableElement - The table parent element.
Returns:
The name of the element that represent a row in the table.

useCurrentRowTemplateOnInsert

protected boolean useCurrentRowTemplateOnInsert()
Returns:
true if the current row template should be used to create the new row that must be inserted. Default: false

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.