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.DefaultHandlerParser for an XML file describing a procedural language such as C. XML files will be validated against theCompletionXml.dtdDTD found in this package.- Version:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ClassLoadercompletionCLThe completion provider to use when loading classes, such as customFunctionCompletions.private java.util.List<Completion>completionsThe completions found after parsing the XML.private static java.lang.ClassLoaderdefaultCompletionClassLoaderThe class loader to use to load custom completion classes, such as the one defined byfuncCompletionType.private java.lang.StringdefinedInprivate java.lang.StringBuilderdescprivate booleandoingKeywordsprivate booleanendParamprivate java.lang.StringfuncCompletionTypeIf specified in the XML, this class will be used instead ofFunctionCompletionwhen appropriate.private booleangettingDescprivate booleangettingParamDescprivate booleangettingParamsprivate booleangettingReturnValDescprivate booleaninCompletionTypesprivate booleaninKeywordprivate booleaninParamprivate java.lang.Stringnameprivate java.lang.StringBuilderparamDescprivate charparamEndCharprivate java.lang.StringparamNameprivate java.util.List<ParameterizedCompletion.Parameter>paramsprivate java.lang.StringparamSeparatorprivate charparamStartCharprivate java.lang.StringparamTypeprivate CompletionProviderproviderThe provider we're getting completions for.private java.lang.StringreturnTypeprivate java.lang.StringBuilderreturnValDescprivate java.lang.Stringtype
-
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 voidcharacters(char[] ch, int start, int length)Called when character data inside an element is found.private FunctionCompletioncreateFunctionCompletion()private MarkupTagCompletioncreateMarkupTagCompletion()private BasicCompletioncreateOtherCompletion()private VariableCompletioncreateVariableCompletion()voidendElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)Called when an element is closed.voiderror(org.xml.sax.SAXParseException e)java.util.List<Completion>getCompletions()Returns the completions found after parsing the XML.chargetParamEndChar()Returns the parameter end character specified.java.lang.StringgetParamSeparator()Returns the parameter end string specified.chargetParamStartChar()Returns the parameter start character specified.private static chargetSingleChar(java.lang.String str)voidreset(CompletionProvider provider)Resets this parser to grab more completions.org.xml.sax.InputSourceresolveEntity(java.lang.String publicID, java.lang.String systemID)static voidsetDefaultCompletionClassLoader(java.lang.ClassLoader cl)Sets the class loader to use when loading custom classes to use for variousCompletiontypes, such asFunctionCompletions, from XML.voidstartElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attrs)Called when an element starts.voidwarning(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 customFunctionCompletions.
-
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 ofFunctionCompletionwhen 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 (customFunctionCompletions, for example). This may benullif 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:
charactersin interfaceorg.xml.sax.ContentHandler- Overrides:
charactersin 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:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler
-
error
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException- Specified by:
errorin interfaceorg.xml.sax.ErrorHandler- Overrides:
errorin 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
nullif 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:
resolveEntityin interfaceorg.xml.sax.EntityResolver- Overrides:
resolveEntityin 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 variousCompletiontypes, such asFunctionCompletions, 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:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin classorg.xml.sax.helpers.DefaultHandler
-
warning
public void warning(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException- Specified by:
warningin interfaceorg.xml.sax.ErrorHandler- Overrides:
warningin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
-