SWT LPEX
v3.0.5

com.ibm.lpex.java
Class JavaParser

java.lang.Object
  extended bycom.ibm.lpex.core.LpexCommonParser
      extended bycom.ibm.lpex.java.JavaParser
All Implemented Interfaces:
LpexConstants, LpexParser
Direct Known Subclasses:
JavaSqlParser

public class JavaParser
extends LpexCommonParser

Document parser for Java.

Actions and assigned keys added by this document parser:

Keys already defined (for example, by the active base editor profile and by the user profile) to an action different from nullAction are not redefined in here.

Editor actions modified by this document parser:

Actions redefined by LpexCommonParser and further modified by this document parser:

Template expansion (proto action, Ctrl+R) for an empty document and for the following keywords is provided in this parser's profile:


Field Summary
 
Fields inherited from class com.ibm.lpex.core.LpexCommonParser
ATTRIBUTES_COMMENT, ATTRIBUTES_COMMENT_KEYWORD, ATTRIBUTES_COMMENT1, ATTRIBUTES_DEFAULT, ATTRIBUTES_DIRECTIVE, ATTRIBUTES_ERROR, ATTRIBUTES_KEYWORD, ATTRIBUTES_KEYWORD1, ATTRIBUTES_LIBRARY, ATTRIBUTES_NONSOURCE, ATTRIBUTES_NUMERAL, ATTRIBUTES_STRING, ATTRIBUTES_STRING1, BACKGROUND_COLOR, CLASS_MESSAGE, LANGUAGE_CCPP, LANGUAGE_CICS, LANGUAGE_CL, LANGUAGE_COBOL, LANGUAGE_DDS, LANGUAGE_DLI, LANGUAGE_FORTRAN, LANGUAGE_HLASM, LANGUAGE_HTML, LANGUAGE_JAVA, LANGUAGE_JCL, LANGUAGE_LISP, LANGUAGE_PERL, LANGUAGE_PLI, LANGUAGE_REXX, LANGUAGE_RPG, LANGUAGE_SABRETALK, LANGUAGE_SQL, LANGUAGE_XMI, LANGUAGE_XML, LANGUAGE_XSL, LEXER_RC_END, LEXER_RC_EOF, LEXER_RC_MORE, LEXER_RC_OK, POPUP_END, POPUP_FILTERVIEW, POPUP_SOURCE, POPUP_TOP, PROTOKEY_EMPTY, STYLE_MESSAGE, STYLE_NAME, view
 
Fields inherited from interface com.ibm.lpex.core.LpexConstants
HELP_COMMAND_MAP, LPEX_VERSION, MSG_POPUP_ERRORS, MSG_POPUP_EXCLUDESELECTION, MSG_POPUP_FILTERVIEWMENU, MSG_POPUP_INSERTMENU, MSG_POPUP_SELECTEDMENU, MSG_POPUP_SHOWALL, MSG_POPUP_SOURCEMENU, PARSE_PENDING_CHANGE_MASK, PARSE_PENDING_INSERT_MASK, PARSE_PENDING_NEXT_DELETED_MASK, PARSE_PENDING_NEXT_SHOW_DELETED_MASK, PARSE_PENDING_PREV_DELETED_MASK, PARSE_PENDING_PREV_SHOW_DELETED_MASK, PLATFORM_AWT, PLATFORM_SWT, PLATFORM_SWT_KEY, STATUS_FILE_ERRORREADING, STATUS_FILE_INCORRECTENCODING, STATUS_FILE_NOTFOUND, STATUS_FINDTEXT_INVALIDPATTERN, STATUS_FINDTEXT_NOTFOUND, STATUS_FINDTEXT_ONLYOCCURRENCE, STATUS_FINDTEXT_READONLY, STATUS_FINDTEXT_WRAPPED, STATUS_LOCATE_NOSEQUENCETEXT, STATUS_LOCATE_NOTFOUND, STATUS_LOCATE_WRAPPED, STATUS_SAVE_CANCELLED, STATUS_SAVE_FAILED, STATUS_TEXTLIMIT_ENFORCED
 
Constructor Summary
JavaParser(LpexView lpexView)
          Constructor for the parser.
 
Method Summary
protected  void addErrorMessage(int element, String message)
          Displays an embedded error message for an element.
protected  void delete()
          Flows text inside a comment block during a delete which joins lines.
protected  void document(LpexDocumentLocation cursor)
          Documents a class / interface / method.
