Here are my current Java API annotations, both in XML form:
and in a more human-readable form after being processed by the XMLAnnotToText
tool:
class javax.swing.plaf.TextUI { @OnlyRunBy(@ThreadDesc(eventthread="true")) java.awt.Rectangle modelToView(javax.swing.text.JTextComponent a, int b); @OnlyRunBy(@ThreadDesc(eventthread="true")) java.awt.Rectangle modelToView(javax.swing.text.JTextComponent a, int b, javax.swing.text.Position$Bias c); } class javax.swing.text.DefaultCaret { @OnlyRunBy(@ThreadDesc(eventthread="true")) void repaintNewCaret(); @OnlyRunBy(@ThreadDesc(eventthread=".*")) void repaint(); } class javax.swing.text.JTextComponent { @OnlyRunBy(@ThreadDesc(name=".*")) void replaceSelection(java.lang.String a); @OnlyRunBy(@ThreadDesc(name=".*")) void setText(java.lang.String a); } class javax.swing.text.Document { @OnlyRunBy(@ThreadDesc(name=".*")) void render(java.lang.Runnable a); } class javax.swing.text.PlainDocument { @OnlyRunBy(@ThreadDesc(name=".*")) void insertString(int a, java.lang.String b, javax.swing.text.AttributeSet c); } class javax.swing.text.DefaultStyledDocument { @OnlyRunBy(@ThreadDesc(name=".*")) void insert(int a, javax.swing.text.DefaultStyledDocument$ElementSpec[] b); @OnlyRunBy(@ThreadDesc(name=".*")) void setLogicalStyle(int a, javax.swing.text.Style b); @OnlyRunBy(@ThreadDesc(name=".*")) void setCharacterAttributes(int a, int b, javax.swing.text.AttributeSet c, boolean d); @OnlyRunBy(@ThreadDesc(name=".*")) void setParagraphAttributes(int a, int b, javax.swing.text.AttributeSet c, boolean d); } class javax.swing.text.StyleContext { @OnlyRunBy(@ThreadDesc(name=".*")) javax.swing.text.AttributeSet addAttribute(javax.swing.text.AttributeSet a, java.lang.Object b, java.langObject c); @OnlyRunBy(@ThreadDesc(name=".*")) javax.swing.text.AttributeSet addAttributes(javax.swing.text.AttributeSet a, javax.swing.text.AttributeSet b); @OnlyRunBy(@ThreadDesc(name=".*")) javax.swing.text.AttributeSet removeAttribute(javax.swing.text.AttributeSet a, java.lang.Object b); @OnlyRunBy(@ThreadDesc(name=".*")) javax.swing.text.AttributeSet removeAttributes(javax.swing.text.AttributeSet a, java.util.Enumeration b); @OnlyRunBy(@ThreadDesc(name=".*")) javax.swing.text.AttributeSet removeAttributes(javax.swing.text.AttributeSet a, javax.swing.text.AttributeSet b); @OnlyRunBy(@ThreadDesc(name=".*")) void reclaim(javax.swing.text.AttributeSet a); } class javax.swing.text.html.HTMLEditorKit$Parser { @OnlyRunBy(@ThreadDesc(name=".*")) void parse(java.io.Reader a, javax.swing.text.html.HTMLEditorKit$ ParserCallback b, boolean c); } class javax.swing.undo.UndoManager { @OnlyRunBy(@ThreadDesc(name=".*")) boolean addEdit(javax.swing.undo.UndoableEdit a); @OnlyRunBy(@ThreadDesc(name=".*")) boolean canRedo(); @OnlyRunBy(@ThreadDesc(name=".*")) boolean canUndo(); @OnlyRunBy(@ThreadDesc(name=".*")) boolean canUndoOrRedo(); @OnlyRunBy(@ThreadDesc(name=".*")) void discardAllEdits(); @OnlyRunBy(@ThreadDesc(name=".*")) void end(); @OnlyRunBy(@ThreadDesc(name=".*")) int getLimit(); @OnlyRunBy(@ThreadDesc(name=".*")) java.lang.String getRedoPresentationName(); @OnlyRunBy(@ThreadDesc(name=".*")) java.lang.String getUndoPresentationName(); @OnlyRunBy(@ThreadDesc(name=".*")) java.lang.String getUndoOrRedoPresentationName(); @OnlyRunBy(@ThreadDesc(name=".*")) void redo(); @OnlyRunBy(@ThreadDesc(name=".*")) void setLimit(int a); @OnlyRunBy(@ThreadDesc(name=".*")) void undo(); @OnlyRunBy(@ThreadDesc(name=".*")) void undoOrRedo(); } class javax.swing.JComponent { @OnlyRunBy(@ThreadDesc(name=".*")) void revalidate(); } class javax.swing.JTextArea { @OnlyRunBy(@ThreadDesc(name=".*")) void append(java.lang.String a); @OnlyRunBy(@ThreadDesc(name=".*")) void insert(java.lang.String a, int b); @OnlyRunBy(@ThreadDesc(name=".*")) void replaceRange(java.lang.String a, int b, int c); } class javax.swing.JTextPane { @OnlyRunBy(@ThreadDesc(name=".*")) void insertComponent(java.awt.Component a); @OnlyRunBy(@ThreadDesc(name=".*")) void insertIcon(javax.swing.Icon a); @OnlyRunBy(@ThreadDesc(name=".*")) void setLogicalStyle(javax.swing.text.Style a); @OnlyRunBy(@ThreadDesc(name=".*")) void setCharacterAttributes(javax.swing.text.AttributeSet a, boolean b); @OnlyRunBy(@ThreadDesc(name=".*")) void setParagraphAttributes(javax.swing.text.AttributeSet a, boolean b); } class java.awt.Component { @OnlyRunBy(@ThreadDesc(name=".*")) void repaint(); @OnlyRunBy(@ThreadDesc(name=".*")) void invalidate(); }