Package editor.plugin.typeloader.java
Class JavaDocument
- java.lang.Object
-
- javax.swing.text.AbstractDocument
-
- javax.swing.text.DefaultStyledDocument
-
- editor.plugin.typeloader.java.JavaDocument
-
- All Implemented Interfaces:
java.io.Serializable,javax.swing.text.Document,javax.swing.text.StyledDocument
public class JavaDocument extends javax.swing.text.DefaultStyledDocument- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.text.DefaultStyledDocument
javax.swing.text.DefaultStyledDocument.AttributeUndoableEdit, javax.swing.text.DefaultStyledDocument.ElementBuffer, javax.swing.text.DefaultStyledDocument.ElementSpec, javax.swing.text.DefaultStyledDocument.SectionElement
-
Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument
javax.swing.text.AbstractDocument.AbstractElement, javax.swing.text.AbstractDocument.AttributeContext, javax.swing.text.AbstractDocument.BranchElement, javax.swing.text.AbstractDocument.Content, javax.swing.text.AbstractDocument.DefaultDocumentEvent, javax.swing.text.AbstractDocument.ElementEdit, javax.swing.text.AbstractDocument.LeafElement
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.text.MutableAttributeSet_commentprivate javax.swing.text.MutableAttributeSet_errorprivate javax.tools.DiagnosticCollector<javax.tools.JavaFileObject>_errorHandlerprivate javax.swing.text.MutableAttributeSet_keywordprivate java.util.Set<java.lang.String>_keywordsprivate boolean_multiLineCommentprivate javax.swing.text.Element_rootprivate javax.swing.text.MutableAttributeSet_stringLiteralprivate javax.swing.text.MutableAttributeSet_warningprivate javax.swing.text.MutableAttributeSet_word
-
Constructor Summary
Constructors Constructor Description JavaDocument()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringaddMatchingBrace(int offset)protected java.lang.StringaddMatchingQuotationMark()protected java.lang.StringaddParenthesis()protected java.lang.StringaddWhiteSpace(int offset)private voidapplyHighlighting(java.lang.String content, int line)private voidcheckForTokens(java.lang.String content, int startOffset, int endOffset)private voidcommentLinesAfter(java.lang.String content, int line)private booleancommentLinesBefore(java.lang.String content, int line)private booleanendingMultiLineComment(java.lang.String content, int startOffset, int endOffset)java.lang.StringfindErrorMessage(int iPos)protected voidfireInsertUpdate(javax.swing.event.DocumentEvent evt)protected voidfireRemoveUpdate(javax.swing.event.DocumentEvent evt)protected java.lang.StringgetEndDelimiter()javax.tools.DiagnosticCollector<javax.tools.JavaFileObject>getErrorHandler()private java.lang.StringgetLine(java.lang.String content, int offset)private intgetOtherToken(java.lang.String content, int startOffset, int endOffset)private intgetQuoteToken(java.lang.String content, int startOffset, int endOffset)protected java.lang.StringgetSingleLineDelimiter()protected java.lang.StringgetStartDelimiter()private voidhighlightLinesAfter(java.lang.String content, int line)private intindexOf(java.lang.String content, java.lang.String needle, int offset)voidinsertString(int offset, java.lang.String str, javax.swing.text.AttributeSet a)Override to apply syntax highlighting after the document has been updatedprotected booleanisCharQuoteDelimiter(java.lang.String character)protected booleanisDelimiter(java.lang.String character)private booleanisError(int iPos)private booleanisError(int iPos, int iLength)protected booleanisKeyword(java.lang.String token)private booleanisMultiLineComment()protected booleanisQuoteDelimiter(java.lang.String character)private booleanisWarning(int iPos)private booleanisWarning(int iPos, int iLength)private intlastIndexOf(java.lang.String content, java.lang.String needle, int offset)private voidprocessChangedLines(int offset, int length)private voidprocessIssues(javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> errorHandler)voidremove(int offset, int length)voidsetErrorHandler(javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> errorHandler)private voidsetMultiLineComment(boolean value)private booleanstartingMultiLineComment(java.lang.String content, int startOffset, int endOffset)-
Methods inherited from class javax.swing.text.DefaultStyledDocument
addDocumentListener, addStyle, create, createDefaultRoot, getBackground, getCharacterElement, getDefaultRootElement, getFont, getForeground, getLogicalStyle, getParagraphElement, getStyle, getStyleNames, insert, insertUpdate, removeDocumentListener, removeElement, removeStyle, removeUpdate, setCharacterAttributes, setLogicalStyle, setParagraphAttributes, styleChanged
-
Methods inherited from class javax.swing.text.AbstractDocument
addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
-
-
-
-
Field Detail
-
_root
private javax.swing.text.Element _root
-
_word
private javax.swing.text.MutableAttributeSet _word
-
_keyword
private javax.swing.text.MutableAttributeSet _keyword
-
_error
private javax.swing.text.MutableAttributeSet _error
-
_warning
private javax.swing.text.MutableAttributeSet _warning
-
_comment
private javax.swing.text.MutableAttributeSet _comment
-
_stringLiteral
private javax.swing.text.MutableAttributeSet _stringLiteral
-
_multiLineComment
private boolean _multiLineComment
-
_keywords
private java.util.Set<java.lang.String> _keywords
-
_errorHandler
private javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> _errorHandler
-
-
Method Detail
-
insertString
public void insertString(int offset, java.lang.String str, javax.swing.text.AttributeSet a) throws javax.swing.text.BadLocationExceptionOverride to apply syntax highlighting after the document has been updated- Specified by:
insertStringin interfacejavax.swing.text.Document- Overrides:
insertStringin classjavax.swing.text.AbstractDocument- Throws:
javax.swing.text.BadLocationException
-
remove
public void remove(int offset, int length) throws javax.swing.text.BadLocationException- Specified by:
removein interfacejavax.swing.text.Document- Overrides:
removein classjavax.swing.text.AbstractDocument- Throws:
javax.swing.text.BadLocationException
-
processChangedLines
private void processChangedLines(int offset, int length) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
commentLinesBefore
private boolean commentLinesBefore(java.lang.String content, int line)
-
commentLinesAfter
private void commentLinesAfter(java.lang.String content, int line)
-
highlightLinesAfter
private void highlightLinesAfter(java.lang.String content, int line) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
applyHighlighting
private void applyHighlighting(java.lang.String content, int line) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
startingMultiLineComment
private boolean startingMultiLineComment(java.lang.String content, int startOffset, int endOffset) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
endingMultiLineComment
private boolean endingMultiLineComment(java.lang.String content, int startOffset, int endOffset) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
isMultiLineComment
private boolean isMultiLineComment()
-
setMultiLineComment
private void setMultiLineComment(boolean value)
-
checkForTokens
private void checkForTokens(java.lang.String content, int startOffset, int endOffset)
-
getQuoteToken
private int getQuoteToken(java.lang.String content, int startOffset, int endOffset)
-
getOtherToken
private int getOtherToken(java.lang.String content, int startOffset, int endOffset)
-
fireInsertUpdate
protected void fireInsertUpdate(javax.swing.event.DocumentEvent evt)
- Overrides:
fireInsertUpdatein classjavax.swing.text.AbstractDocument
-
fireRemoveUpdate
protected void fireRemoveUpdate(javax.swing.event.DocumentEvent evt)
- Overrides:
fireRemoveUpdatein classjavax.swing.text.AbstractDocument
-
indexOf
private int indexOf(java.lang.String content, java.lang.String needle, int offset)
-
lastIndexOf
private int lastIndexOf(java.lang.String content, java.lang.String needle, int offset)
-
getLine
private java.lang.String getLine(java.lang.String content, int offset)
-
isDelimiter
protected boolean isDelimiter(java.lang.String character)
-
isQuoteDelimiter
protected boolean isQuoteDelimiter(java.lang.String character)
-
isCharQuoteDelimiter
protected boolean isCharQuoteDelimiter(java.lang.String character)
-
isKeyword
protected boolean isKeyword(java.lang.String token)
-
getStartDelimiter
protected java.lang.String getStartDelimiter()
-
getEndDelimiter
protected java.lang.String getEndDelimiter()
-
getSingleLineDelimiter
protected java.lang.String getSingleLineDelimiter()
-
addMatchingQuotationMark
protected java.lang.String addMatchingQuotationMark() throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
addMatchingBrace
protected java.lang.String addMatchingBrace(int offset) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
addWhiteSpace
protected java.lang.String addWhiteSpace(int offset) throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
addParenthesis
protected java.lang.String addParenthesis() throws javax.swing.text.BadLocationException- Throws:
javax.swing.text.BadLocationException
-
getErrorHandler
public javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> getErrorHandler()
-
setErrorHandler
public void setErrorHandler(javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> errorHandler)
-
processIssues
private void processIssues(javax.tools.DiagnosticCollector<javax.tools.JavaFileObject> errorHandler)
-
isError
private boolean isError(int iPos)
-
isError
private boolean isError(int iPos, int iLength)
-
isWarning
private boolean isWarning(int iPos)
-
isWarning
private boolean isWarning(int iPos, int iLength)
-
findErrorMessage
public java.lang.String findErrorMessage(int iPos)
-
-