protected  void expandProtoKeyword(int s, int e, String p)
          Subclassed in order to effectively run the doc action when the prototype keyword to expand is "/**".
 String getCommentStyleCharacters()
          Returns the style characters used for styling comments ("cCt").
 String getLanguage()
          Returns "Java", the main language supported by this parser.
 String getLanguage(LpexDocumentLocation loc)
          Retrieve a string identifying the language segment at the specified location.
protected  String getPopupItems(int popupLocation)
          Returns this parser's contribution to the popup.
 ResourceBundle getProfile()
          Returns this parser's profile resource bundle.
 String getProperty(String key)
          Expands LpexCommonParser's getProperty() to substitute arguments for key PROTOKEY_EMPTY.
protected  SqlLexer getSqlLexer(LpexCharStream sqlLexerStream)
          Returns the SqlLexer.
 boolean isTokenDelimiter(char ch)
          Returns true if the specified character is a token delimiter.
protected  void join()
          Flows text inside a comment block during a join.
protected  void methods()
          Deprecated.  
protected  void openLine()
          Continues the comment for a line opened inside a comment block.
protected  void outline()
          Deprecated.  
 void parseAll()
          Total parse of the entire document.
 void parseElement(int element)
          Incremental parse.
protected  boolean setLexer(int newLexer)
          Sets or switches the active lexer.
protected  void setStyleAttributes()
          Defines this parser's style attributes.
protected  void split()
          Continues the comment for a line split inside a comment block.
protected  void splitLine()
          Continues the comment for a line split inside a comment block.
protected  void trace(LpexDocumentLocation cursor)
          Inserts trace call(s) for a method.
 
Methods inherited from class com.ibm.lpex.core.LpexCommonParser
addDocumentMessage, addMessage, addMessage, addMessage, blockMarkWord, copyDocumentMessages, cursorIndent, defineFilterAction, getInstallStyleAttributes, getLshToken, getPopupParserItems, getPopupViewItems, getStyleName, getStyles, getTextIndent, getToken, getTokenLocation, indentText, indentText, indentText, isDebuggable, lineComment, lpexView, matchToken, newLine, parse, propertySet, removeDocumentMessages, removeMessages, removeMessages, resetParser, setProperty, setStyle, styleString, terminateParser, tokenBegin, tokenEnd, totalParse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaParser

public JavaParser(LpexView lpexView)
Constructor for the parser. Adds all of the parser specifics to the LPEX document view. Initializes the view for the parser: sets up all the style attributes, classes, etc. for the language-sensitive edit features supported.

Parameters:
lpexView - the document view associated with this parser
Method Detail

parseAll

public void parseAll()
Total parse of the entire document. Done initially, after a document has been loaded in the editor, and after an updateProfile command.

Specified by:
parseAll in class LpexCommonParser
See Also:
Total and incremental parse

parseElement

public void parseElement(int element)
Incremental parse.

Specified by:
parseElement in class LpexCommonParser
Parameters:
element - an element affected by a committed change in this view
See Also:
LpexView.parsePending(int), LpexView.elementParsed(int), Total and incremental parse

getProfile

public ResourceBundle getProfile()
Returns this parser's profile resource bundle.

Overrides:
getProfile in class LpexCommonParser
See Also:
LpexCommonParser.getProperty(java.lang.String), Parser properties

getLanguage

public String getLanguage()
Returns "Java", the main language supported by this parser.

Overrides:
getLanguage in class LpexCommonParser
See Also:
LpexCommonParser.LANGUAGE_JAVA

getLanguage

public String getLanguage(LpexDocumentLocation loc)
Retrieve a string identifying the language segment at the specified location. In mixed-content documents, this may differ from the main language of the document. The method assumes that no parse is pending for the location element.

Overrides:
getLanguage in class LpexCommonParser
Parameters:
loc - document location
Returns:
one of: LpexCommonParser.LANGUAGE_JAVA, LpexCommonParser.LANGUAGE_SQL
See Also:
LpexCommonParser.getLanguage(), Mixed content documents

getPopupItems

protected String getPopupItems(int popupLocation)
Returns this parser's contribution to the popup. This parser contributes to the "Filter view" submenu (Methods, Logic outline, Errors) and to the "Source" submenu (Comment, Uncomment, Document, Trace).

