Oxygen XML Editor 11.2 Author API

ro.sync.ecss.extensions.docbook
Class DocbookSchemaAwareEditingHandler

java.lang.Object
  extended by ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandlerAdapter
      extended by ro.sync.ecss.extensions.docbook.DocbookSchemaAwareEditingHandler
All Implemented Interfaces:
AuthorSchemaAwareEditingHandler
Direct Known Subclasses:
Docbook5SchemaAwareEditingHandler

public class DocbookSchemaAwareEditingHandler
extends AuthorSchemaAwareEditingHandlerAdapter

Specific editing support for Docbook documents. Handles typing and paste events inside itemizedlist, orderlist (a listitem with a para will be created and the typing/paste content be put inside it) and tables.


Field Summary
protected  String documentNamespace
          For Docbook 5 http://docbook.org/ns/docbook, for Docbook 4 an empty string.
protected static String INFO_SUFIX
          Docbook info element name suffix.
protected static String PARA
          Docbook HTML para element name.
protected static String TITLE
          Docbook HTML title element name.
 
Fields inherited from class ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandlerAdapter
lastHandlerResult
 
Fields inherited from interface ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandler
ACTION_ID_BACKSPACE, ACTION_ID_CUT, ACTION_ID_DELETE, ACTION_ID_DND, ACTION_ID_INSERT_FRAGMENT, ACTION_ID_PASTE, ACTION_ID_TYPING
 
Constructor Summary
DocbookSchemaAwareEditingHandler(String documentNamespace)
          Constructor.
 
Method Summary
protected  String getInfoElementChildOfSect(String sectElementName)
          Get the info child element name of to the given sect element name.
 boolean handlePasteFragment(int offset, AuthorDocumentFragment[] fragmentsToInsert, int actionId, AuthorAccess authorAccess)
          Handle an insert fragment event generated by: a Paste action.
 boolean handleTyping(int offset, char ch, AuthorAccess authorAccess)
          Handle a typing event.
protected  boolean isElementWithNameAndNamespace(AuthorNode node, String elementLocalName)
           
protected  void pushContextElement(WhatElementsCanGoHereContext context, String elementName)
          Derive the given context by adding the given element.
 
Methods inherited from class ro.sync.ecss.extensions.api.AuthorSchemaAwareEditingHandlerAdapter
getLastResult, handleDelete, handleDeleteElementTags, handleDeleteSelection, handleJoinElements
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

documentNamespace

protected final String documentNamespace
For Docbook 5 http://docbook.org/ns/docbook, for Docbook 4 an empty string.


PARA

protected static final String PARA
Docbook HTML para element name.

See Also:
Constant Field Values

TITLE

protected static final String TITLE
Docbook HTML title element name.

See Also:
Constant Field Values

INFO_SUFIX

protected static final String INFO_SUFIX
Docbook info element name suffix.

See Also:
Constant Field Values
Constructor Detail

DocbookSchemaAwareEditingHandler

public DocbookSchemaAwareEditingHandler(String documentNamespace)
Constructor.

Parameters:
documentNamespace - The document namespace, for different versions of Docbook.
Method Detail

handleTyping

public boolean handleTyping(int offset,
                            char ch,
                            AuthorAccess authorAccess)
                     throws InvalidEditException
Description copied from interface: AuthorSchemaAwareEditingHandler
Handle a typing event.

Specified by:
handleTyping in interface AuthorSchemaAwareEditingHandler
Overrides:
handleTyping in class AuthorSchemaAwareEditingHandlerAdapter
Parameters:
offset - Offset where the typing occurred.
ch - The typed character.
authorAccess - Access class to the author functions.
Returns:
code>true if the typing was handled.
Throws:
InvalidEditException - This is an invalid edit and must be rejected.
See Also:
AuthorSchemaAwareEditingHandlerAdapter.handleTyping(int, char, ro.sync.ecss.extensions.api.AuthorAccess)

handlePasteFragment

public boolean handlePasteFragment(int offset,
                                   AuthorDocumentFragment[] fragmentsToInsert,
                                   int actionId,
                                   AuthorAccess authorAccess)
                            throws InvalidEditException
Description copied from interface: AuthorSchemaAwareEditingHandler
Handle an insert fragment event generated by:

Specified by:
handlePasteFragment in interface AuthorSchemaAwareEditingHandler
Overrides:
handlePasteFragment in class AuthorSchemaAwareEditingHandlerAdapter
Parameters:
offset - Offset where the event occurred.
fragmentsToInsert - Fragments to be inserted.
actionId - ACTION_ID_PASTE if event was generated by paste action, ACTION_ID_DND if it was generated by a DND event or ACTION_ID_INSERT_FRAGMENT if the event was generated by an AuthorDocumentController schema aware insert method.
authorAccess - Access class to the author functions.
Returns:
true if the insertion was handled.
Throws:
InvalidEditException - This is an invalid edit and must be rejected.
See Also:
AuthorSchemaAwareEditingHandlerAdapter.handlePasteFragment(int, ro.sync.ecss.extensions.api.node.AuthorDocumentFragment[], int, ro.sync.ecss.extensions.api.AuthorAccess)

getInfoElementChildOfSect

protected String getInfoElementChildOfSect(String sectElementName)
Get the info child element name of to the given sect element name.

Parameters:
sectElementName - The sect element name.
Returns:
The info child element name.

pushContextElement

protected void pushContextElement(WhatElementsCanGoHereContext context,
                                  String elementName)
Derive the given context by adding the given element.


isElementWithNameAndNamespace

protected boolean isElementWithNameAndNamespace(AuthorNode node,
                                                String elementLocalName)
Returns:
true if the given node is an element with the given local name and from the Docbook namespace.

Oxygen XML Editor 11.2 Author API

© Copyright SyncRO Soft SRL 2002 - 2010.