Package org.fife.ui.autocomplete
Class CompletionXMLParser
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.fife.ui.autocomplete.CompletionXMLParser
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler
,org.xml.sax.DTDHandler
,org.xml.sax.EntityResolver
,org.xml.sax.ErrorHandler
public class CompletionXMLParser extends org.xml.sax.helpers.DefaultHandler
Parser for an XML file describing a procedural language such as C. XML files will be validated against theCompletionXml.dtd
DTD found in this package.- Version:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ClassLoader
completionCL
The completion provider to use when loading classes, such as customFunctionCompletion
s.private java.util.List<Completion>
completions
The completions found after parsing the XML.private static java.lang.ClassLoader
defaultCompletionClassLoader
The class loader to use to load custom completion classes, such as the one defined byfuncCompletionType
.private java.lang.String
definedIn
private java.lang.StringBuilder
desc
private boolean
doingKeywords
private boolean
endParam
private java.lang.String
funcCompletionType
If specified in the XML, this class will be used instead ofFunctionCompletion
when appropriate.private boolean
gettingDesc
private boolean
gettingParamDesc
private boolean
gettingParams
private boolean
gettingReturnValDesc
private boolean
inCompletionTypes
private boolean
inKeyword
private boolean
inParam
private java.lang.String
name
private java.lang.StringBuilder
paramDesc
private char
paramEndChar
private java.lang.String
paramName
private java.util.List<ParameterizedCompletion.Parameter>
params
private java.lang.String
paramSeparator
private char
paramStartChar
private java.lang.String
paramType
private CompletionProvider
provider
The provider we're getting completions for.private java.lang.String
returnType
private java.lang.StringBuilder
returnValDesc
private java.lang.String
type
-
Constructor Summary
Constructors Constructor Description CompletionXMLParser(CompletionProvider provider)
Constructor.CompletionXMLParser(CompletionProvider provider, java.lang.ClassLoader cl)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] ch, int start, int length)
Called when character data inside an element is found.private FunctionCompletion
createFunctionCompletion()
private MarkupTagCompletion
createMarkupTagCompletion()
private BasicCompletion
createOtherCompletion()
private VariableCompletion
createVariableCompletion()
void
endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
Called when an element is closed.void
error(org.xml.sax.SAXParseException e)
java.util.List<Completion>
getCompletions()
Returns the completions found after parsing the XML.char
getParamEndChar()
Returns the parameter end character specified.java.lang.String
getParamSeparator()
Returns the parameter end string specified.char
getParamStartChar()
Returns the parameter start character specified.private static char
getSingleChar(java.lang.String str)
void
reset(CompletionProvider provider)
Resets this parser to grab more completions.org.xml.sax.InputSource
resolveEntity(java.lang.String publicID, java.lang.String systemID)
static void
setDefaultCompletionClassLoader(java.lang.ClassLoader cl)
Sets the class loader to use when loading custom classes to use for variousCompletion
types, such asFunctionCompletion
s, from XML.void
startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attrs)
Called when an element starts.void
warning(org.xml.sax.SAXParseException e)
-
-
-
Field Detail
-
completions
private java.util.List<Completion> completions
The completions found after parsing the XML.
-
provider
private CompletionProvider provider
The provider we're getting completions for.
-
completionCL
private java.lang.ClassLoader completionCL
The completion provider to use when loading classes, such as customFunctionCompletion
s.
-
name
private java.lang.String name
-
type
private java.lang.String type
-
returnType
private java.lang.String returnType
-
returnValDesc
private java.lang.StringBuilder returnValDesc
-
desc
private java.lang.StringBuilder desc
-
paramName
private java.lang.String paramName
-
paramType
private java.lang.String paramType
-
endParam
private boolean endParam
-
paramDesc
private java.lang.StringBuilder paramDesc
-
params
private java.util.List<ParameterizedCompletion.Parameter> params
-
definedIn
private java.lang.String definedIn
-
doingKeywords
private boolean doingKeywords
-
inKeyword
private boolean inKeyword
-
gettingReturnValDesc
private boolean gettingReturnValDesc
-
gettingDesc
private boolean gettingDesc
-
gettingParams
private boolean gettingParams
-
inParam
private boolean inParam
-
gettingParamDesc
private boolean gettingParamDesc
-
inCompletionTypes
private boolean inCompletionTypes
-
paramStartChar
private char paramStartChar
-
paramEndChar
private char paramEndChar
-
paramSeparator
private java.lang.String paramSeparator
-
funcCompletionType
private java.lang.String funcCompletionType
If specified in the XML, this class will be used instead ofFunctionCompletion
when appropriate. This class should extendFunctionCompletion
, or stuff will break.
-
defaultCompletionClassLoader
private static java.lang.ClassLoader defaultCompletionClassLoader
The class loader to use to load custom completion classes, such as the one defined byfuncCompletionType
. If this isnull
, then a default class loader is used. This field will usually benull
.
-
-
Constructor Detail
-
CompletionXMLParser
public CompletionXMLParser(CompletionProvider provider)
Constructor.- Parameters:
provider
- The provider to get completions for.- See Also:
reset(CompletionProvider)
-
CompletionXMLParser
public CompletionXMLParser(CompletionProvider provider, java.lang.ClassLoader cl)
Constructor.- Parameters:
provider
- The provider to get completions for.cl
- The class loader to use, if necessary, when loading classes from the XML (customFunctionCompletion
s, for example). This may benull
if the default is to be used, or if the XML does not define specific classes for completion types.- See Also:
reset(CompletionProvider)
-
-
Method Detail
-
characters
public void characters(char[] ch, int start, int length)
Called when character data inside an element is found.- Specified by:
characters
in interfaceorg.xml.sax.ContentHandler
- Overrides:
characters
in classorg.xml.sax.helpers.DefaultHandler
-
createFunctionCompletion
private FunctionCompletion createFunctionCompletion()
-
createOtherCompletion
private BasicCompletion createOtherCompletion()
-
createMarkupTagCompletion
private MarkupTagCompletion createMarkupTagCompletion()
-
createVariableCompletion
private VariableCompletion createVariableCompletion()
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
Called when an element is closed.- Specified by:
endElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endElement
in classorg.xml.sax.helpers.DefaultHandler
-
error
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
- Specified by:
error
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
error
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
getCompletions
public java.util.List<Completion> getCompletions()
Returns the completions found after parsing the XML.- Returns:
- The completions.
-
getParamEndChar
public char getParamEndChar()
Returns the parameter end character specified.- Returns:
- The character, or 0 if none was specified.
-
getParamSeparator
public java.lang.String getParamSeparator()
Returns the parameter end string specified.- Returns:
- The string, or
null
if none was specified.
-
getParamStartChar
public char getParamStartChar()
Returns the parameter start character specified.- Returns:
- The character, or 0 if none was specified.
-
getSingleChar
private static char getSingleChar(java.lang.String str)
-
reset
public void reset(CompletionProvider provider)
Resets this parser to grab more completions.- Parameters:
provider
- The new provider to get completions for.
-
resolveEntity
public org.xml.sax.InputSource resolveEntity(java.lang.String publicID, java.lang.String systemID)
- Specified by:
resolveEntity
in interfaceorg.xml.sax.EntityResolver
- Overrides:
resolveEntity
in classorg.xml.sax.helpers.DefaultHandler
-
setDefaultCompletionClassLoader
public static void setDefaultCompletionClassLoader(java.lang.ClassLoader cl)
Sets the class loader to use when loading custom classes to use for variousCompletion
types, such asFunctionCompletion
s, from XML.Users should very rarely have a need to use this method.
- Parameters:
cl
- The class loader to use. If this isnull
, then a default is used.
-
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attrs)
Called when an element starts.- Specified by:
startElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startElement
in classorg.xml.sax.helpers.DefaultHandler
-
warning
public void warning(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
- Specified by:
warning
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
warning
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
-