Overrides:
getPopupItems in class LpexCommonParser
Parameters:
popupLocation - the location on the pop-up menu of the items requested, one of:
LpexCommonParser.POPUP_TOP, LpexCommonParser.POPUP_FILTERVIEW, LpexCommonParser.POPUP_SOURCE, LpexCommonParser.POPUP_END
Returns:
this parser's contribution to the pop-up menu, or
null if none
See Also:
LpexCommonParser.defineFilterAction(java.lang.String, java.lang.String)

setStyleAttributes

protected void setStyleAttributes()
Defines this parser's style attributes. The following style characters are set: '_' (layout blanks), 'k' (keyword), 'r' (keyword return), 'i' (identifier), 'n' (constant), 'q' (string literal), 'o' (operator), 'p' (punctuation), 'c' (comment), 'C' (javadoc comment), 't' (javadoc comment tag), 'b' (brace), 'u' (Unicode sequence), 'e' (error).


getCommentStyleCharacters

public String getCommentStyleCharacters()
Returns the style characters used for styling comments ("cCt").

Overrides:
getCommentStyleCharacters in class LpexCommonParser

openLine

protected void openLine()
Continues the comment for a line opened inside a comment block.

Overrides:
openLine in class LpexCommonParser

splitLine

protected void splitLine()
Continues the comment for a line split inside a comment block.

Overrides:
splitLine in class LpexCommonParser
See Also:
LpexCommonParser.getTextIndent(int)

split

protected void split()
Continues the comment for a line split inside a comment block.


join

protected void join()
Flows text inside a comment block during a join.


delete

protected void delete()
Flows text inside a comment block during a delete which joins lines.


isTokenDelimiter

public boolean isTokenDelimiter(char ch)
Returns true if the specified character is a token delimiter.

Overrides:
isTokenDelimiter in class LpexCommonParser
Parameters:
ch - character queried, for example, ')'
See Also:
LpexCommonParser.getToken(com.ibm.lpex.core.LpexDocumentLocation)

getProperty

public String getProperty(String key)
Expands LpexCommonParser's getProperty() to substitute arguments for key PROTOKEY_EMPTY. Argument {0} is the package name, {1} is the class name. The substitutions are based on the name parameter of the associated document.

Specified by:
getProperty in interface LpexParser
Overrides:
getProperty in class LpexCommonParser
Parameters:
key - property name, for example, "proto.doc" for this parser's expansion of the keyword "doc" by the proto action, or "view.proto.doc" for this property as defined in the current view's instance of the parser
See Also:
LpexCommonParser.getLanguage(), LpexCommonParser.getProfile(), Parser properties

addErrorMessage

protected void addErrorMessage(int element,
                               String message)
Displays an embedded error message for an element.

Parameters:
element - the element in error
message - error message key in LPEX's Resources.properties

methods

protected void methods()
Deprecated.  

Filters view to the methods in the source code.


outline

protected void outline()
Deprecated.  

Filters view to a logical outline of the source code.


expandProtoKeyword

protected void expandProtoKeyword(int s,
                                  int e,
                                  String p)
Subclassed in order to effectively run the doc action when the prototype keyword to expand is "/**".

Overrides:
expandProtoKeyword in class LpexCommonParser
Parameters:
s - ZERO-based keyword start offset in the current element
e - ZERO-based keyword end offset in the current element
p - the prototype expansion string

document

protected void document(LpexDocumentLocation cursor)
Documents a class / interface / method. Adds a detailed javadoc comment block. Assumes that the class / interface / method we try to document starts on a new line, and any type / qualifier and its id are on the same line.

Parameters:
cursor - document location in the scope of the class / interface / method to document

trace

protected void trace(LpexDocumentLocation cursor)
Inserts trace call(s) for a method.

Parameters:
cursor - document location in the scope of the method to document

setLexer

protected boolean setLexer(int newLexer)
Sets or switches the active lexer.

Parameters:
newLexer - the new lexer, one of: LEXER_JAVA, LEXER_SQL
Returns:
true = new lexer has been set as the active lexer, and initialized in its DEFAULT lexical state

getSqlLexer

protected SqlLexer getSqlLexer(LpexCharStream sqlLexerStream)
Returns the SqlLexer. The document parser extending JavaParser to support embedded SQL statements must override this method to construct and return an SqlLexer object.

The implementation of this method provided by the JavaParser class does nothing, except return null.

Parameters:
sqlLexerStream - input character stream for the SQL lexer

SWT LPEX
v3.0.5

(C) Copyright IBM Corporation 1998, 2005.  All Rights Reserved.