
Public Types | |
| enum | ParserTypes { DOM, VTD } |
Static Public Member Functions | |
| static ACSLogParser | getParser () throws Exception |
| static ACSLogParser | getParser (ParserTypes parserType) throws Exception |
| static ParserTypes | getParserType (ACSLogParser parserToCheck) throws Exception |
| static ParserTypes | getParserType () throws Exception |
Static Private Attributes | |
| static ACSLogParser | parser = null |
| static boolean | usingVTD = true |
A factory to build parsers.
The purpose of this object is to hide the type of parser really used at run time.
The object could instantiate a new parser or use only one instance, a singleton.
There are 2 parsers available: DOM and VTD. VTD is ACS/LGPL/Tools and installed by ACS. It is licensed under GPL and available at http://vtd-xml.sourceforge.net/ VTD claims to be very fast (and effectively it performs better then DOM) so the factory tries to instantiate a VTD parser if it is present.
Having this factory allows to transparently use a different implementation at run-time depending on the real availability of the parsers.
| static ACSLogParser alma::acs::logging::engine::parser::ACSLogParserFactory::getParser | ( | ParserTypes | parserType | ) | throws Exception [inline, static] |
Get a parser of the given type.
This method allows to get a parser of a specific type and is thought for testing purposes.
If the type of the requested parser is not the type of the parser in use then a new parser is instantiated and returned but the parser in use remains untouched.
| parserType | The type of the parser to instantiate. It can't be null. |
| <{@link | Exception} in case of error instantiating the parser. |
References parser.
| static ACSLogParser alma::acs::logging::engine::parser::ACSLogParserFactory::getParser | ( | ) | throws Exception [inline, static] |
Get a parser.
The ACSLogParser returned by this method can be a new instance or not, depending on the implementation.
| <code>Exception</code> | in case of error building the parser |
| static ParserTypes alma::acs::logging::engine::parser::ACSLogParserFactory::getParserType | ( | ) | throws Exception [inline, static] |
Return the type of the parser in use.
null if no parser is still in use i.e. getParser() has not been executed yet. | <code>Exception</code> | if the type of the parser is not recognized/supported. |
References parser.
| static ParserTypes alma::acs::logging::engine::parser::ACSLogParserFactory::getParserType | ( | ACSLogParser | parserToCheck | ) | throws Exception [inline, static] |
Return the type of the passed parser.
| parser | The parser whose type has to be checked. It can't be null. |
| <code>Exception</code> | if the type of the parser is not recognized/supported. |
ACSLogParser alma::acs::logging::engine::parser::ACSLogParserFactory::parser = null [static, private] |
The parser is a singleton built at the first invocation of getParser().
Calls to getParser(ParserType...) do not change the value of this property.
Referenced by getParser(), and getParserType().
boolean alma::acs::logging::engine::parser::ACSLogParserFactory::usingVTD = true [static, private] |
This property is used to check if VTD is installed to avoid trying to instantiate if the library is missing
It is initially set to true to try to instantiate VTD the first time getParser() is called
Referenced by getParser().
1.6.2